Командная строка 1С 8.3: параметры 1cv8, пакетный режим и автозапуск
Содержание
Команду 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\) | стартер: окно выбора баз, подбор версии платформы | ярлыки для пользователей, когда версий установлено несколько |
Чтобы проверить команду вручную:
- Откройте
cmd(Win+R →cmd). - Перейдите в каталог платформы:
cd "C:\Program Files\1cv8\8.3.24.1691\bin". - Введите строку запуска и нажмите 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 полностью заменяет данные базы — перепутанный путь стоит всей учётной информации.
Ярлык для быстрого входа в нужную базу
Ярлык — та же командная строка, сохранённая в свойствах файла. Порядок:
- Щёлкните правой кнопкой по рабочему столу →
Создать → Ярлык. - В поле расположения объекта вставьте строку целиком, вместе с кавычками вокруг пути к exe:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName"Бухгалтерия" /N"Иванова"
- Задайте понятное имя ярлыка, например «Бухгалтерия — Иванова».
Пароль в ярлык лучше не записывать: его видит любой, кто откроет свойства. Для пользователей в домене надёжнее включить аутентификацию 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. Задание в планировщике
- Откройте
taskschd.msc→Создать задачу(не «простую»: в ней меньше настроек). - На вкладке «Общие» выберите учётную запись, у которой есть права на каталог базы и каталог копий. Включите «Выполнять вне зависимости от регистрации пользователя».
- На вкладке «Триггеры» задайте ежедневный запуск, например в 02:00.
- На вкладке «Действия» укажите путь к bat-файлу.
- Запустите задачу вручную и проверьте, что появились
.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 кто-то остался в программе, выгрузка не пройдёт. Перед заданием завершайте сеансы штатно (блокировкой начала сеансов) и ставьте время, когда в базе точно никто не работает: оборванный сеанс теряет несохранённый документ.
Открытие внешних обработок и расширений командой
Внешняя обработка при старте
Ключ /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следующие команды (архивация, копирование на другой диск) начинаются, пока Конфигуратор ещё пишет файл. Итог — битая копия.