Параметры 1cv8.exe: пакетный запуск 1С без открытия окна

· 10 мин

Содержание

Отдельного окна «командная строка» внутри 1С нет. Командная строка 1С — это ключи, с которыми запускают исполняемый файл платформы 1cv8.exe из консоли Windows, ярлыка, bat-файла или Планировщика заданий. Сам файл лежит в C:\Program Files\1cv8\<номер версии>\bin\.

Многие ищут консоль в меню программы или в «Функциях для технического специалиста». Её там нет. Зато есть поле Дополнительные параметры запуска в свойствах базы в окне запуска: туда пишут те же ключи, что и в консоли, и 1С подставляет их при каждом входе.

Где найти исполняемый файл платформы и как его запустить

Платформа 8.3 ставится в папку с номером версии. Если на компьютере несколько версий, папок будет несколько, и у каждой свой bin.

ФайлГде лежитДля чего
1cv8.exeC:\Program Files\1cv8\8.3.xx.xxxx\bin\толстый клиент и Конфигуратор, все пакетные операции
1cv8c.exeтам жетонкий клиент, только режим Предприятия
1cestart.exeC:\Program Files\1cv8\common\стартер: окно со списком баз, сам выбирает версию
ibcmd.exebin нужной версии (платформа 8.3.14 и выше)автономная утилита администрирования файловых и серверных баз

32-разрядная платформа ставится в C:\Program Files (x86)\1cv8\. На Linux путь вида /opt/1cv8/x86_64/8.3.xx.xxxx/1cv8.

Быстрее всего открыть консоль так:

  1. Нажмите Win + R, введите cmd, нажмите Enter.
  2. Перейдите в папку платформы: cd "C:\Program Files\1cv8\8.3.24.1548\bin" (подставьте свою версию).
  3. Запустите 1cv8.exe с нужным режимом и ключами.
1cv8.exe ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /P"123"

💡 Узнать точный номер версии проще всего в окне запуска 1С: откройте базу, затем в главном меню выберите Справка → О программе. Строка «1С:Предприятие 8.3 (8.3.xx.xxxx)» и есть имя папки.

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

  • 🟢 ENTERPRISE — пользовательский режим, обычная работа с базой.
  • 🛠️ DESIGNER — Конфигуратор. С ключом /DisableStartupDialogs и командой вроде /DumpIB он работает пакетно: без окна, выполнил и закрылся.
  • 📁 CREATEINFOBASE — создать новую пустую базу.

Без режима 1cv8.exe откроет обычное окно выбора баз.

Ключи командной строки 1С для подключения и автоматизации

Ключи пишутся через пробел, значение — сразу после ключа в кавычках, без пробела: /F"D:\Bases\Buh". Регистр букв в именах ключей не важен.

Какую базу открыть

КлючЧто делаетПример
/Fпуть к файловой базе (папка с 1Cv8.1CD)/F"D:\Bases\Buh"
/Sсерверная база: сервер и имя базы на кластере/S"srv01\buh"
/IBNameбаза по имени из списка в окне запуска/IBName"Бухгалтерия ООО Ромашка"
/Nимя пользователя 1С/N"Администратор"
/Pпароль/P"secret"
/WA-запретить вход по учётной записи Windows/WA-

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

Как вести себя после запуска

  • 🔇 /DisableStartupMessages — подавить стартовые предупреждения (например, о том, что конфигурация базы отличается от основной).
  • 🔇 /DisableStartupDialogs — не показывать диалоги выбора базы и входа. Обязателен для пакетного режима: иначе при ошибке 1С повиснет на окне, и скрипт будет ждать вечно.
  • ▶️ /Execute"D:\Tools\Obrabotka.epf" — сразу после входа открыть внешнюю обработку . Работает в режиме ENTERPRISE.
  • 📨 /C"строка" — передать произвольную строку в программу. Внутри конфигурации её читают через глобальное свойство ПараметрЗапуска.
  • 🔑 /UC"КодРазрешения" — войти в базу, на которую установлена блокировка начала сеансов с кодом разрешения.
  • 🧹 /ClearCache — очистить кэш клиента перед запуском.
  • 🧭 /RunModeOrdinaryApplication и /RunModeManagedApplication — открыть толстый клиент в обычном или управляемом приложении.

Эти же ключи можно вписать в поле Дополнительные параметры запуска. Оно находится на последнем шаге мастера, который открывается кнопкой Изменить в окне запуска 1С. Например, /ClearCache в этом поле будет чистить кэш при каждом входе в эту базу.

Обработка, которая работает сама

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

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Робот" /P"pwd" /DisableStartupMessages /Execute"D:\Tools\Zagruzka.epf" /C"auto"

В модуле формы обработки при открытии проверяют ПараметрЗапуска: если там auto, выполняют работу и в конце вызывают ЗавершитьРаботуСистемы(Ложь). Ложь означает «не спрашивать подтверждение у пользователя».

При открытии внешней обработки платформа может показать предупреждение о безопасности. Без человека у экрана запуск на нём и остановится. Для служебного пользователя снимите флажок «Защита от опасных действий» в его свойствах в Конфигураторе: Администрирование → Пользователи, затем двойной щелчок по пользователю.

Пакетный режим Конфигуратора: выгрузка, обновление, проверка

Самое полезное применение командной строки — регламентные операции через DESIGNER. Окно Конфигуратора не открывается, операция выполняется в фоне.

ЗадачаКлючПример
Выгрузить базу в .dt/DumpIB/DumpIB"E:\Backup\buh.dt"
Загрузить базу из .dt/RestoreIB/RestoreIB"E:\Backup\buh.dt"
Выгрузить конфигурацию в .cf/DumpCfg/DumpCfg"E:\Backup\buh.cf"
Загрузить конфигурацию из .cf/LoadCfg/LoadCfg"D:\Upd\new.cf"
Обновить конфигурацию из .cfu/UpdateCfg/UpdateCfg"D:\Upd\1cv8.cfu"
Применить изменения к базе данных/UpdateDBCfgдописывается к /LoadCfg или /UpdateCfg
Тестирование и исправление/IBCheckAndRepair/IBCheckAndRepair -ReIndex -RecalcTotals

Ночная выгрузка файловой базы выглядит так:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"123" /DisableStartupDialogs /DumpIB"E:\Backup\buh.dt" /Out"E:\Backup\dump.log"

/RestoreIB полностью заменяет данные базы содержимым файла .dt. Запускайте его только на той базе, которую действительно хотите перезаписать.

Что учесть до запуска

  • 👥 Выгрузке в .dt, загрузке .dt, обновлению структуры базы данных и тестированию нужен монопольный доступ. Если в базе остался хоть один пользователь, операция не выполнится.
  • 🖥️ В клиент-серверном варианте заранее установите блокировку начала сеансов с кодом разрешения (в консоли кластера или в самой конфигурации), а пакетный запуск дополните ключом /UC"код".
  • 📦 Для серверной базы вместо /F используйте /S"srv01\buh". Выгрузка .dt большой серверной базы идёт долго: планируйте её на нерабочее время.
  • 💾 Перед /UpdateCfg и /LoadCfg сделайте выгрузку .dt той же командой выше. Откатить обновление конфигурации без копии нельзя.

💡 Для серверных баз регламентное резервное копирование надёжнее делать средствами СУБД (PostgreSQL, MS SQL). Выгрузка .dt — это перенос и страховка, а не замена бэкапа СУБД.

Утилита ibcmd

Начиная с 8.3.14 в bin есть ibcmd.exe. Она работает с базой без запуска Конфигуратора: выгрузка и загрузка .dt, создание базы, работа с конфигурацией. Набор команд и их синтаксис зависят от версии платформы, поэтому смотрите справку в консоли: ibcmd help и ibcmd help infobase.

Журналы и диагностика консольного запуска

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

  • 📝 /Out"путь\файл.log" — 1С пишет в файл служебные сообщения: ход операции и текст ошибки. Добавьте -NoTruncate, чтобы файл не перезаписывался, а дополнялся: /Out"E:\Logs\1c.log" -NoTruncate.
  • ✅ /DumpResult"путь\result.txt" — 1С запишет в файл код результата. 0 — успех, любое другое число — ошибка.

Код возврата процесса тоже доступен в bat-файле через %ERRORLEVEL%, но только если вы дождались завершения 1С. Для этого запускайте её через start "" /wait.

Чем отличаются источники диагностики:

ИсточникЧто в нёмКогда смотреть
Файл /Outсообщения конкретного пакетного запускаоперация не выполнилась, причина неясна
Файл /DumpResultодна цифра: успех или нетпроверка в скрипте
Журнал регистрации базысобытия входа, ошибки, изменения данныхчто делала обработка, запущенная через /Execute
Технологический журналподробный лог платформы, настраивается файлом logcfg.xmlпадения и зависания, которые не видны в /Out

Технологический журнал включают файлом logcfg.xml в каталоге conf платформы (например, C:\Program Files\1cv8\conf\). Он быстро растёт, поэтому включайте его на время разбора и ограничивайте фильтрами по событиям.

Как собрать bat-файл для запуска одной кнопкой

Bat-файл избавляет от длинных строк в консоли и подходит для Планировщика. Пример ночной выгрузки с датой в имени файла и проверкой результата:

@echo off
chcp 65001 > nul
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set BACKUP=E:\Backup
set STAMP=%date:~6,4%-%date:~3,2%-%date:~0,2%

start "" /wait %V8% DESIGNER /F"%BASE%" /N"Администратор" /P"123" /DisableStartupDialogs ^
  /DumpIB"%BACKUP%\buh_%STAMP%.dt" ^
  /Out"%BACKUP%\dump.log" -NoTruncate ^
  /DumpResult"%BACKUP%\result.txt"

set /p RES=<"%BACKUP%\result.txt"
if "%RES%"=="0" (echo Выгрузка прошла успешно) else (echo Ошибка выгрузки, смотрите dump.log)

Что здесь важно:

  1. chcp 65001 переключает консоль на UTF-8. Сохраните сам файл тоже в UTF-8, иначе кириллические имена пользователей превратятся в набор символов и вход не пройдёт.
  2. start "" /wait ждёт, пока 1С закончит. Пустые кавычки после start — заголовок окна, без них start примет путь к 1С за заголовок.
  3. Переменная STAMP берёт дату из %date%. Разбор подходит для формата ДД.ММ.ГГГГ. В другой локали Windows позиции символов будут иные: проверьте командой echo %date%.
  4. Символ ^ переносит длинную команду на следующую строку.

Чтобы открыть конкретную базу ярлыком на рабочем столе, хватит одной строки. Создайте ярлык и в поле «Объект» укажите путь к 1cv8.exe с ключами ENTERPRISE /F"...". Пароль в ярлыке не храните.

Пароль в bat-файле лежит открытым текстом. Заведите для автоматизации отдельного пользователя 1С с минимально нужными правами, а сам файл держите в папке, доступной только администраторам.

После обновления платформы номер версии в пути меняется, а старая папка может быть удалена. Держите путь в одной переменной V8 в начале файла, чтобы править одну строку.

Регламентные операции через Планировщик заданий Windows

Готовый bat-файл ставят в расписание стандартным Планировщиком. Через интерфейс: Пуск → Планировщик заданий → Создать задачу. Или одной командой в консоли, запущенной от имени администратора:

schtasks /create /tn "1C_Buh_DumpIB" /tr "C:\Scripts\dump_buh.bat" /sc daily /st 02:00 /ru "DOMAIN\svc_1c" /rp "ПарольУчётки"

Задача будет запускаться каждый день в 02:00 от имени служебной учётной записи Windows.

Проверьте до первого ночного запуска:

  • 🔐 Учётная запись задачи имеет права на чтение папки базы и запись в папку бэкапов. Если бэкап идёт на сетевую папку, указывайте путь вида \\nas\backup, а не подключённую букву диска: у задачи в фоне буквы сетевых дисков нет.
  • 👤 Задача настроена «Выполнять вне зависимости от регистрации пользователя». Иначе она не стартует, пока никто не вошёл в Windows.
  • 🔑 На компьютере доступна лицензия 1С для этого запуска. Пакетный Конфигуратор занимает лицензию так же, как обычный сеанс.
  • 🧪 Задача хотя бы раз выполнена вручную: правой кнопкой по задаче → Выполнить, затем проверка result.txt и .log.

Старые выгрузки удаляйте тем же скриптом, иначе диск заполнится. Например, строка в конце bat-файла оставит файлы .dt за последние 14 дней:

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

Почему 1С не запускается из командной строки: ошибки и решения

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

Если ничего не помогло, запустите ту же строку вручную в консоли от имени той же учётной записи, под которой работает задача: runas /user:DOMAIN\svc_1c cmd. Так вы увидите ошибку своими глазами, а не в пустом логе.

Частые вопросы о командной строке 1С

Можно ли открыть командную строку Windows прямо из 1С?
Нет, такой кнопки в 1С нет. Разработчик может вызвать внешнюю программу из кода конфигурации методом ЗапуститьПриложение, но это делается в Конфигураторе, а не пользователем.
Как узнать, какие ключи поддерживает моя версия платформы?
Откройте справку платформы в Конфигураторе и найдите раздел о параметрах командной строки. Список ключей меняется от версии к версии, справка всегда соответствует установленной платформе.
Чем 1cv8.exe отличается от 1cestart.exe при запуске из консоли?
1cv8.exe — конкретная версия платформы, её используют в скриптах и пакетном режиме. 1cestart.exe — стартер, который показывает список баз и сам выбирает версию; для автоматизации он неудобен.
Где задать ключи, чтобы они срабатывали у пользователя при каждом входе?
В окне запуска выделите базу, нажмите Изменить и на последнем шаге заполните поле Дополнительные параметры запуска. Настройка хранится в списке баз этого пользователя Windows.
Можно ли запустить пакетный режим для серверной базы с другого компьютера?
Да. На компьютере нужна та же версия платформы, что и на сервере, и доступ к серверу 1С по сети. В строке подключения указывается /S"имя_сервера\имя_базы".