Командный режим 1С:Предприятия 8.3: ключи запуска, пакетные файлы и автоматизация
Содержание
Открыть командный интерфейс 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.exe | C:\Program Files\1cv8\<версия>\bin\ | Толстый клиент и Конфигуратор, все пакетные режимы |
1cv8c.exe | там же | Тонкий клиент, только режим 1С:Предприятие |
1cestart.exe | C:\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С из командной строки для файловой и серверной базы
Разница между вариантами — только в ключе адреса базы. Всё остальное одинаково.
Файловая база
- Найдите каталог базы: в окне запуска выделите её — путь виден внизу окна (строка
File="..."). - Откройте командную строку:
Win + R→cmd. - Наберите команду и подставьте свою версию платформы:
"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 — резервная копия обязательна. Пакетное обновление предсказуемо работает на типовой конфигурации без доработок. Если конфигурация доработана, сначала обновите вручную копию базы и сравните результат.
Настройка Планировщика заданий
- Откройте
Win + R→taskschd.msc. - Выберите «Создать задачу » (не «простую» — в ней меньше настроек).
- На вкладке «Общие» укажите учётную запись, от которой пойдёт запуск, и отметьте «Выполнять для всех пользователей».
- На вкладке «Триггеры» задайте время, например 02:00 ежедневно.
- На вкладке «Действия» укажите путь к bat-файлу и в поле «Рабочая папка» — его каталог.
- Запустите задачу вручную кнопкой «Выполнить» и проверьте лог.
То же самое одной командой:
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%.
Что проверить перед первым запуском по расписанию
Последний пункт часто забывают. Ежедневная выгрузка базы на 5 ГБ за месяц съедает 150 ГБ. Добавьте в конец bat-файла удаление старых копий:
forfiles /p "E:\Backup" /m *.dt /d -14 /c "cmd /c del @path"
Команда удалит выгрузки старше 14 дней.
Частые ошибки при запуске 1С командами и как их исправить
Если ничего не помогает
Включите лог /Out и прогоните команду вручную в cmd. В логе платформа пишет текст ошибки дословно — по нему причина находится быстрее, чем по догадкам.
Если для выгрузки приходится принудительно завершать сеансы на сервере 1С, предупредите пользователей заранее: несохранённые документы в открытых сеансах пропадут. Делайте это вне рабочего времени.
Частые вопросы
Где взять полный список ключей командной строки 1С?
Справка → Содержание справки и найдите раздел о параметрах командной строки. Там перечислены все ключи с описанием для вашей версии.