При администрировании баз 1С часто возникает задача обновить конфигурацию. Для этого необходимо завершить сеансы всех пользователей и войти в программу в монопольном режиме. Стандартный способ — установить блокировку сеансов и зайти под администратором с использованием специального кода разрешения. Однако при попытке запуска 1С с определенной комбинацией параметров командной строки система может вести себя некорректно: запрашивать пароль, начинать загрузку и сразу же аварийно завершать работу. Рассмотрим, почему это происходит и как правильно выполнять вход для обновления.
Проблема, описанная в теме, возникает из-за одновременного использования двух логически противоречивых параметров в одной строке запуска: /UC и /CРазрешитьРаботуПользователей. Давайте проанализируем назначение каждого из них.
/UC <код разрешения> — это ключ, который позволяет администратору войти в информационную базу, в которой уже установлена блокировка сеансов. По сути, это "спецпропуск" для обхода штатной блокировки с целью выполнения служебных операций, таких как обновление или резервное копирование./CРазрешитьРаботуПользователей — этот параметр является командой для платформы снять ранее установленную блокировку сеансов для всех пользователей. Он не предназначен для входа, а для изменения состояния блокировки.Когда мы передаем оба этих параметра одновременно, мы даем системе две взаимоисключающие команды:
/UC)./CРазрешитьРаботуПользователей).Такой конфликт инструкций приводит к неопределенному поведению платформы 1С, что в большинстве случаев и выражается в аварийном завершении сеанса сразу после аутентификации. Ключевой вывод: эти два параметра нельзя использовать вместе в одной команде для входа в базу.
Чтобы корректно зайти в базу для обновления, необходимо разделить процесс на несколько шагов. Рассмотрим пошаговую инструкцию.
Установка блокировки сеансов. Перед тем как обновлять конфигурацию, необходимо установить блокировку. Это можно сделать из режима "Предприятие" (например, в разделе "Администрирование" -> "Обслуживание" -> "Блокировка работы пользователей") или через консоль администрирования кластера серверов 1С. При установке блокировки обязательно задайте "Код для разблокировки" — это и есть тот самый код, который будет использоваться с ключом /UC.
Вход для администратора с кодом разрешения. После того как блокировка установлена и сеансы пользователей завершены, администратор может войти в базу. Для этого в командной строке нужно использовать только ключ /UC, указав ранее заданный код. Параметр /CРазрешитьРаботуПользователей здесь не нужен.
Посмотрим на пример правильной строки запуска:
"%ProgramFiles%\1cv8\common\1cestart.exe" ENTERPRISE /S "192.168.111.179\BUH83_t" /N"Пользователь" /P"Пароль" /UC"123456"
Где:
ENTERPRISE — режим запуска "1С:Предприятие"./S "192.168.111.179\BUH83_t" — адрес сервера и имя информационной базы./N"Пользователь" — имя пользователя с административными правами./P"Пароль" — его пароль./UC"123456" — код разрешения для входа в заблокированную базу.Выполнение обновления. После успешного входа вы получите монопольный доступ к базе и сможете выполнить все необходимые действия по обновлению конфигурации через конфигуратор. При обслуживании большого количества систем эти операции удобнее выполнять в фоновом режиме, используя программу для автоматического обновления и тестирования баз 1С без участия пользователя.
Снятие блокировки. Когда все работы завершены, не забудьте снять блокировку, чтобы другие пользователи снова могли работать. Это можно сделать вручную из интерфейса программы или с помощью того самого ключа /CРазрешитьРаботуПользователей, но уже в отдельной команде.
Пример команды для снятия блокировки:
"%ProgramFiles%\1cv8\common\1cestart.exe" ENTERPRISE /S "192.168.111.179\BUH83_t" /N"Пользователь" /P"Пароль" /CРазрешитьРаботуПользователей
При работе с параметрами командной строки можно столкнуться с несколькими типичными проблемами. Обратим внимание на некоторые из них.
/UC может быть случайно набран как /ЦС. Внимательно проверяйте, что все ключи (/S, /N, /P, /C, /UC) введены в латинской раскладке./S "192.168.111.179:1545\BUH83_t"./S"192.168.111.179\ BUH83_t" есть лишний пробел после слеша, что может привести к ошибке. Имена пользователей, пароли или пути, содержащие пробелы, обязательно заключайте в кавычки.Важно отметить, что вход в режиме ENTERPRISE с ключом /UC позволяет выполнить обновление вручную, то есть запустив его из конфигуратора. Если ваша цель — полная автоматизация процесса обновления с помощью пакетного файла (bat/cmd), то потребуется использовать режим запуска конфигуратора (DESIGNER или CONFIG) и специальные ключи для обновления. Для автоматизации этого процесса можно использовать скрипт PowerShell для обновления конфигурации и архивации файлов.
Примерный сценарий для автоматического обновления мог бы выглядеть так:
1cv8.exe DESIGNER /S"server\base" /N"Администратор" /P"Пароль" /UC"КодРазрешения" /UpdateDBCfg -force /Out"update.log"
Здесь ключ /UpdateDBCfg дает команду на обновление конфигурации базы данных, а /Out позволяет записать лог выполнения операции в файл. Такой подход используется в более сложных сценариях администрирования.