Почему не работает автоматическое создание хранилища через /ConfigurationRepositoryCreate и как это исправить

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

В процессе автоматизации разработки на платформе 1С:Предприятие 8.3 часто возникает необходимость программного создания хранилища конфигурации. Это критически важно для настройки серверов сборки (CI/CD) или автоматического развертывания новых сред разработки. Однако многие разработчики, переходя на версии платформы 8.3.18 и выше, сталкиваются с тем, что привычная команда /ConfigurationRepositoryCreate перестает работать в "тихом" режиме и вместо выполнения действия открывает интерактивное окно Конфигуратора. Проанализируем причины этого поведения и разберем по шагам рабочие способы решения проблемы.

Разбор стандартной команды и сути проблемы

Рассмотрим типичный пример команды, которая должна создавать хранилище конфигурации из командной строки Windows (CMD):


D:\Progra~2\1cv8\8.3.18.1520\bin\1cv8.exe DESIGNER /F D:\tmp\1 /ConfigurationRepositoryF D:\tmp\1\Хранилище /ConfigurationRepositoryN Администратор /ConfigurationRepositoryCreate

В этой конструкции мы используем следующие ключи:

Проблема заключается в том, что в версии 8.3.18.1520 (и некоторых соседних релизах) платформа игнорирует эти параметры и останавливается на этапе открытия диалогового окна "Создание хранилища конфигурации", где поля остаются пустыми. Это делает невозможной автоматизацию процесса.

Основное решение: подавление стартовых диалогов

Выясним причину такого поведения. В новых версиях платформы 1С реализованы механизмы защиты и "помощники первого запуска". Если платформа считает текущий сеанс новым или требующим внимания пользователя (например, при первом запуске конкретного релиза или после очистки настроек), она выводит интерактивные окна, которые блокируют выполнение пакетных команд.

Для решения этой проблемы необходимо добавить в строку запуска специальные ключи подавления сообщений. Рассмотрим наиболее эффективный вариант:


D:\Progra~2\1cv8\8.3.18.1520\bin\1cv8.exe DESIGNER /F D:\tmp\1 /ConfigurationRepositoryF D:\tmp\1\Хранилище /ConfigurationRepositoryN Admin /ConfigurationRepositoryCreate -DisableStartupDialogs

Параметр -DisableStartupDialogs заставляет систему игнорировать любые всплывающие окна начальной настройки. Также рекомендуется использовать дополнительный ключ /DisableStartupMessages, который отключает информационные сообщения платформы.

Учет обязательности пароля и синтаксиса

Проанализируем еще одну тонкость, которая появилась в современных сборках 1С (начиная с 8.3.15+). Парсер командной строки стал более строгим к набору параметров. Даже если вы создаете хранилище без пароля, система может ожидать явного указания этого факта. Посмотрим на пример кода с использованием пустого пароля:


"C:\Program Files\1cv8\8.3.18.1520\bin\1cv8.exe" DESIGNER /F "D:\Base1" /ConfigurationRepositoryF "D:\Repo" /ConfigurationRepositoryN "Admin" /ConfigurationRepositoryP "" /ConfigurationRepositoryCreate -DisableStartupDialogs

Здесь параметр /ConfigurationRepositoryP "" (две кавычки) явно передает пустую строку в качестве пароля. В некоторых случаях отсутствие этого ключа приводило к сбою логики "тихого" исполнения.

Проблемы с кодировкой и кириллицей в путях

Если вы запускаете команду через .bat или .cmd файл, крайне важно обратить внимание на кодировку самого скрипта. Платформа 1С чувствительна к передаваемым путям, содержащим кириллицу (например, \Хранилище).

  1. Если файл сохранен в кодировке UTF-8, командная строка Windows может передать в 1С "битые" символы, и программа не сможет найти или создать папку.
  2. Для корректной работы командных файлов в Windows рекомендуется использовать кодировку OEM 866.
  3. Использование латиницы в путях (например, D:\tmp\repo вместо D:\tmp\Хранилище) является хорошей практикой, которая снимает большинство проблем с кодировками.

Диагностика через файл лога

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


1cv8.exe DESIGNER /F "D:\Base" ... /ConfigurationRepositoryCreate /Out "C:\Logs\1c_log.txt" -NoTruncate

Проанализируем файл 1c_log.txt после запуска. В нем могут содержаться сведения о нехватке прав доступа, отсутствии лицензии или блокировке базы данных другим процессом. Без ключа /Out эти ошибки просто не отображаются в консоли, а 1С пытается переключиться в графический режим для их показа.

Альтернативный метод: Режим агента конфигуратора

Для продвинутой автоматизации, особенно в окружениях, где требуется выполнение множества операций с хранилищем (создание, захват объектов, обновление), рассмотрим использование режима Агента конфигуратора. Это современный способ работы с 1С без графического интерфейса.

Запуск осуществляется через ключ /AgentMode. В этом режиме платформа ожидает команды через SSH или через файл команд. Преимущество данного метода в том, что он изначально спроектирован для работы в серверных сценариях и по определению игнорирует все интерактивные диалоги, которые мешают при обычном запуске через DESIGNER.

Итоговые рекомендации

Подводя итог, если у вас не создается хранилище в версии 8.3.18, выполните следующие шаги:

  1. Добавьте ключ -DisableStartupDialogs в конец вашей команды.
  2. Явно укажите пустой пароль через /ConfigurationRepositoryP "".
  3. Оберните все пути с пробелами или кириллицей в двойные кавычки.
  4. Убедитесь, что у пользователя, под которым запускается cmd.exe, есть полные права на папку, где создается хранилище.
  5. Проверьте, что версия платформы в пути запуска (например, 8.3.18.1520) точно соответствует установленной в системе.

Соблюдение этих правил позволит вам стабильно автоматизировать работу с хранилищем конфигурации в любых версиях платформы 1С:Предприятие.

← На главную