Ключ ENTERPRISE и параметры 1cv8.exe: от ярлыка до пакетного режима
Содержание
Чтобы открыть базу
в режиме 1С:Предприятие из командной строки, вызовите 1cv8.exe ENTERPRISE и добавьте путь к базе и пользователя: "C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Иванов" /P"123". Окно выбора базы и окно авторизации при этом не появляются — программа сразу открывает нужную базу под нужным пользователем.
Такая строка работает в ярлыке, в bat-файле и в планировщике заданий Windows. Через неё же передают параметры конфигурации (/C), запускают внешнюю обработку
(/Execute), включают отладку и входят в заблокированную базу.
Синтаксис строки запуска и основные ключи
Строка состоит из трёх частей: исполняемый файл, режим запуска и параметры.
- Исполняемый файл. Толстый клиент —
1cv8.exe, тонкий —1cv8c.exe. Оба лежат в каталогеbinконкретной версии платформы. Есть ещё1cestart.exeиз каталогаcommon: он сам подбирает версию платформы по списку баз. - Режим.
ENTERPRISE— пользовательский режим,DESIGNER— Конфигуратор,CREATEINFOBASE— создание базы. Регистр не важен. У1cv8c.exeрежим один, ключENTERPRISEему не нужен. - Параметры. Начинаются с косой черты. Значение пишется слитно с ключом или через пробел; если в значении есть пробелы — в двойных кавычках.
Если ключ режима не указать, 1cv8.exe откроет окно выбора режима и базы. Для ярлыков и скриптов режим всегда пишите явно.
Ключи, которые нужны почти в каждой строке
| Ключ | Что делает | Пример |
|---|---|---|
/F | путь к файловой базе (каталог с 1Cv8.1CD) | /F"D:\Bases\Buh" |
/S | адрес серверной базы: сервер\имя базы | /S"srv1c\buh" |
/WS | база, опубликованная на веб-сервере | /WS"http://web/buh" |
/IBName | имя базы из списка баз пользователя | /IBName"Бухгалтерия" |
/N | имя пользователя 1С | /N"Иванов" |
/P | пароль | /P"Qw12!" |
/WA- / /WA+ | запрет / разрешение входа по учётной записи Windows | /WA- |
/C | строка параметров для конфигурации | /C"ЗагрузкаКурсов" |
/Execute | открыть внешнюю обработку после старта | /Execute"D:\Tools\Load.epf" |
/UC | код доступа в заблокированную базу | /UC"9999" |
/ClearCache | очистить кэш клиента перед запуском | /ClearCache |
/L | язык интерфейса | /L ru |
Ключи режима интерфейса
- 🖥
/RunModeOrdinaryApplication— обычное приложение в толстом клиенте. Нужен для старых конфигураций на обычных формах. - 🪟
/RunModeManagedApplication— управляемое приложение в толстом клиенте. - 🔎
/DisplayAllFunctions— включает пункт «Все функции» в главном меню без захода в настройки. - 🔇
/DisableStartupMessagesи/DisableStartupDialogs— подавляют стартовые сообщения и диалоги. Без них пакетный запуск может зависнуть на окне, которое никто не нажмёт.
Если у пользователя включён вход по учётной записи Windows, а в строке указан /N, сначала будет попытка входа через Windows. Чтобы войти именно под указанным именем, добавьте /WA-.
Серверная база: как запустить 1С Предприятие с ключами в клиент-серверном варианте
Для базы на сервере 1С вместо /F используют /S. Формат: /S"<сервер>\<имя базы в кластере>".
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Иванов" /P"Qw12!" /WA-
Имя базы — это имя информационной базы в кластере, а не имя базы данных в SQL. Они часто совпадают, но не обязаны. Точное имя видно в консоли администрирования серверов 1С, в списке «Информационные базы» кластера.
Нестандартные порты
Клиент обращается к агенту сервера (по умолчанию порт 1540), а затем к менеджеру кластера (1541) и рабочим процессам. Если кластер работает на нестандартном порту, его указывают через двоеточие:
1cv8.exe ENTERPRISE /S"srv1c:2541\buh" /N"Иванов" /P"Qw12!"
Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера. Эти порты тоже должны быть открыты в брандмауэре между клиентом и сервером, иначе подключение обрывается после успешного обращения к агенту.
Версия клиента и сервера
Клиент и сервер должны быть одной версии платформы — с точностью до четвёртой цифры номера. Если на компьютере несколько версий, указывайте полный путь к 1cv8.exe нужной версии. Либо запускайте через 1cestart.exe и задайте версию в свойствах базы в списке.
Для тонкого клиента тот же адрес: 1cv8c.exe /S"srv1c\buh" /N"Иванов" /P"Qw12!". Для автоматизации чаще берут тонкий клиент — он легче и быстрее стартует.
Пакетный режим и автоматизация запуска 1С:Предприятия
Запуск с параметрами нужен прежде всего для действий без участия человека: ночная загрузка курсов, обмен с сайтом, выгрузка отчётов, массовое закрытие сеансов перед обновлением.
Передача команды через /C
Строка из /C попадает в глобальное свойство ПараметрЗапуска. Конфигурация читает его при старте и решает, что делать. В своей доработке это выглядит так:
// Модуль управляемого приложения
Процедура ПриНачалеРаботыСистемы()
Если СтрНайти(ПараметрЗапуска, "НочнаяЗагрузка") > 0 Тогда
ВыполнитьНочнуюЗагрузку(); // ваша процедура
ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;
КонецПроцедуры
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) уже есть встроенные команды для /C:
- 🔒
ЗавершитьРаботуПользователей— устанавливает блокировку и завершает сеансы; - 🔓
РазрешитьРаботуПользователей— снимает блокировку; - ⚙️
ЗапуститьОбновлениеИнформационнойБазы— запускает обработчики обновления после смены релиза.
Команды блокировки работают в паре с кодом /UC: тот же код, что задан при блокировке, позволяет администратору войти, пока остальным вход закрыт.
1cv8.exe ENTERPRISE /S"srv1c\buh" /N"Админ" /P"Qw12!" /WA- /C"ЗавершитьРаботуПользователей" /UC"7731" /DisableStartupMessages
Команда ЗавершитьРаботуПользователей обрывает работу всех, кто сейчас в базе. Несохранённые документы будут потеряны. Запускайте её вне рабочего времени или после предупреждения пользователей.
Запуск внешней обработки через /Execute
/Execute"D:\Tools\Load.epf" открывает обработку сразу после старта. Код загрузки кладут в обработчик открытия основной формы обработки, а в конце вызывают ЗавершитьРаботуСистемы(Ложь) — иначе окно 1С останется висеть.
Если у пользователя включена защита от опасных действий, перед открытием внешней обработки появится предупреждение. В пакетном режиме его некому подтвердить. Для служебного пользователя этот флаг снимают в его карточке в списке пользователей.
bat-файл и кириллица
Типовой скрипт для планировщика:
@echo off
chcp 65001 > nul
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
%V8% ENTERPRISE /F"D:\Bases\Buh" /N"Обмен" /P"Qw12!" /WA- /C"НочнаяЗагрузка" /DisableStartupMessages /DisableStartupDialogs
exit /b %ERRORLEVEL%
- 🔤 Строка
chcp 65001нужна, если файл сохранён в UTF-8, а в нём есть русское имя пользователя. Без неё консоль прочитает имя в кодировке 866, и вход не выполнится. Второй вариант — сохранить сам bat в кодировке OEM 866. - ⏳
1cv8.exe, запущенный из bat, отдаёт управление не сразу — скрипт ждёт завершения сеанса. Если нужно запустить и не ждать, используйтеstart "" %V8% .... - 🗓 В планировщике Windows задание ставят от служебной учётной записи. Окно 1С при этом не видно, поэтому любой не подавленный диалог «подвешивает» процесс. Задайте в задании ограничение по времени выполнения.
Регламентные задания в файловой базе
В файловом варианте регламентные задания выполняются внутри клиентского сеанса. Ключ /AllowExecuteScheduledJobs -Force заставляет конкретный сеанс их выполнять, -Off — запрещает. Удобно держать на отдельном компьютере постоянно открытый сеанс с -Force, а остальным пользователям ставить -Off, чтобы задания не тормозили работу.
Отладка и диагностика при запуске с параметрами
Когда строка «не срабатывает», сначала проверьте её вручную. Скопируйте команду в cmd.exe и запустите без /DisableStartupDialogs — так вы увидите текст ошибки, а не молча завершившийся процесс.
Включение отладки
- 🐞
/Debug— сеанс запускается с разрешённой отладкой, к нему можно подключиться из Конфигуратора. - 🌐
/Debug -http /DebuggerURL"http://localhost:1550"— отладка по протоколу HTTP через сервер отладки. Порт 1550 используется по умолчанию; если сервер отладки поднят на другом — указывайте его.
Для отладки кода, который выполняется на сервере 1С, отладка должна быть включена и на сервере: служба агента запускается с ключом -debug.
Чтобы добавить ключ -debug, службу агента сервера 1С перезапускают. При перезапуске службы обрываются все сеансы всех баз кластера. Делайте это только в согласованное окно и не держите отладку включённой на рабочем сервере постоянно.
Где смотреть, что произошло
- Журнал регистрации базы. В Бухгалтерии 3.0 и ЗУП 3.1 —
Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте по пользователю из строки запуска и по времени — увидите вход, ошибки и выход. - Файл служебных сообщений. Ключ
/Out"D:\Logs\start.log"пишет в файл служебные сообщения запуска. Добавьте-NoTruncate, чтобы файл дописывался, а не перезаписывался. - Технологический журнал. Для сложных случаев (зависания, обрывы соединения) включают технологический журнал через файл
logcfg.xmlв каталогеconfплатформы. Журнал быстро растёт, поэтому включайте его на короткое время и с фильтром по нужным событиям. - Код возврата.
%ERRORLEVEL%после завершения процесса показывает, завершился ли он штатно. Сам по себе ноль не гарантирует, что ваша обработка отработала, — пишите результат в журнал регистрации из кода.
Сброс кэша
Странное поведение после обновления конфигурации (старые формы, ошибки при открытии) часто лечится ключом /ClearCache. Он очищает кэш клиента на этом компьютере перед стартом и данных базы не трогает. Добавлять его в ежедневный скрипт не нужно — каждый запуск станет дольше.
Пароли, права и привилегированный режим
Строка запуска с /P — это пароль открытым текстом. Его видно в свойствах ярлыка, в bat-файле, в задании планировщика и в списке процессов.
Что делать, чтобы не раздавать пароль:
- 👤 Отдельный служебный пользователь 1С для автоматизации — с ролями только под задачу (например, обмен), без полных прав.
- 🪪 Вход по учётной записи Windows. Привяжите пользователя 1С к доменной учётной записи (в карточке пользователя есть флаг аутентификации операционной системы), а в строке оставьте
/WA+без/Nи/P. Задание планировщика запускайте от этой учётной записи. - 📁 Права на файл. Bat-файл с паролем кладите в каталог, доступный на чтение только администраторам и служебной учётной записи.
Привилегированный режим
Ключ /UsePrivilegedMode запускает весь сеанс в привилегированном режиме: проверки прав доступа к данным не выполняются. Использовать его разрешено только аутентифицированному пользователю с административными правами.
Привилегированный режим отключает ограничения на уровне записей и проверки ролей. Ошибка в обработке, запущенной в таком сеансе, может изменить данные, к которым у служебного пользователя в обычной работе доступа нет.
Вход в заблокированную базу
Когда администратор установил блокировку сеансов, обычный запуск выдаёт сообщение Начало сеанса с информационной базой запрещено. Войти можно, только указав код разрешения: /UC"7731". Код задают при установке блокировки — в типовых конфигурациях в разделе Администрирование → Обслуживание, форма «Блокировка работы пользователей». Для серверной базы блокировку и код также можно задать в свойствах базы в консоли кластера.
Ошибки при запуске с параметрами Enterprise и как их устранить
Ещё три причины, на которых теряют время:
- 📌 Параметр /C не доходит до кода. Значит, обработчик запуска в конфигурации его не читает. Типовая конфигурация понимает только свои команды; для собственной логики нужна доработка в расширении конфигурации.
- 📌 Запускается не та версия платформы. Ярлык указывает на
1cestart.exe, а у базы в списке не задана версия. Укажите полный путь к1cv8.exeнужной версии. - 📌 Кавычки внутри пароля. Если пароль содержит двойную кавычку, в строке запуска его не передать надёжно. Проще сменить пароль служебного пользователя.