Командный режим 1С:Предприятия 8.3: ключи запуска, пакетные файлы и автоматизация

· 10 мин

Содержание

Открыть командный интерфейс 1С — значит запустить исполняемый файл платформы 1cv8.exe из командной строки Windows (или терминала Linux) с ключами: режим, база, пользователь и действие. Минимальная команда выглядит так: "C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Админ" /P"пароль". Нажали Enter — база открылась без окна выбора информационных баз.

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

В интерфейсе самой программы тоже есть «командный интерфейс» — панели разделов, действий и навигации. Его настраивают через меню Вид или кнопку настройки панелей. Если вам нужно именно это, ищите статьи про настройку панелей; здесь речь о запуске 1С командами.

Что даёт запуск 1С через командную строку

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

Что можно сделать без участия пользователя:

  • 🗂️ открыть конкретную базу в режиме 1С:Предприятие или Конфигуратор;
  • 💾 выгрузить информационную базу в файл .dt и загрузить её обратно;
  • 🔄 обновить конфигурацию из .cf/.cfu и применить изменения к базе данных;
  • ⚙️ запустить внешнюю обработку .epf и передать ей параметры;
  • 🧪 создать новую пустую базу, проверить конфигурацию, собрать лог результата.

Всё это пишется одной строкой в bat-файл и ставится в планировщик. Один раз настроили — дальше работа идёт ночью, а утром вы читаете лог.

Какие исполняемые файлы бывают

ФайлГде лежитДля чего
1cv8.exeC:\Program Files\1cv8\<версия>\bin\Толстый клиент и Конфигуратор, все пакетные режимы
1cv8c.exeтам жеТонкий клиент, только режим 1С:Предприятие
1cestart.exeC:\Program Files\1cv8\common\Стартер: выбирает версию платформы и показывает список баз

Для автоматизации берите 1cv8.exe конкретной версии. Стартер удобен ярлыку на рабочем столе, но в скрипте лишний посредник только добавляет неопределённость, какая версия запустится.

На Linux путь обычно такой: /opt/1cv8/x86_64/8.3.xx.xxxx/1cv8. Ключи те же, только в кавычках и путях — прямые слеши.

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

Общая схема:

1cv8.exe <РЕЖИМ> <база> <авторизация> [действие] [служебные ключи]

Режим идёт первым словом и без косой черты:

  • ENTERPRISE — пользовательский режим 1С:Предприятие;
  • DESIGNER — Конфигуратор, в том числе пакетный;
  • CREATEINFOBASE — создание новой информационной базы.

Основные ключи

КлючЧто делаетПример
/Fпуть к каталогу файловой базы/F"D:\Bases\Buh"
/Sадрес серверной базы: сервер\имя базы/S"srv1c\buh_prod"
/IBNameимя базы из списка в окне запуска/IBName"Бухгалтерия"
/Nимя пользователя 1С/N"Иванов"
/Pпароль пользователя/P"Qwerty123"
/WA- / /WA+запретить / разрешить вход по учётной записи Windows/WA-
/Cстрока параметра, которую видит конфигурация/C"ЗавершитьРаботуСистемы"
/Executeзапустить внешнюю обработку при входе/Execute"D:\epf\Load.epf"
/UCкод разрешения входа при установленной блокировке/UC"12345"
/Outфайл лога для пакетного режима/Out"D:\logs\upd.log"
/DumpResultфайл с кодом результата/DumpResult"D:\logs\res.txt"
/DisableStartupMessagesне показывать стартовые предупреждения—
/DisableStartupDialogsне показывать стартовые диалоги—
/ClearCacheочистить кэш клиента перед запуском—
/Lязык интерфейса/Lru

Для режима Конфигуратора добавляются ключи-действия: /DumpIB и /RestoreIB (выгрузка и загрузка .dt), /DumpCfg и /LoadCfg (сохранение и загрузка .cf), /UpdateCfg (обновление из .cf или .cfu), /UpdateDBCfg (применение конфигурации к базе данных).

Значения с пробелами всегда берите в кавычки. Строка /F D:\Мои базы\Buh без кавычек разрежется на части, и 1С не найдёт базу.

Как работает ключ /C

Ключ /C передаёт строку в глобальное свойство ПараметрЗапуска. Платформа с этой строкой ничего не делает — читает её код конфигурации.

В типовых конфигурациях на БСП есть несколько распознаваемых значений. Самые ходовые:

  • ЗавершитьРаботуСистемы — сеанс сразу закрывается после входа (используют, чтобы прогнать обработчики обновления);
  • ЗапуститьОбновлениеИнформационнойБазы — после обновления конфигурации выполнить обработчики обновления;
  • РазрешитьРаботуПользователей — снять блокировку сеансов (вместе с /UC).

Значения можно комбинировать через точку с запятой: /C"ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы".

В своей обработке или доработке параметр читается так:

Если СтрНайти(ПараметрЗапуска, "ВыгрузитьОстатки") > 0 Тогда
    ВыгрузитьОстаткиНаСайт();
    ЗавершитьРаботуСистемы(Ложь);
КонецЕсли;

Как запустить 1С из командной строки для файловой и серверной базы

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

Файловая база

  1. Найдите каталог базы: в окне запуска выделите её — путь виден внизу окна (строка File="...").
  2. Откройте командную строку: Win + R → cmd.
  3. Наберите команду и подставьте свою версию платформы:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Админ" /P"пароль" /DisableStartupMessages

Чтобы открыть ту же базу в Конфигураторе, замените ENTERPRISE на DESIGNER.

Клиент-серверная база

В окне запуска у серверной базы видна строка вида Srvr="srv1c";Ref="buh_prod";. Первое значение — сервер, второе — имя базы на кластере:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh_prod" /N"Админ" /P"пароль"

Если кластер работает на нестандартном порту, укажите его после имени сервера: /S"srv1c:2541\buh_prod".

Версия 1cv8.exe на клиенте должна совпадать с версией сервера 1С вплоть до последней цифры. Иначе подключения не будет — это первое, что стоит проверить, если серверная база не открывается из скрипта.

Создание новой базы

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\Test" /AddInList"Тестовая база"

Ключ /AddInList сразу добавит базу в список окна запуска под указанным именем. Без него база создастся, но в списке её не будет.

Пакетные файлы и планировщик: автоматизация запуска 1С

Командный режим раскрывается в связке «bat-файл + Планировщик заданий Windows». Типичная задача — ночная выгрузка базы в .dt с датой в имени файла.

Пример: ночной бэкап файловой базы

@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set DST=E:\Backup
set LOG=E:\Backup\logs
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%

%V8% DESIGNER /F"%BASE%" /N"Робот" /P"пароль" /DisableStartupDialogs ^
 /DumpIB"%DST%\buh_%D%.dt" /Out"%LOG%\dump_%D%.log" /DumpResult"%LOG%\res_%D%.txt"

if %ERRORLEVEL% NEQ 0 echo Ошибка выгрузки >> "%LOG%\errors.log"

Строка с датой рассчитана на формат ДД.ММ.ГГГГ в региональных настройках Windows. Если у сервера другой формат даты, имя файла получится кривым — проверьте echo %date% перед запуском.

Выгрузка в .dt требует, чтобы в базе не было других пользователей. Ставьте задание на ночь и заранее закройте сеансы, иначе выгрузка завершится ошибкой.

Пример: обновление конфигурации из файла обновления

%V8% DESIGNER /F"%BASE%" /N"Робот" /P"пароль" /DisableStartupDialogs ^
 /UpdateCfg"D:\Updates\1Cv8.cfu" /UpdateDBCfg /Out"%LOG%\upd.log"

%V8% ENTERPRISE /F"%BASE%" /N"Робот" /P"пароль" /DisableStartupMessages ^
 /C"ЗапуститьОбновлениеИнформационнойБазы;ЗавершитьРаботуСистемы"

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

Перед автоматическим обновлением всегда делайте выгрузку .dt — резервная копия обязательна. Пакетное обновление предсказуемо работает на типовой конфигурации без доработок. Если конфигурация доработана, сначала обновите вручную копию базы и сравните результат.

Настройка Планировщика заданий

  1. Откройте Win + R → taskschd.msc.
  2. Выберите «Создать задачу » (не «простую» — в ней меньше настроек).
  3. На вкладке «Общие» укажите учётную запись, от которой пойдёт запуск, и отметьте «Выполнять для всех пользователей».
  4. На вкладке «Триггеры» задайте время, например 02:00 ежедневно.
  5. На вкладке «Действия» укажите путь к bat-файлу и в поле «Рабочая папка» — его каталог.
  6. Запустите задачу вручную кнопкой «Выполнить» и проверьте лог.

То же самое одной командой:

schtasks /Create /SC DAILY /ST 02:00 /TN "1C Backup Buh" /TR "C:\Scripts\backup_buh.bat" /RU "DOMAIN\svc1c" /RP "пароль"

Запускайте от отдельной служебной учётной записи, у которой есть права на каталог базы и папку бэкапов. Для неё же должна быть доступна лицензия 1С: без лицензии платформа базу не откроет, и задание тихо упадёт.

Запуск внешних обработок и тестирование из командной строки

Ключ /Execute открывает базу и сразу запускает указанную обработку .epf. Так автоматизируют загрузку курсов, выгрузку остатков на сайт, рассылку отчётов.

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /N"Робот" /P"пароль" ^
 /DisableStartupMessages /Execute"D:\epf\ВыгрузкаОстатков.epf" /C"Авто"

Чтобы обработка отработала без окон и закрыла сеанс сама, в её модуле формы (в обработчике открытия) проверьте ПараметрЗапуска и в конце вызовите ЗавершитьРаботуСистемы(Ложь). Если этого не сделать, 1С останется открытой, и следующее задание планировщика споткнётся о живой сеанс.

В новых релизах платформы и типовых конфигурациях запуск внешних обработок ограничен настройками безопасности. Если при открытии появляется предупреждение о защите от опасных действий, у пользователя-робота этот флажок нужно снять в карточке пользователя (это делает администратор базы).

Проверка и тестирование

Для проверки работоспособности базы из командной строки пригодятся ключи Конфигуратора:

  • /CheckConfig — синтаксическая и логическая проверка конфигурации;
  • /IBCheckAndRepair — тестирование и исправление информационной базы (требует монопольного доступа, точный набор параметров смотрите в справке платформы по ключам командной строки);
  • /ConfigurationRepositoryUpdateCfg — получение конфигурации из хранилища, если разработка ведётся в нём.

Для автотестов есть ключи /TESTMANAGER и /TESTCLIENT: первый запускает менеджер тестирования, второй — клиента, которым он управляет. Их используют фреймворки сценарного тестирования.

Результат пакетной операции смотрите в двух местах: текст сообщений — в файле из /Out, код итога — в файле из /DumpResult. В /DumpResult записывается 0 при успехе и другое число при ошибке. Проверять стоит именно этот файл, а не только %ERRORLEVEL%.

Что проверить перед первым запуском по расписанию

Перед постановкой задания в планировщик
Выполнено: 0 / 7

Последний пункт часто забывают. Ежедневная выгрузка базы на 5 ГБ за месяц съедает 150 ГБ. Добавьте в конец bat-файла удаление старых копий:

forfiles /p "E:\Backup" /m *.dt /d -14 /c "cmd /c del @path"

Команда удалит выгрузки старше 14 дней.

Частые ошибки при запуске 1С командами и как их исправить

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

Если ничего не помогает

Включите лог /Out и прогоните команду вручную в cmd. В логе платформа пишет текст ошибки дословно — по нему причина находится быстрее, чем по догадкам.

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

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

Где взять полный список ключей командной строки 1С?
В справке платформы: в Конфигураторе откройте Справка → Содержание справки и найдите раздел о параметрах командной строки. Там перечислены все ключи с описанием для вашей версии.
Можно ли не хранить пароль в bat-файле открытым текстом?
Можно сократить риск: заведите отдельного пользователя-робота с минимальными правами, храните bat в каталоге с доступом только для администратора. Для файловой базы также можно использовать вход по учётной записи Windows, тогда /N и /P не нужны.
Чем DESIGNER отличается от ENTERPRISE в пакетном режиме?
DESIGNER запускает Конфигуратор и выполняет служебные операции: выгрузку, загрузку, обновление. ENTERPRISE открывает пользовательский режим и выполняет код конфигурации — обработчики обновления, внешние обработки.
Как запустить 1С в тонком клиенте из командной строки?
Вызовите 1cv8c.exe с режимом ENTERPRISE и теми же ключами /F или /S, /N, /P. Пакетные операции Конфигуратора тонкий клиент не выполняет.
Работают ли ключи запуска в ярлыке на рабочем столе?
Да. Откройте свойства ярлыка и допишите ключи в поле «Объект» после пути к 1cv8.exe. Получится ярлык, который сразу открывает нужную базу под нужным пользователем.