Как открыть Конфигуратор 1С через cmd и автоматизировать обслуживание базы
Содержание
Чтобы запустить 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 и другие), Конфигуратор выполнит операцию без участия человека и закроется. На этом строятся ночные выгрузки, обновления и проверки базы.
Из чего состоит команда запуска Конфигуратора
Любая команда собирается из четырёх частей, порядок ключей после режима не важен:
- Исполняемый файл. Для скриптов берите
1cv8.exeконкретной версии из папкиbin, а не1cestart.exe. Стартер сам выбирает версию и может показать окно выбора, а в пакетном режиме это лишнее. - Режим запуска.
DESIGNER— Конфигуратор (допустимо и старое написаниеCONFIG). Для сравнения:ENTERPRISE— пользовательский режим,CREATEINFOBASE— создание новой базы. - Подключение к базе и учётные данные.
/F,/Sили/IBNameплюс/N,/P. - Пакетная команда и служебные ключи. Что сделать и куда писать лог.
Минимальный рабочий пример, который можно вставить в 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С. Если ключ защиты или лицензия привязаны к пользователю, проверьте запуск 1С именно под этой учёткой.
- Поставьте ограничение времени выполнения с запасом: выгрузка крупной базы идёт часами.
- Сначала запустите задание вручную и прочитайте логи. Только потом ставьте по расписанию.
Логи, коды результата и разбор сбоев
Куда смотреть
/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. Конфигурация загружена, а база работает по-старому, и при следующем открытии Конфигуратор предлагает обновить структуру. - ❌ Блокировку забыли снять. Если выгрузка упала, а последняя команда скрипта не выполнилась, утром никто не войдёт. Ставьте снятие блокировки отдельной строкой, которая выполняется в любом случае.