Как открыть Конфигуратор 1С через cmd и автоматизировать обслуживание базы

· 10 мин

Содержание

Чтобы запустить 1С в режиме Конфигуратора из командной строки, вызовите исполняемый файл платформы с режимом DESIGNER и путём к базе: "C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль". Для серверной базы вместо /F пишут /S "srv1c\buh". Номер версии в пути подставьте свой — его видно в папке C:\Program Files\1cv8.

Без дополнительных ключей команда просто откроет окно Конфигуратора с уже выполненным входом. Если добавить пакетный ключ (/DumpIB, /UpdateDBCfg, /IBCheckAndRepair и другие), Конфигуратор выполнит операцию без участия человека и закроется. На этом строятся ночные выгрузки, обновления и проверки базы.

Из чего состоит команда запуска Конфигуратора

Любая команда собирается из четырёх частей, порядок ключей после режима не важен:

  1. Исполняемый файл. Для скриптов берите 1cv8.exe конкретной версии из папки bin, а не 1cestart.exe. Стартер сам выбирает версию и может показать окно выбора, а в пакетном режиме это лишнее.
  2. Режим запуска. DESIGNER — Конфигуратор (допустимо и старое написание CONFIG). Для сравнения: ENTERPRISE — пользовательский режим, CREATEINFOBASE — создание новой базы.
  3. Подключение к базе и учётные данные. /F, /S или /IBName плюс /N, /P.
  4. Пакетная команда и служебные ключи. Что сделать и куда писать лог.

Минимальный рабочий пример, который можно вставить в cmd:

"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "123"

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

Справочник основных ключей

КлючЧто делаетПример
/Fпуть к каталогу файловой базы/F "D:\Bases\Buh"
/Sсервер и имя базы в кластере/S "srv1c\buh"
/IBNameбаза по имени из списка в окне запуска/IBName "Бухгалтерия"
/IBConnectionStringстрока соединения целиком/IBConnectionString "File=""D:\Bases\Buh"";"
/N, /Pпользователь и пароль 1С/N "Админ" /P "123"
/WA-, /WA+запрет или разрешение входа по учётной записи Windows/WA-
/UCкод разрешения входа в заблокированную базу/UC "Backup2024"
/Outфайл для служебных сообщений/Out "D:\Logs\upd.log"
/DumpResultфайл с кодом результата/DumpResult "D:\Logs\res.txt"
/DisableStartupDialogsне показывать диалоги при старте—
/DisableStartupMessagesне показывать предупреждения при старте—
/Visibleпоказать окно при пакетной операции—

Подключение к файловой и клиент-серверной базе

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

Для файловой базы указывают каталог, в котором лежит 1Cv8.1CD, а не сам файл:

1cv8.exe DESIGNER /F "D:\Bases\Buh"

Ошибка «указал путь к файлу D:\Bases\Buh\1Cv8.1CD» — одна из самых частых. Платформа воспримет такую строку как каталог и базу не найдёт.

Для базы на сетевом ресурсе используйте UNC-путь: /F "\\fileserver\Bases\Buh". Буквы сетевых дисков в планировщике часто недоступны, потому что задание работает в отдельном сеансе без подключённых дисков.

Серверная база

Для клиент-серверного варианта формат такой: /S "сервер\имя_базы_в_кластере". Имя — то, под которым база зарегистрирована в кластере, а не имя базы на SQL-сервере.

1cv8.exe DESIGNER /S "srv1c\buh" /N "Админ" /P "123"

Если менеджер кластера работает не на стандартном порту 1541, порт пишут через двоеточие: /S "srv1c:2541\buh". Клиент на этой машине должен быть той же версии, что и сервер 1С, иначе соединение не установится.

База из списка

Ключ /IBName подставляет базу по имени, под которым она видна в окне запуска у текущего пользователя Windows. Удобно для ярлыков, но для планировщика ненадёжно: у учётной записи, от которой работает задание, списка баз может не быть. В скриптах лучше прямо писать /F или /S.

Логин, пароль и вход в заблокированную базу

Пользователь 1С

Пара /N "Имя" /P "Пароль" задаёт пользователя информационной базы. Если у пользователя пустой пароль, ключ /P можно не писать. Для пакетных операций с конфигурацией нужен пользователь с полными правами (роль «Полные права» или аналогичная с правом администрирования).

Если в базе нет ни одного пользователя, /N и /P не нужны: Конфигуратор откроется сразу.

Аутентификация Windows

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

Пароль в bat-файле

Пароль администратора в открытом виде в bat-файле — это риск. Минимальные меры:

  • 🔒 положите скрипт в папку, к которой есть доступ только у администратора и учётной записи задания;
  • 👤 заведите отдельного пользователя 1С для обслуживания, а не используйте общий «Администратор»;
  • 🗂 не храните скрипты в общих сетевых папках и не отправляйте их в почту целиком.

Спецсимволы в пароле (&, ^, %, !) в cmd имеют своё значение. Пароль в кавычках обычно проходит, но знак % в bat-файле пишут удвоенным: %%.

Блокировка сеансов и ключ /UC

Загрузка .dt, обновление структуры базы, тестирование и исправление требуют монопольного доступа: в базе не должно быть других сеансов. В типовых конфигурациях на БСП вход блокируют в разделе Администрирование → Обслуживание, в группе завершения работы пользователей. Там же задают код разрешения.

Скрипт заходит в заблокированную базу с этим кодом:

1cv8.exe DESIGNER /F "D:\Bases\Buh" /N "Админ" /P "123" /UC "Backup2024"

Включить и снять блокировку можно и из командной строки, запуском в режиме предприятия с параметром /C:

1cv8.exe ENTERPRISE /F "D:\Bases\Buh" /N "Админ" /P "123" /C "ЗавершитьРаботуПользователей" /UC "Backup2024"
1cv8.exe ENTERPRISE /F "D:\Bases\Buh" /N "Админ" /P "123" /C "РазрешитьРаботуПользователей" /UC "Backup2024"

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

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

Пакетные команды Конфигуратора для обслуживания

Выгрузка и загрузка базы в .dt

rem Выгрузка
1cv8.exe DESIGNER /F "D:\Bases\Buh" /N "Админ" /P "123" /DumpIB "E:\Backup\buh.dt" /Out "E:\Backup\dump.log"

rem Загрузка (заменяет ВСЕ данные базы)
1cv8.exe DESIGNER /F "D:\Bases\Test" /N "Админ" /P "123" /RestoreIB "E:\Backup\buh.dt" /Out "E:\Backup\restore.log"

/RestoreIB полностью затирает базу-приёмник. Проверяйте путь в /F или /S дважды: перепутанные рабочая и тестовая база — классический способ потерять данные. После загрузки пользователи и пароли станут такими, как в выгруженной базе.

Конфигурация: .cf, обновление, файлы XML

ЗадачаКлюч
сохранить конфигурацию в файл/DumpCfg "E:\cfg\buh.cf"
загрузить конфигурацию из файла/LoadCfg "E:\cfg\buh.cf"
обновить конфигурацию на поддержке файлом обновления/UpdateCfg "E:\upd\1cv8.cfu"
применить изменения к структуре базы/UpdateDBCfg
выгрузить конфигурацию в XML-файлы/DumpConfigToFiles "E:\src"
загрузить конфигурацию из XML-файлов/LoadConfigFromFiles "E:\src"

/LoadCfg и /UpdateCfg меняют только основную конфигурацию. Чтобы изменения попали в базу данных, в той же команде или следующей добавьте /UpdateDBCfg:

1cv8.exe DESIGNER /F "D:\Bases\Buh" /N "Админ" /P "123" /UC "Backup2024" /UpdateCfg "E:\upd\1cv8.cfu" /UpdateDBCfg /Out "E:\Logs\update.log"

Файл 1cv8.cfu подходит, только если конфигурация стоит на поддержке и релиз в базе — один из тех, от которых рассчитано обновление. Если релиз пропущен, сначала накатите промежуточные.

Если конфигурация снята с поддержки или доработана, пакетное обновление .cfu без сравнения и объединения может затереть доработки. Такие базы обновляют вручную в окне Конфигуратора.

Тестирование и исправление

Ключ /IBCheckAndRepair запускает тот же механизм, что и пункт «Тестирование и исправление» в меню Администрирование Конфигуратора. Режимы задают параметрами:

  • 🔁 -ReIndex — реиндексация таблиц;
  • 🧩 -LogIntegrity — проверка логической целостности;
  • 🔗 -LogAndRefsIntegrity — логическая и ссылочная целостность;
  • 🧮 -RecalcTotals — пересчёт итогов;
  • 🗜 -IBCompression — сжатие таблиц (только файловая база);
  • 🔍 -TestOnly — только проверка, без исправления.
1cv8.exe DESIGNER /F "D:\Bases\Buh" /N "Админ" /P "123" /UC "Backup2024" /IBCheckAndRepair -ReIndex -LogIntegrity -RecalcTotals /Out "E:\Logs\check.log"

Перед исправлением сделайте выгрузку .dt: режимы с исправлением меняют данные необратимо. Сначала прогоните с -TestOnly и прочитайте лог.

Проверка модулей и кэш

/CheckModules с параметрами -ThinClient, -Server, -ExternalConnection проверяет синтаксис модулей конфигурации. Удобно после загрузки доработок. Ключ /ClearCache очищает кэш клиента при запуске: помогает, если после обновления Конфигуратор показывает старую структуру.

Bat-файл и планировщик заданий Windows

Скрипт ночной выгрузки

Ниже — рабочий скрипт: блокирует вход, делает выгрузку с датой в имени, снимает блокировку и удаляет копии старше 14 дней.

@echo off
chcp 65001 > nul
set EXE="C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set USR=Обслуживание
set PWD=Пароль123
set CODE=Backup2024
set DIR=E:\Backup
set STAMP=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%

%EXE% ENTERPRISE /F "%BASE%" /N "%USR%" /P "%PWD%" /WA- /C "ЗавершитьРаботуПользователей" /UC "%CODE%" /DisableStartupMessages
timeout /t 300 /nobreak > nul

%EXE% DESIGNER /F "%BASE%" /N "%USR%" /P "%PWD%" /WA- /UC "%CODE%" /DumpIB "%DIR%\buh_%STAMP%.dt" /Out "%DIR%\dump_%STAMP%.log" /DumpResult "%DIR%\result.txt" /DisableStartupDialogs

%EXE% ENTERPRISE /F "%BASE%" /N "%USR%" /P "%PWD%" /WA- /C "РазрешитьРаботуПользователей" /UC "%CODE%" /DisableStartupMessages

forfiles /p "%DIR%" /m *.dt /d -14 /c "cmd /c del @path"

Пояснения к неочевидным местам:

  • 📝 chcp 65001 нужен, если файл сохранён в UTF-8 и в нём есть кириллица (имя пользователя, параметр /C). Второй вариант — сохранить bat в кодировке OEM 866 без chcp.
  • 📅 Разбор %DATE% рассчитан на формат ДД.ММ.ГГГГ. На сервере с другими региональными настройками позиции символов будут другими: проверьте командой echo %DATE%.
  • ⏱ Пауза в 300 секунд даёт механизму блокировки время завершить сеансы. Платформа завершает их не мгновенно.
  • 🧹 forfiles ... /d -14 удаляет .dt старше 14 дней. Меняйте число под свою политику хранения.

Задание в планировщике

Задание создают через «Планировщик заданий» Windows или одной командой:

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

На что смотреть в свойствах задания:

  1. Включите «Выполнять вне зависимости от регистрации пользователя», иначе скрипт не запустится, пока никто не вошёл на сервер.
  2. Учётная запись задания должна иметь права на каталог базы, на папку бэкапов и на запуск 1С. Если ключ защиты или лицензия привязаны к пользователю, проверьте запуск 1С именно под этой учёткой.
  3. Поставьте ограничение времени выполнения с запасом: выгрузка крупной базы идёт часами.
  4. Сначала запустите задание вручную и прочитайте логи. Только потом ставьте по расписанию.

Логи, коды результата и разбор сбоев

Куда смотреть

/Out "файл.log" собирает служебные сообщения: ошибки входа, текст исключения, сообщения о монопольном режиме. По умолчанию файл перезаписывается при каждом запуске. Чтобы дописывать в конец, добавьте параметр -NoTruncate: /Out "E:\Logs\all.log" -NoTruncate.

/DumpResult "файл.txt" записывает число: 0 — операция прошла, 1 — ошибка. Код %ERRORLEVEL% после 1cv8.exe для этой цели ненадёжен, поэтому проверяют содержимое файла:

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

На этот блок удобно повесить отправку письма или сообщения в мессенджер через любую утилиту, которая у вас уже есть.

Отладка зависшего скрипта

Если процесс 1cv8.exe висит в диспетчере задач, а лог пустой, скорее всего, платформа ждёт ответа в невидимом окне. Добавьте /Visible и запустите скрипт вручную: на экране станет видно, какой вопрос она задаёт. В рабочей версии этот диалог подавляют ключами /DisableStartupDialogs и /DisableStartupMessages.

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

Частые ошибки в скриптах

  • ❌ Запуск через 1cestart.exe. Стартер может открыть окно выбора версии и ждать человека. В пакетном режиме вызывайте 1cv8.exe из папки нужной версии.
  • ❌ Путь к версии «зашит» навсегда. После обновления платформы старую версию удаляют, и скрипт падает. Держите путь в одной переменной EXE в начале файла.
  • ❌ Нет /UpdateDBCfg после /LoadCfg. Конфигурация загружена, а база работает по-старому, и при следующем открытии Конфигуратор предлагает обновить структуру.
  • ❌ Блокировку забыли снять. Если выгрузка упала, а последняя команда скрипта не выполнилась, утром никто не войдёт. Ставьте снятие блокировки отдельной строкой, которая выполняется в любом случае.

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

Чем отличаются режимы DESIGNER и CONFIG?
Ничем, это два написания одного режима Конфигуратора. В новых скриптах принято писать DESIGNER.
Можно ли выгрузить базу в .dt, пока в ней работают пользователи?
Выгрузка не требует монопольного доступа, но данные, которые меняют во время выгрузки, могут попасть в файл несогласованно. Для резервной копии лучше заблокировать вход на время операции.
Как запустить сразу несколько баз одним скриптом?
Повторите строку запуска с разными /F или /S. Операции выполняются последовательно, если вызывать 1cv8.exe без start: следующая начнётся после завершения предыдущей.
Где посмотреть все ключи командной строки для своей версии?
В документации к платформе: раздел о параметрах командной строки запуска есть в руководстве администратора. Набор ключей расширяется от версии к версии, поэтому сверяйтесь с документацией той версии, что установлена у вас.
Как создать новую базу из командной строки?
Режимом CREATEINFOBASE: 1cv8.exe CREATEINFOBASE File=“D:\Bases\New” создаёт пустую файловую базу. Конфигурацию в неё затем загружают ключом /LoadCfg или /RestoreIB.