Ключ ENTERPRISE и параметры 1cv8.exe: от ярлыка до пакетного режима

· 10 мин

Содержание

Чтобы открыть базу в режиме 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), включают отладку и входят в заблокированную базу.

Синтаксис строки запуска и основные ключи

Строка состоит из трёх частей: исполняемый файл, режим запуска и параметры.

  1. Исполняемый файл. Толстый клиент — 1cv8.exe, тонкий — 1cv8c.exe. Оба лежат в каталоге bin конкретной версии платформы. Есть ещё 1cestart.exe из каталога common: он сам подбирает версию платформы по списку баз.
  2. Режим. ENTERPRISE — пользовательский режим, DESIGNER — Конфигуратор, CREATEINFOBASE — создание базы. Регистр не важен. У 1cv8c.exe режим один, ключ ENTERPRISE ему не нужен.
  3. Параметры. Начинаются с косой черты. Значение пишется слитно с ключом или через пробел; если в значении есть пробелы — в двойных кавычках.

Если ключ режима не указать, 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С перезапускают. При перезапуске службы обрываются все сеансы всех баз кластера. Делайте это только в согласованное окно и не держите отладку включённой на рабочем сервере постоянно.

Где смотреть, что произошло

  1. Журнал регистрации базы. В Бухгалтерии 3.0 и ЗУП 3.1 — Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте по пользователю из строки запуска и по времени — увидите вход, ошибки и выход.
  2. Файл служебных сообщений. Ключ /Out"D:\Logs\start.log" пишет в файл служебные сообщения запуска. Добавьте -NoTruncate, чтобы файл дописывался, а не перезаписывался.
  3. Технологический журнал. Для сложных случаев (зависания, обрывы соединения) включают технологический журнал через файл logcfg.xml в каталоге conf платформы. Журнал быстро растёт, поэтому включайте его на короткое время и с фильтром по нужным событиям.
  4. Код возврата. %ERRORLEVEL% после завершения процесса показывает, завершился ли он штатно. Сам по себе ноль не гарантирует, что ваша обработка отработала, — пишите результат в журнал регистрации из кода.

Сброс кэша

Странное поведение после обновления конфигурации (старые формы, ошибки при открытии) часто лечится ключом /ClearCache. Он очищает кэш клиента на этом компьютере перед стартом и данных базы не трогает. Добавлять его в ежедневный скрипт не нужно — каждый запуск станет дольше.

Пароли, права и привилегированный режим

Строка запуска с /P — это пароль открытым текстом. Его видно в свойствах ярлыка, в bat-файле, в задании планировщика и в списке процессов.

Что делать, чтобы не раздавать пароль:

  • 👤 Отдельный служебный пользователь 1С для автоматизации — с ролями только под задачу (например, обмен), без полных прав.
  • 🪪 Вход по учётной записи Windows. Привяжите пользователя 1С к доменной учётной записи (в карточке пользователя есть флаг аутентификации операционной системы), а в строке оставьте /WA+ без /N и /P. Задание планировщика запускайте от этой учётной записи.
  • 📁 Права на файл. Bat-файл с паролем кладите в каталог, доступный на чтение только администраторам и служебной учётной записи.

Привилегированный режим

Ключ /UsePrivilegedMode запускает весь сеанс в привилегированном режиме: проверки прав доступа к данным не выполняются. Использовать его разрешено только аутентифицированному пользователю с административными правами.

Привилегированный режим отключает ограничения на уровне записей и проверки ролей. Ошибка в обработке, запущенной в таком сеансе, может изменить данные, к которым у служебного пользователя в обычной работе доступа нет.

Вход в заблокированную базу

Когда администратор установил блокировку сеансов, обычный запуск выдаёт сообщение Начало сеанса с информационной базой запрещено. Войти можно, только указав код разрешения: /UC"7731". Код задают при установке блокировки — в типовых конфигурациях в разделе Администрирование → Обслуживание, форма «Блокировка работы пользователей». Для серверной базы блокировку и код также можно задать в свойствах базы в консоли кластера.

Ошибки при запуске с параметрами Enterprise и как их устранить

Диагностика: выберите симптом

Ещё три причины, на которых теряют время:

  • 📌 Параметр /C не доходит до кода. Значит, обработчик запуска в конфигурации его не читает. Типовая конфигурация понимает только свои команды; для собственной логики нужна доработка в расширении конфигурации.
  • 📌 Запускается не та версия платформы. Ярлык указывает на 1cestart.exe, а у базы в списке не задана версия. Укажите полный путь к 1cv8.exe нужной версии.
  • 📌 Кавычки внутри пароля. Если пароль содержит двойную кавычку, в строке запуска его не передать надёжно. Проще сменить пароль служебного пользователя.

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

Чем запуск через 1cv8.exe ENTERPRISE отличается от 1cv8c.exe?
1cv8.exe — толстый клиент: он умеет обычные формы и выполняет часть кода локально. 1cv8c.exe — тонкий клиент только для управляемого приложения, ключ ENTERPRISE ему не нужен.
Можно ли передать в /C несколько команд?
Да, это одна строка, а разбирает её код конфигурации. Например, разделите команды точкой с запятой и разберите строку функцией СтрРазделить.
Как открыть базу из списка, не зная её пути?
Используйте /IBName с именем базы так, как оно записано в списке баз пользователя. Имя с пробелами берите в кавычки.
Работают ли параметры запуска для базы через веб-сервер?
Да, вместо /F или /S укажите /WS с адресом публикации. Имя и пароль передаются так же — через /N и /P.
Как запустить 1С Предприятие на определённом языке интерфейса?
Ключ /L с кодом языка, например /L ru или /L en. Язык должен быть в конфигурации, иначе останется язык по умолчанию.