Командная строка 1С 8.3: параметры 1cv8, пакетный режим и автозапуск

· 10 мин

Содержание

Команду 1С вызывают через исполняемый файл платформы 1cv8.exe с режимом и ключами: например, 1cv8.exe ENTERPRISE /F"D:\Bases\Buh" /N"Админ" /P"123" открывает файловую базу под нужным пользователем без окна выбора. Тот же синтаксис работает в консоли Windows, в ярлыке на рабочем столе, в bat-файле и в планировщике заданий.

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

Где лежит 1cv8.exe и как запустить его из консоли

Платформа 1С 8.3 ставится в каталог вида C:\Program Files\1cv8\8.3.24.1691\bin\. Номер версии в пути у вас свой. В этом каталоге три основных файла:

ФайлЧто запускаетКогда использовать
1cv8.exeтолстый клиент и Конфигураторпакетный режим, администрирование, обработки с серверным кодом
1cv8c.exeтонкий клиентобычная работа пользователей
1cestart.exe (в C:\Program Files\1cv8\common\)стартер: окно выбора баз, подбор версии платформыярлыки для пользователей, когда версий установлено несколько

Чтобы проверить команду вручную:

  1. Откройте cmd (Win+R → cmd).
  2. Перейдите в каталог платформы: cd "C:\Program Files\1cv8\8.3.24.1691\bin".
  3. Введите строку запуска и нажмите Enter.
1cv8.exe ENTERPRISE /F"D:\Bases\Buh" /N"Админ" /P"123"

Первое слово после имени файла — режим запуска:

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

Если путь к базе или имя пользователя содержит пробелы и кириллицу, всегда берите значение в двойные кавычки сразу после ключа, без пробела: /N"Иванова Анна".

Чтобы не привязываться к номеру версии, в скриптах удобно завести переменную в начале bat-файла. После обновления платформы меняете одну строку, а не все команды.

Параметры командной строки 1С и что они делают

Ключи пишутся через пробел в любом порядке после режима. Регистр букв в ключах значения не имеет.

Подключение к базе и вход

КлючНазначениеПример
/Fпуть к каталогу файловой базы/F"D:\Bases\Buh"
/Sсервер и имя базы в кластере/S"srv1c\buh"
/IBNameбаза по имени из списка баз пользователя/IBName"Бухгалтерия"
/Nимя пользователя 1С/N"Админ"
/Pпароль/P"123"
/WA- / /WA+запретить / разрешить вход по учётной записи Windows/WA-
/UCкод разрешения, если вход в базу заблокирован/UC"0000"

Ключ /WA- нужен в скриптах, где пользователь задан явно. Без него платформа сначала попробует аутентификацию Windows, и под служебной учётной записью вход может пойти не тому пользователю.

Поведение при старте

  • 🔇 /DisableStartupMessages — подавляет стартовые сообщения, например о том, что конфигурация базы данных отличается от основной.
  • 🔕 /DisableStartupDialogs — не показывает диалог выбора базы и окно ввода пароля; если данных для входа не хватает, запуск завершится ошибкой, а не будет ждать человека.
  • 🧹 /ClearCache — очищает кэш клиента для этой базы перед запуском. Помогает при странном поведении форм после обновления.
  • 🧾 /C"текст" — передаёт строку в конфигурацию. В коде она доступна через глобальное свойство ПараметрЗапуска.
  • 🖥 /RunModeOrdinaryApplication и /RunModeManagedApplication — принудительно открыть толстый клиент в режиме обычного или управляемого приложения.

Пакетный режим Конфигуратора

Эти ключи работают с режимом DESIGNER:

КлючЧто делает
/DumpIB"файл.dt"выгружает информационную базу в файл
/RestoreIB"файл.dt"загружает базу из файла .dt (данные текущей базы будут заменены)
/LoadCfg"файл.cf"загружает конфигурацию из файла
/UpdateCfg"файл.cfu"обновляет конфигурацию, находящуюся на поддержке
/UpdateDBCfgобновляет конфигурацию базы данных (применяет изменения)
/DumpCfg"файл.cf"сохраняет конфигурацию в файл
/Out"лог.txt"пишет сообщения в текстовый лог; -NoTruncate — дописывать, а не перезаписывать
/DumpResult"результат.txt"записывает код завершения: 0 — успех

Ключи /LoadCfg, /UpdateCfg и /UpdateDBCfg применяют к рабочей базе только после резервной копии. Загрузка .dt через /RestoreIB полностью заменяет данные базы — перепутанный путь стоит всей учётной информации.

Ярлык для быстрого входа в нужную базу

Ярлык — та же командная строка, сохранённая в свойствах файла. Порядок:

  1. Щёлкните правой кнопкой по рабочему столу → Создать → Ярлык.
  2. В поле расположения объекта вставьте строку целиком, вместе с кавычками вокруг пути к exe:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName"Бухгалтерия" /N"Иванова"
  1. Задайте понятное имя ярлыка, например «Бухгалтерия — Иванова».

Пароль в ярлык лучше не записывать: его видит любой, кто откроет свойства. Для пользователей в домене надёжнее включить аутентификацию Windows в карточке пользователя 1С и запускать базу без /N и /P.

Через 1cestart.exe с ключом /IBName удобно, когда база уже есть в списке у пользователя: при переносе базы на другой диск правите путь в списке, а ярлык не трогаете.

Расписание через планировщик заданий Windows

Ночная выгрузка .dt — самый частый сценарий. Сначала соберите bat-файл, затем поставьте его в планировщик.

Шаг 1. Скрипт выгрузки

@echo off
chcp 65001 >nul
set V8="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set BACKUP=E:\Backup
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd"') do set D=%%i

start "" /wait %V8% DESIGNER /F"%BASE%" /N"Админ" /P"123" /WA- ^
  /DisableStartupDialogs /DisableStartupMessages ^
  /DumpIB"%BACKUP%\buh_%D%.dt" ^
  /Out"%BACKUP%\buh_%D%.log" /DumpResult"%BACKUP%\buh_%D%.res"

set /p RES=<"%BACKUP%\buh_%D%.res"
if not "%RES%"=="0" echo Выгрузка завершилась с ошибкой, смотрите лог >> "%BACKUP%\errors.txt"

start "" /wait заставляет скрипт дождаться окончания работы Конфигуратора. Без этого следующая строка проверит файл результата раньше, чем он появится. Строка chcp 65001 нужна, чтобы кириллица в имени пользователя корректно передалась из файла в кодировке UTF-8; если сохраняете bat в кодировке 866, уберите её.

Шаг 2. Задание в планировщике

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

Тот же результат даёт команда из консоли администратора:

schtasks /Create /TN "1C Backup Buh" /TR "E:\Scripts\backup_buh.bat" /SC DAILY /ST 02:00 /RU "DOMAIN\svc1c" /RP *

Выгрузка .dt требует монопольного доступа к базе. Если в 02:00 кто-то остался в программе, выгрузка не пройдёт. Перед заданием завершайте сеансы штатно (блокировкой начала сеансов) и ставьте время, когда в базе точно никто не работает: оборванный сеанс теряет несохранённый документ.

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

Открытие внешних обработок и расширений командой

Внешняя обработка при старте

Ключ /Execute открывает файл .epf сразу после входа в режиме 1С:Предприятие:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Админ" /P"123" /WA- /Execute"E:\Scripts\obmen.epf"

Обработка откроется так же, как через Файл → Открыть. Если в базе включена защита от опасных действий, пользователь увидит предупреждение. Для автоматического сценария используйте отдельного служебного пользователя и проверьте запуск вручную.

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

Параметр запуска для своей логики

Ключ /C позволяет конфигурации понять, зачем её запустили. Пример для модуля управляемого приложения:

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

Командная строка тогда содержит /C"НочнойОбмен". В типовые конфигурации такой код добавляют через расширение, а не правкой основной конфигурации, иначе усложнится обновление.

Расширения конфигурации в пакетном режиме

Файл расширения .cfe загружают в Конфигураторе с указанием имени расширения, затем применяют изменения:

1cv8.exe DESIGNER /F"D:\Bases\Buh" /N"Админ" /P"123" /WA- /LoadCfg"E:\Ext\Pechat.cfe" -Extension "Pechat" /UpdateDBCfg -Extension "Pechat" /Out"E:\Ext\load.log"

Загрузка и обновление базы данных — два разных шага. Если ограничиться /LoadCfg, расширение окажется в Конфигураторе, но пользователи его не увидят.

Строка запуска для серверной базы

В клиент-серверном варианте вместо /F указывают /S — имя сервера 1С и имя базы в кластере через обратную косую черту:

1cv8c.exe ENTERPRISE /S"srv1c\buh" /N"Иванова"

Чем отличается работа с сервером:

  • 🌐 Клиент обращается к агенту сервера (по умолчанию порт 1540), затем к менеджеру кластера (1541) и рабочим процессам из диапазона, заданного в свойствах рабочего сервера. Брандмауэр между клиентом и сервером должен пропускать все эти порты.
  • 🔢 Если кластер работает на нестандартном порту, его пишут после имени сервера через двоеточие: /S"srv1c:2541\buh".
  • 🏷 Имя базы — это имя в кластере, а не имя базы на SQL Server или PostgreSQL. Они могут не совпадать.
  • 🔐 Пакетный Конфигуратор для серверной базы стоит запускать с машины, где установлена та же версия платформы, что и на сервере. Номер версии клиента должен совпадать с номером версии сервера полностью, до последней цифры сборки.

Блокировку начала сеансов для ночных операций администратор задаёт в консоли кластера или из самой базы. Если при блокировке указан код разрешения, скрипт входит в базу, передав его ключом /UC. Остальные пользователи при этом подключиться не смогут.

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

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

1cv8.exe CREATEINFOBASE File="D:\Bases\Test" /AddInList"Тестовая база"

Команда создаёт пустую файловую базу и добавляет её в список под указанным именем. Конфигурацию в неё затем загружают через /LoadCfg или /RestoreIB.

Почему команда не срабатывает: диагностика

Пакетный режим работает «молча». Первое правило — всегда добавлять /Out и читать лог: в нём текст той же ошибки, что пользователь увидел бы на экране.

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

Ещё два частых источника проблем:

  • 🗂 Запущен не тот exe. В пути указан каталог старой версии платформы, которую уже удалили или которая не совпадает с сервером. Проверьте путь в скрипте после каждого обновления платформы.
  • ⏳ Скрипт не ждёт завершения. Без start "" /wait следующие команды (архивация, копирование на другой диск) начинаются, пока Конфигуратор ещё пишет файл. Итог — битая копия.

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

Можно ли выполнить код 1С из командной строки без открытия окна программы?
Полностью невидимого режима у клиента нет. Используют внешнюю обработку через /Execute или параметр /C с завершением через ЗавершитьРаботуСистемы(Ложь): окно откроется на несколько секунд и закроется само.
Чем 1cv8.exe отличается от 1cestart.exe в ярлыке?
1cv8.exe — конкретная версия платформы. 1cestart.exe — стартер, который выбирает версию по настройкам базы в списке. Для пользователей удобнее стартер, для скриптов надёжнее прямой путь к 1cv8.exe.
Как не хранить пароль администратора в bat-файле?
Создайте отдельного пользователя 1С только для регламентных операций с минимальными правами и включите для него аутентификацию Windows под служебной учётной записью. Тогда в скрипте не нужны /N и /P, а доступ к файлу ограничивают правами NTFS.
Где посмотреть полный список ключей запуска?
В документации к установленной платформе, раздел о параметрах командной строки. Набор ключей пополняется с новыми версиями 8.3, поэтому сверяйтесь с документацией именно вашей версии.
Можно ли запустить сразу несколько операций одной командой?
Да, ключи пакетного режима комбинируются: например, /UpdateCfg и /UpdateDBCfg в одной строке обновляют конфигурацию и сразу применяют изменения к базе. Выгрузку .dt надёжнее делать отдельным запуском до обновления.