Автоматизация сборки расширений 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
2 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С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Подключите ИИ к 1С и решайте рабочие задачи обычными словами. От работы с данными до доработки конфигурации через расширения, всё в привычном чате с ИИ-помощником. Теперь с поддержкой DeepSeek Harness, Kimi Code и Kimi Work, доступных в России без VPN.

15990 руб.

30.07.2026    19316    40    4    

36

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-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21428    104    32    

90

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

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

15250 руб.

25.08.2025    76705    147    41    

154

SALE! 30%

Нейросети 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение добавляет в 1С чат с ИИ-агентом. Пользователь пишет вопрос обычными словами: «какие УПД не подписаны?», «какой НДС к уплате за квартал?», «что висит на согласовании дольше недели?», а агент сам строит запросы к базе с правами этого пользователя и отвечает цифрами, таблицей, диаграммой или файлом Excel. Плитки «Аналитик», «Бухгалтер» и «Руководитель» дают сводку по базе одной кнопкой. Агент разбирает ошибки по скриншоту, сверяет прайсы поставщиков и проверяет коды маркировки. С версии 1.0.21 спрашивать можно и с телефона: QR-код в окне агента, без установки приложения. Работает в УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0, Документооборот 3.0 и Альфа-Авто 6, ставится одним расширением.

18300 руб.

05.10.2026    3352    10    9    

11

Инструментарий разработчика Нейросети Системный администратор Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Обработка заменяет ФИО, организации, ИНН, ИИН, БИН, ОГРН, КПП, БИК, счета и IBAN, паспорта, СНИЛС, адреса, телефоны, почту и суммы на правдоподобные выдуманные перед отправкой данных в ChatGPT, Claude или YandexGPT, а потом расшифровывает ответ модели обратно, подставляя настоящие имена и настоящие числа. Возвращаются и те итоги, которые модель посчитала сама: суммы масштабируются одним коэффициентом, поэтому пропорции и доли переживают обезличивание. Словарь замен хранится в самой базе и подхватывается автоматически, даже если обработку закрывали. Реквизиты России и Казахстана, любая конфигурация от 8.3.24, без единой зависимости.

14640 руб.

07.08.2026    2134    3    0    

3

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

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    1398    1    0    

1

Инструментарий разработчика Нейросети Разработчик 1С 8.3 Бесплатно (free)

Сделал внешнюю обработку и небольшой MCP-сервер, через которые ИИ-агент выполняет запросы, выражения и код прямо в открытом сеансе 1С и смотрит метаданные конфигурации. В конфигурацию ничего не встраивается и ничего не публикуется: команды ходят файлами через каталог на вашем компьютере. Серверный код агента по умолчанию откатывается, а запись в базу вы разрешаете сами, тумблером на форме обработки.

29.10.2026    4735    nt_app    12    

25

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

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

28.10.2026    8690    pfihr    12    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. hexhoc 193 09.10.26 09:11 Сейчас в теме
Для автоматизации лучше использовать нативные инструменты, cmd, powershell, bash, которые не требуют установки дополнительных компонентов. В крайнем случае python как универсальный инструмент для автоматизации задач, понятный всем, программистам, админам, девопсам
2. Ninel_S 214 09.10.26 16:36 Сейчас в теме
(1)
Для автоматизации лучше использовать нативные инструменты, cmd, powershell, bash, которые не требуют установки дополнительных компонентов. В крайнем случае python как универсальный инструмент для автоматизации задач, понятный всем, программистам, админам, девопсам


Благодарю Вас, Коллега, внимательно изучила Ваши замечания и полностью проверила их по тексту моей статьи. Вы абсолютно правы в главном: полноценного автономного компилятора в экосистеме 1С действительно не существует. Все доступные утилиты вроде ring и механизмы EDT умеют транслировать метаданные в формат XML-файлов. В свою очередь, утилита ibcmd для итоговой сборки файла расширения `.cfe` в любом случае требует наличия и запуска временной файловой базы. Именно поэтому предложенный Node.js-скрипт не пытается обойти платформенные ограничения, но удобно автоматизирует этот неизбежный двухэтапный процесс. Мой скрипт берет на себя всю рутину: сначала конвертирует исходники через ring, затем разворачивает окружение, собирает `.cfe` и аккуратно подчищает за собой следы. Перенос этой логики на Python или любой другой язык просто изменит обертку, но никак не изменит архитектуру платформы. Мой подход делает сборку полностью переносимой и идеально подходящей для встраивания в CI/CD-пайплайны.

Ответила ли я на Ваше замечание?
Или у Вас остались вопросы?
3. hexhoc 193 10.10.26 10:02 Сейчас в теме
Понятно, а что вы можете сказать про использование нативных инструментов, таких как CMD или powershell. Буду очень благодарен если напишите алгоритм сортировки на python
4. Ninel_S 214 10.10.26 13:33 Сейчас в теме
(3)
Буду очень благодарен если напишите алгоритм сортировки на python


Простите, Коллега, алгоритм сортировки чего именно?
Для отправки сообщения требуется регистрация/авторизация