Код разрешения запуска 1С: где взять и что делать — АйТи Фреш
АйТи Фреш
1С и базы данных

Код разрешения запуска 1С: что это такое, где его взять и что делать, если он не подходит

Автор: , директор ООО «АйТи-Фреш» · · ~14 мин чтения
Замок на шкафу сервера с бирками и ключ в руке администратора: код разрешения запуска 1С
Код разрешения нужен, чтобы войти в закрытую базу, а не открыть её для всех.

Код разрешения запуска 1С — это строка, которую администратор сам задал при блокировке работы пользователей. Она нужна, чтобы войти в заблокированную базу с параметром /UC, не снимая блокировку для всех. Ниже: где искать код, как с ним войти, что делать, если он потерян, и как не терять его впредь.

Что такое код разрешения запуска 1С и при чём тут блокировка

Меня просят «дать код разрешения запуска» примерно раз в квартал, и почти всегда утром: бухгалтерия не может открыть базу, на экране написано, что начало сеанса с информационной базой запрещено. Сразу скажу главное. Это не лицензионный код, не пин-код от ключа и не пароль пользователя. Код разрешения — произвольная строка, которую администратор вписал сам, когда включал блокировку работы пользователей. Если вы обслуживаете серверы 1С своими силами или через подрядчика, этот код должен лежать там же, где лежит остальная эксплуатационная документация.

Механизм устроен просто. В типовых конфигурациях есть раздел «Администрирование — Поддержка и обслуживание», а в нём — «Блокировка работы пользователей». Там задают сообщение для пользователей, дату и время начала блокировки, дату и время окончания и тот самый код для разблокировки. Окончание можно не заполнять, и тогда база остаётся закрытой, пока администратор не снимет блокировку руками. Во время блокировки новое подключение разрешено только тому, кто передал код в параметре запуска /UC или в параметре UC строки соединения. Так написано в справке самой 1С, и я опираюсь именно на неё, а не на пересказы.

Зачем это нужно, если можно просто выгнать всех и работать? Затем, что администратору в окно обслуживания надо самому заходить в базу: проверить результат обновления, запустить тяжёлую обработку, выгрузить данные. Блокировка не пускает остальных, а код пускает вас. Без кода вам пришлось бы снимать блокировку целиком и рисковать тем, что пользователи вернутся в базу посреди обновления.

Если же в тексте ошибки у вас речь про лицензию, ключ защиты или нехватку клиентских лицензий, вам нужен другой материал: я разбирал это отдельно в статье про ключи и пин-коды. Здесь мы говорим только про блокировку и код, который её обходит. И ещё одно предупреждение: код — это не защита. Он лежит в ярлыке или скрипте как есть, и любой, кто видит ярлык, видит код. Права в базе он не даёт, он лишь разрешает начать сеанс.

Где взять код разрешения запуска, если вы его не помните

Обычному пользователю закрытая база код не покажет. Но если база клиент-серверная, у администратора кластера код есть всегда. В этом режиме блокировка из программы ставится через администрирование кластера (поэтому типовая обработка и спрашивает имя и пароль администратора кластера), а сам код хранится в свойствах информационной базы. Откройте консоль администрирования серверов 1С, свойства нужной базы: там стоит флажок «Блокировка начала сеансов включена», а рядом поле «Код разрешения». Из командной строки то же самое показывает rac infobase info, поле permission-code, но для этого нужны учётные данные администратора кластера и базы. С файловой базой так не получится, и там код придумывает человек, поэтому искать его надо там, где человек его вводил или использовал. По моей практике, в девяти случаях из десяти код находится в одном из пяти мест, и я проверяю их именно в таком порядке.

Первое — открытый сеанс администратора. Если кто-то из администраторов вошёл в базу до начала блокировки и не закрыл программу, настройки блокировки доступны из его сеанса в том же разделе «Администрирование — Поддержка и обслуживание». По справке 1С, в момент блокировки администратору даже предлагают выбрать, завершать ли его собственный сеанс, и если ответить «Нет», он остаётся в программе. Из такого сеанса блокировку можно снять через меню, и код вообще не понадобится.

Второе — скрипты и планировщик. Блокировку часто ставят не руками, а из командной строки: для этого у 1С есть команда ЗавершитьРаботуПользователей со свойствами ИмяАдминистратора и ПарольАдминистратора (это администратор кластера серверов, а не пользователь базы), Сообщение, КодРазрешения, ОжиданиеМин и ДлительностьМин. Значит, код надо искать в файлах .cmd, .bat и .ps1 на сервере, в заданиях планировщика Windows и в скриптах резервного копирования или обновления. Ищите по слову КодРазрешения и по ключу /UC.

Остальные места перечислены ниже по убыванию вероятности.

В интернете советуют пробовать значение «КодРазрешения» как якобы код по умолчанию. В документации 1С я такого значения по умолчанию не нашёл, так что рассчитывать на него нельзя. Подбирать код вслепую не стоит: потеряете время, а найти его в скриптах быстрее.
Код разрешения запуска 1С: что это такое, где его взять и что делать, если он не подходит — схема
Схема к статье. Открыть схему в полном размере

Как запустить 1С с кодом: параметры /UC и /C РазрешитьРаботуПользователей

Есть два режима, и путают их постоянно. Первый — снять блокировку для всех. Для этого в строке запуска задают команду РазрешитьРаботуПользователей через параметр /C и передают код через /UC. Справка 1С прямо предупреждает, что этот режим рассчитан на пакетное использование: клиент после запуска сразу закрывается. Если у вас окно мигнуло и пропало, это не сбой, а штатное поведение. Пример для файловой базы (путь к платформе и версию подставьте свои):

& "C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /F"D:\bases\remeshok" /N Администратор /P ПарольАдмина /C РазрешитьРаботуПользователей /UC КодИзБлокировки

Второй режим — войти самому, не снимая блокировку. Для этого параметр /C убирают, оставляют только /UC. Вы попадаете в базу, делаете запланированную работу, а потом снимаете блокировку из того же меню «Администрирование — Поддержка и обслуживание». Именно этот режим я выбираю почти всегда: он позволяет проверить базу до того, как её увидят пользователи.

& "C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /F"D:\bases\remeshok" /N Администратор /P ПарольАдмина /UC КодИзБлокировки

Для клиент-серверной базы вместо /F указывают /S и пару «сервер\имя базы». Синтаксис подключения проверьте в справке под вашу версию платформы. Таблица ниже собирает параметры, которые встречаются в этих строках. | Параметр | Что делает | Режим | |---|---|---| | /F | путь к файловой базе | файловая | | /S | сервер и имя базы | клиент-серверная | | /N и /P | имя и пароль пользователя | оба | | /C РазрешитьРаботуПользователей | снимает блокировку, клиент закрывается | оба | | /UC код | разрешает начать сеанс во время блокировки | оба | Если подключение идёт не из клиента, а программно, код передают параметром UC строки соединения, об этом тоже сказано в справке.

Практический совет: сделайте для администратора отдельный ярлык с /UC и не трогайте обычные ярлыки пользователей. Если вписать /C РазрешитьРаботуПользователей в рабочий ярлык, после успешной разблокировки он будет каждый раз закрываться, и пользователи решат, что 1С сломалась. Пароль администратора в ярлыке я тоже не держу: вводите его вручную или берите из парольника.

Код не подходит или забыт: что проверить по порядку

Первый вопрос, который я задаю: точно ли это блокировка работы пользователей? Ошибка «Начало сеанса с информационной базой запрещено» бывает и по другим причинам, например из-за незавершённого обновления конфигурации или из-за блокировки, которую позже переставили скриптом или в консоли кластера уже с другим кодом. Код, который вы помните, к такой ситуации может не подойти. Поэтому действую по списку ниже, от дешёвых проверок к дорогим.

Отдельно про консоль кластера. Если база клиент-серверная, блокировка из меню программы и запрет начала сеансов в консоли администрирования серверов — это одна и та же блокировка, просто поставленная разными инструментами. Поэтому администратор кластера видит в свойствах базы и сам код, и период блокировки, а снять её может флажком «Блокировка начала сеансов включена», и код ему для этого не нужен. Сверьте код в консоли с тем, что вы вводите: если они не совпадают, значит, вы ищете не ту строку. На форумах встречаются жалобы, что с кодом запустился толстый клиент, а тонкий всё ещё получает отказ, поэтому всегда пробуйте оба. Как управлять кластером из командной строки, я описывал в статье про утилиту rac и управление кластером.

Чего я делать не советую, хотя в сети это советуют на каждом углу. Не удаляйте служебные файлы базы в надежде снять блокировку: для файловой базы такие советы есть, но последствия для целостности никто в документации не описывает. Не восстанавливайте базу из резервной копии просто потому, что код потерян: вы потеряете все документы за день. Восстановление нужно, когда база действительно повреждена, а не когда вы не можете войти. Если ничего не помогло, зовите того, у кого есть права администратора кластера и доступ к серверу, и сначала снимите копию базы.

Памятка: Код не подходит или забыт: что проверить по порядку — схема
Памятка: Код не подходит или забыт: что проверить по порядку. Открыть схему в полном размере

Кейс: блокировка без даты окончания и забытый код

Разберу историю из практики. Сумочное производство «Ремешок и пряжка», 24 рабочих места, из них 17 человек работают в 1С: склад кожи и фурнитуры, закупки, бухгалтерия. База клиент-серверная, обновления конфигурации ставил сторонний специалист два года назад скриптом, который запускался по ночам из планировщика. Скрипт в 22:00 включал блокировку с кодом и просил пользователей выйти, затем делал копию и обновлял конфигурацию, а в конце должен был блокировку снять.

В ту ночь шаг копирования упал: не хватило места на диске. Скрипт остановился, блокировка осталась, а поле окончания, как я потом выяснил, в скрипте не задавалось. В 8:30 сотрудники не смогли войти. Код разрешения знал только тот, кто писал скрипт, а он давно ушёл. Мне позвонили в 8:42. Самый быстрый путь для серверной базы — посмотреть код в свойствах базы в консоли кластера, но кластер был закрыт паролем администратора, который тоже знал только ушедший подрядчик. Я не стал гадать и не стал ничего удалять, а открыл планировщик заданий на сервере и нашёл .cmd-файл, в котором рядом с командой ЗавершитьРаботуПользователей стояли значение КодРазрешения и учётные данные администратора кластера. Это заняло минут двадцать, в 9:05 код был у меня, а заодно и доступ к консоли, где я сверил код в свойствах базы.

Дальше я зашёл в базу в режиме с /UC, без /C, как описано выше. Освободил место на диске, проверил, что конфигурация цела и документы за вчера на месте, и в 9:18 снял блокировку через меню. Итого простой составил около 50 минут, а потеряно было примерно 14 человеко-часов (17 человек по 48 минут). Могло быть хуже: если бы кто-то начал «лечить» базу удалением файлов или откатом из копии, потеряли бы весь день.

Что мы изменили после этого. Код теперь хранится в парольнике рядом с паролем администратора базы, туда же легли учётные данные администратора кластера, а в скрипте их сменили. В скрипте блокировка ставится с обязательным окончанием, чтобы она не висела вечно, а при ошибке скрипт сам пишет письмо дежурному. Перед ночным обновлением добавили проверку свободного места. Через две недели мы повторили сценарий на тестовой копии: сознательно сорвали копирование и проверили, что блокировка не остаётся без владельца.

Как не потерять код: регламент на пять строк

Я не люблю толстые регламенты, поэтому у меня их пять строк. Первое: код хранится в парольнике, а не в голове и не в ярлыке на рабочем столе. Как организовать такое хранилище для небольшой компании, я рассказывал в статье про корпоративный менеджер паролей. Второе: код осмысленный и свой для каждой базы, не «123» и не имя компании.

Третье: у блокировки всегда есть окончание. Справка 1С допускает пустое окончание, но на моей практике пустое поле почти всегда означает аварию, когда что-то пошло не так, а снять некому. Четвёртое: на время обслуживания включаю блокировку регламентных заданий. В справке 1С это рекомендуется в большинстве случаев, а для клиент-серверного режима может понадобиться указать параметры подключения к кластеру в настройках администрирования. Пятое: после любого ночного обновления утром проверяю статус блокировки. Если блокировка включена, страница обслуживания показывает это красным.

Это встраивается в общий порядок обновления: за основу берите схему из материала про обновление 1С без простоя. И помните, что любая блокировка, даже с кодом, не заменяет резервную копию. Если вы ещё не проверяли, что копии баз реально восстанавливаются, начните с этого, а потом возвращайтесь к кодам и ярлыкам.

Не меняйте синтаксис по памяти. Названия команд и параметров запуска проверяйте в справке под вашу версию платформы: описание параметров запуска у 1С ведётся по версиям.
Обратите внимание: Как не потерять код: регламент на пять строк — схема
Обратите внимание: Как не потерять код: регламент на пять строк. Открыть схему в полном размере

Частые вопросы

Код разрешения запуска 1С — это то же самое, что пин-код от лицензии?

Нет. Пин-код относится к лицензии и активации, а код разрешения — это произвольная строка, которую администратор задаёт при блокировке работы пользователей и затем передаёт в параметре запуска /UC.

Где в 1С задаётся код разрешения?

В разделе «Администрирование — Поддержка и обслуживание», пункт «Блокировка работы пользователей». Там задают сообщение, срок блокировки и код для разблокировки. Название раздела может отличаться в вашей конфигурации.

Как войти в заблокированную базу, не снимая блокировку?

Запустите клиент с параметром /UC и вашим кодом, без параметра /C. Выполните нужную работу и снимите блокировку из меню обслуживания. Параметры /N и /P нужны, если требуется логин и пароль.

Почему окно 1С открывается и сразу закрывается?

Если в строку запуска добавлено /C РазрешитьРаботуПользователей, клиент снимает блокировку и закрывается. Для работы запускайте базу без параметра /C.

Что делать, если код потерян, а блокировка стоит?

Если база клиент-серверная, администратор кластера увидит код в свойствах базы в консоли (поле «Код разрешения») или просто снимет блокировку флажком. Для файловой базы ищите код в скриптах, планировщике, ярлыках и парольнике. Служебные файлы базы не удаляйте.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

Источники

© ООО «АйТи-Фреш» · Москва · Все статьи