Автоматизация сборки расширений 1С: Бесшовный переход от 1C:EDT к Конфигуратору

31.08.26

Интеграция - Нейросети

Почему ни утилита ring, ни ibcmd не способны «из коробки» собрать бинарный .cfe из исходников EDT без развертывания СУБД? Разработчики коммитят код в Git из 1C:EDT, но на серверы тестирования и в прод по-прежнему требуются бинарные контейнеры Конфигуратора. Ручные манипуляции с XML, локальные временные базы и забытый синтаксический контроль на каждой задаче сжигают часы рабочего времени. В статье разбираем архитектуру инструментов платформы и выстраиваем сквозной автоматический мост между EDT и Конфигуратором: - Анатомия сборки: почему ring только транслирует схему XML, а ibcmd жестко завязана на структуры СУБД; - Трансформация процессов: как освободить программиста от рутины, победить кодировки и Xvfb в Linux и сделать Git единственным источником правды; - Zero-dependency решение: скрипт edt-to-configurator.js, работающий и как консольный сборщик, и как Agent Skill для ИИ-ассистентов; - Ready-to-use CI/CD: готовые конфигурации для GitLab CI и GitHub Actions.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Автоматизация сборки расширений 1С: Бесшовный переход от 1C:EDT к Конфигуратору:
.js 15,46Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Автоматизация сборки расширений 1С: Бесшовный переход от 1C:EDT к Конфигуратору

Построение сквозного CI/CD пайплайна: трансляция текстовых исходников EDT в бинарные контейнеры .cfe без ручного участия разработчика и открытия Конфигуратора.

Архитектурный анализ утилит ring и ibcmd, трансформация процессов разработки и кроссплатформенный сборочный скилл на Node.js

Введение: Прагматичный подход к выбору инструментов

В среде 1С-разработчиков периодически возникают споры о том, что лучше: классический Конфигуратор или современная среда 1C:Enterprise Development Tools (EDT). На самом деле это не конкурирующие «прошлое и будущее», а два инструмента, созданные под принципиально разные задачи.

  • Классический Конфигуратор незаменим для оперативного решения точечных задач. Если нужно зайти в базу, быстро найти ошибку, сделать мелкий фикс прямо «на месте» и мгновенно запустить отладку - Конфигуратор выигрывает за счет скорости. Он работает с базой метаданных напрямую, не требуя предварительного импорта исходников и тотальной индексации.
  • 1C:EDT (тяжелая IDE на базе Eclipse/Java) создавалась для сложной командной разработки. На нее переходят ради избавления от монопольного захвата объектов в Хранилище, ведения параллельной работы в полноценном Git (с ветвлением, пул-реквестами и код-ревью), статического анализа кода, авторефакторинга и интеграции современных ИИ-ассистентов.

Однако при совмещении этих инструментов возникает технический разрыв: разработчики пишут код в EDT в виде текстовых исходников (структурированных XML-файлов и модулей в формате Eclipse), а рантайм платформы 1С по-прежнему выполняет только бинарные упакованные контейнеры конфигураций (.cf) и расширений (.cfe).

Эта статья посвящена тому, как настроить бесшовный автоматический мост между исходным кодом в EDT и исполняемым файлом Конфигуратора в рамках CI/CD пайплайна, чтобы разработчикам и администраторам вообще не приходилось открывать Конфигуратор вручную ради рутинных операций сборки и упаковки.

Под капотом: Архитектурные ограничения утилит ring и ibcmd

При проектировании сборочных конвейеров у инженеров часто возникает вопрос: «Зачем привлекать классический Конфигуратор или создавать временные базы данных, если у нас есть консольная утилита ring или ibcmd

Ответ кроется в особенностях внутренней архитектуры инструментов автоматизации фирмы «1С».

1. Утилита ring как диспетчер трансляции

Сама по себе утилита ring является кроссплатформенной Java-оболочкой и менеджером плагинов. Она не содержит собственного компилятора метаданных 1С. За работу с проектами отвечает устанавливаемый модуль edt (EDT CLI).

Когда мы выполняем экспорт проекта:

Bash - Экспорт проекта EDT в XMLUTF-8
1 ring edt@<версия> workspace export --workspace <путь> --project <имя> --configuration <путь_к_папке_XML>

Происходит только трансляция схем метаданных. Модуль EDT CLI берет структуру файлов проекта (ориентированную на Eclipse и Git) и преобразует её в классическую структуру XML-файлов Конфигуратора. На выходе мы получаем каталог с тысячами XML-файлов и модулей BSL, но не бинарный файл .cfe или .cf. Сама EDT физически не содержит компилятора, способного упаковать эти исходники в бинарный контейнер.

2. Ограничения утилиты ibcmd

Для работы с конфигурациями в автономном («offline») режиме поставляется утилита ibcmd (компонент автономного сервера). С её помощью можно импортировать файлы конфигурации:

Bash - Импорт XML конфигурации через ibcmdUTF-8
1 ibcmd infobase config import --data=<каталог_данных> <путь_к_XML>

Однако ibcmd не является изолированным консольным компилятором. Для выполнения этой команды ей в обязательном порядке требуется инициализировать СУБД (указать параметр --data или путь к файловой базе данных). Под капотом утилита разворачивает таблицы файловой СУБД на диске, выполняет туда загрузку метаданных, сериализует их и только после этого позволяет выгрузить бинарный файл.

Архитектурный вывод:

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

Именно поэтому автоматизированный конвейер должен брать эту двухэтапную рутину на себя:

  1. Вызвать ring для трансляции метаданных проекта EDT в формат XML Конфигуратора.
  2. Инициализировать временную информационную базу средствами платформы.
  3. Выполнить пакетный импорт XML-файлов во временную базу и выгрузить готовый бинарный файл (.cf / .cfe).

Жизненный цикл расширения в разрезе трех ролей

Давайте посмотрим, как автоматизация этого процесса влияет на повседневную работу ключевых участников ИТ-команды.

1. Программист 1С: Исключение рутины

  • Без автоматизации: Для передачи доработок на тестирование программисту приходится прерывать работу в EDT, запускать экспорт в XML, открывать Конфигуратор, создавать локальную базу, загружать файлы и выгружать .cfe. Этот процесс занимает значительное время на каждую итерацию. Из-за спешки разработчики часто пропускают синтаксический контроль модулей во всех контекстах.
  • С автоматизацией: Разработчик работает исключительно в EDT. При завершении задачи он выполняет стандартный git push. Сборочный конвейер сам конвертирует проект, компилирует .cfe и запускает фоновый синтаксический контроль модулей во всех контекстах (сервер, тонкий клиент, веб-клиент), не отвлекая программиста.

2. DevOps-инженер / Системный администратор: Стабильность окружения

  • Без автоматизации: Настройка сборки на headless-серверах Linux требует ручного управления виртуальными дисплеями (Xvfb), очистки зависших файлов блокировок (.1cLck) после аварийных завершений процессов и обработки нетипичных кодировок логов 1С (UTF-16LE / CP1251).
  • С автоматизацией: Инструмент сборки полностью инкапсулирует логику определения версий EDT и платформы. Пайплайн автоматически изолирует рабочие сессии (используя уникальный RUN_ID), нормализует логи сборки в UTF-8, корректно гасит процессы Xvfb и транслирует внутренние коды возврата платформы 1С в стандартные системные сообщения.

3. Архитектор ИТ-систем: Контроль версий как единственный источник правды

  • Без автоматизации: Повышается риск несанкционированного изменения кода, когда бинарные файлы .cfe собираются разработчиками локально и могут содержать незафиксированные в Git изменения или не пройти финальное синтаксическое тестирование в целевом окружении.
  • С автоматизацией: Архитектор внедряет правило: любые изменения попадают в тестовые и продуктивные контуры только через автоматическую сборку на сервере CI/CD. Пайплайн гарантирует, что работающий в СУБД бинарный код на 100% эквивалентен исходному коду, зафиксированному в репозитории Git.

Инструмент автоматизации: Скилл edt-to-configurator.js

Для решения этой задачи разработан легковесный автономный инструмент edt-to-configurator.js, написанный на Node.js без внешних зависимостей.

Этот файл спроектирован по спецификации Agent Skills (стандарт agentskills.io) и может использоваться как:

  1. Самостоятельная CLI-утилита в терминале или CI/CD скриптах сборки.
  2. Расширение (Skill) для ИИ-агентов (например, GitHub Copilot CLI, Claude Code, Cursor, Codex), позволяющее ИИ-помощникам самостоятельно компилировать проекты EDT по текстовому запросу пользователя благодаря декларативному блоку метаданных.

Ключевые возможности:

  • Автоопределение окружения: Автоматически ищет установленные версии платформы «1С:Предприятие» (в Windows/Linux) и установленные версии EDT в реестре утилиты ring.
  • Парсинг проекта: Автоматически извлекает имя проекта из служебного файла .project внутри целевого каталога.
  • Безопасность и очистка: Самостоятельно разворачивает временную файловую базу в каталоге ОС, выполняет импорт и после успешного (или аварийного) завершения полностью очищает дисковое пространство.
  • Кроссплатформенность: Построен на стандартных Node.js API (fs, path, child_process, os), что гарантирует работу как в Windows, так и на Linux.

Инструкция по использованию

CLI-команда конвертации

Скрипт принимает параметры через стандартные аргументы командной строки:

Bash - Конвертация проекта в .cfe через CLIUTF-8
1 node edt-to-configurator.js convert --projectDir "/path/to/edt/project" --output "/path/to/output.cfe"

Доступные аргументы команды convert:

  • --projectDir (обязательный) - путь к каталогу проекта EDT (где лежат .project и папка src).
  • --output (обязательный) - путь для сохранения результата (файл .cfe или каталог для XML-выгрузки при ключе --xmlOnly).
  • --edtVersion (опционально) - конкретная версия EDT (например, edt@2025.2.0), если их несколько. По умолчанию автоопределяется.
  • --platformPath (опционально) - вручную указанный путь к исполняемому файлу платформы 1С (1cv8).
  • --extensionName (опционально) - имя расширения в базе 1С. По умолчанию считывается из файла .project.
  • --xmlOnly (опционально, логический) - выгрузить только в формате XML-исходников Конфигуратора без последующей сборки бинарного .cfe.

Пример интеграции в CI/CD пайплайны

Вариант 1: GitLab CI (.gitlab-ci.yml)

Благодаря Node.js и кроссплатформенности, шаг сборки в GitLab Runner на Linux выглядит максимально просто:

YAML - .gitlab-ci.ymlUTF-8
1 stages:
2   - build
3  
4 build_extension:
5   stage: build
6   image: node:20-slim # Или ваш базовый образ с установленной платформой 1С и EDT
7   variables:
8     PROJECT_DIR: "./my-edt-project"
9     OUTPUT_FILE: "./build/my-extension.cfe"
10   script:
11     # Инициализация окружения (если требуется)
12     - mkdir -p ./build
13     # Запуск конвертации и сборки с помощью нашего скилла
14     - node ./scripts/edt-to-configurator.js convert --projectDir "$PROJECT_DIR" --output "$OUTPUT_FILE"
15   artifacts:
16     name: "extension-build-$CI_COMMIT_REF_SLUG"
17     paths:
18       - ./build/my-extension.cfe
19     expire_in: 1 week

Вариант 2: GitHub Actions (.github/workflows/build.yml)

Аналогичный шаг сборки для GitHub раннеров:

YAML - .github/workflows/build.ymlUTF-8
1 name: Build 1C Extension
2  
3 on:
4   push:
5     branches: [ "main", "develop" ]
6  
7 jobs:
8   build:
9     runs-on: ubuntu-latest # Или самохостируемый раннер с установленной 1С/EDT
10     steps:
11       - name: Checkout Repository
12         uses: actions/checkout@v4
13  
14       - name: Setup Node.js
15         uses: actions/setup-node@v4
16         with:
17           node-version: '20'
18  
19       - name: Run Build Skill
20         run: |
21           mkdir -p build
22           node ./scripts/edt-to-configurator.js convert \
23             --projectDir "./my-edt-project" \
24             --output "./build/my-extension.cfe"
25  
26       - name: Upload Artifact
27         uses: actions/upload-artifact@v4
28         with:
29           name: compiled-extension
30           path: build/my-extension.cfe

Заключение

Автоматизация трансляции и сборки из EDT в формат Конфигуратора - это прагматичное преодоление архитектурных ограничений платформы. Наличие утилиты ring решает задачу трансляции метаданных, но для финальной сборки нам всё еще нужно ядро СУБД 1С.

Перенос этой рутины в автоматический CI/CD-конвейер с помощью скилла edt-to-configurator.js позволяет разработчикам сосредоточиться на написании кода в современной IDE, администраторам - получить стабильные headless-сборки на серверах, а бизнесу - гарантировать надежность работающих систем.

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.5.27.50

Вступайте в нашу телеграмм-группу Инфостарт

EDT Linux PowerShell CI/CD Автоматизация AI-Agentic-Tools AI-Management-Pipeline

См. также

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    68409    138    41    

144

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    18400    91    29    

80

SALE! %

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Задавайте вопросы базе 1С обычными словами: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения. Всё это работает в самой программе, а Codex и Claude подключаются по желанию.

15989 9891 руб.

30.07.2026    7655    18    4    

18

Нейросети Программист 1С:Предприятие 8 Россия Бесплатно (free)

Как связать 1С и Cursor через MCP так, чтобы AI-агент сам получал актуальную конфигурацию из информационной базы, находил нужный BSL-код, вносил изменения, загружал конфигурацию обратно и запускал 1С:Предприятие. В статье — настройка 1C: Platform Tools, 1C: Platform Tools MCP, OneScript, vanessa-runner и env.json, а также важные нюансы при работе с несколькими проектами, IPC-портами, большими конфигурациями и длительными операциями загрузки. Покажу полный практический цикл на тестовой базе без ручной выгрузки и загрузки XML через Конфигуратор.

28.08.2026    11245    rinat1c    14    

27

DevOps и автоматизация разработки Мониторинг Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

Платформа 1С давно вышла за рамки учетных систем. Сегодня это полноценная среда для создания сложных, высоконагруженных и распределенных приложений. А значит, и стек технологий современного разработчика кардинально изменился. Систематизируем весь инструментарий, который превращает 1С-программиста в инженера: от EDT и Git до автотестов на YAxUnit, контейнеризации приложений в Docker, мониторинга в Prometheus и организации шины данных на Kafka. Разберемся, зачем каждый инструмент нужен, как он вписывается в жизненный цикл разработки и с чего начать его внедрение.

25.08.2026    17122    mrXoxot    49    

68

Нейросети Программист 1С 8.3 Бесплатно (free)

Один проход модели по вопросу из 28 знаков стоит 631 296 умножений и 4,8 секунды. Столько берёт языковая модель на 21 920 параметров, посчитанная прямо в 1С средствами самой платформы. На ней разбираю по шагам, что стоит за каждым словом из модного словаря: токен, словарь, вектор символа, вес, слой, голова внимания, контекст, softmax, температура, KV-кэш. Отдельно про температуру - она вообще не про креативность и управляет выбором буквы уже после того, как модель закончила работу. Отдельно про галлюцинацию - показываю в цикле генерации место, куда физически невозможно вставить "не знаю". Плюс расчёт потолка для встроенного языка, замер цены размера модели и история про метод платформы, которого не существует.

20.08.2026    5428    nedomolkov.ivan    16    

23

Нейросети Программист Бесплатно (free)

SFT-адаптация Qwen/Qwen3.6-27B для разработки на платформе 1C:Enterprise: код на BSL, структура выгрузок BSL+XML, схемы XML и типовые практики конфигураций. Модель ориентирована на ассистента разработчика 1С: навигация по метаданным/XML-выгрузке, пояснение и правка BSL, следование внутренним стандартам кодирования, работа с открытыми кодовыми базами 1С.

03.08.2026    6969    andrew.ab    41    

20

Нейросети Программист Бесплатно (free)

Эта статья не столько про новую программу, сколько про путь: от желания немного улучшить чужой open-source проект — до создания собственного инструмента, который закрывает весь цикл работы с речью. Транскрибация, генерация статей и описаний через LLM, синтез аудиокниг — всё локально, в одном приложении. Исходники открыты, лицензия MIT.

29.07.2026    3311    Ibrogim    24    

30
Для отправки сообщения требуется регистрация/авторизация