Поставка расширения конфигурации с помощью команд строки запуска "1С:Предприятие", GIT, KDiff3

26.10.25

Разработка - DevOps и автоматизация разработки

Позволяет проектировать и выполнять сценарии, состоящие из команд 1С, Git и CMD, а также решать конфликты слияния напрямую из 1С с помощью KDiff3. Предустановлен набор команд для автоматизации сборки CFE-файлов.

Файлы

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

Наименование Скачано Купить файл
Поставка расширения конфигурации с помощью Команд строки запуска "1С:Предприятие", GIT, KDiff3
.cfe 150,42Kb
8 2 500 руб. Купить

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

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

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

Исходные условия

Команда: 20 разработчиков.

Конфигурация: Демонстрационная конфигурация "Библиотека стандартных подсистем", редакция 3.1 (3.1.10.383).

Расширение конфигурации: «_ДемоРасширение» - для доработки типового и внедрения нового функционала.


Описание процесса

Основная конфигурация остаётся на поддержке от поставщика. Без возможности внесения в нее изменений - на замке. Команда разработки добавляет необходимый новый функционал через расширение конфигурации "_ДемоРасширения".

 

Возможные сценарии организации разработки и связанные с ними проблемы

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

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

  • Простои. Ожидание освобождения корня другим разработчиком по завершении его задачи.
  • Сложность контроля изменений. Если отпускать корень расширения конфигурации сразу после заимствования объектов основной конфигурации, то, велика вероятность, что изменения по одной функциональной задаче попадут в хранилище расширения разрозненными частями (по мере работы с объектами). Этот процесс затруднит ревью кода (отсутствие целостного представления о решении), и повысит риск нестабильности DEV-среды - частичные изменения, в рамках решения одной задачи, может нарушить работоспособность DEV среды.

Сценарий 2: разработка без подключения к хранилищу расширения конфигурации.

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

  • Ручной труд и сложное слияние. Нужно точно помнить все объекты, которые были изменены в локальном расширении конфигурации. Чтобы внести свои изменения, приходится использовать «Сравнение и объединение с конфигурацией из файла...», без доступа к функциональности «Показывать только дважды измененные свойства».
  • Риск конфликтов. Высокая вероятность затереть чужие изменения, сделанные за время своей автономной работы, или получить конфликт изменений. Это требует ручного и очень аккуратного разрешения.

 

Выбранный сценарий

Выбираем в качестве основной схемы разработки Сценарий 2, при котором разработчик решает задачу в отключённом от хранилища расширении конфигурации.

 

Потребность

Необходим инструмент, автоматизирующий создание CFE-файла расширения конфигурации, который содержал бы в себе изменения из хранилища расширения конфигурации и расширения конфигурации базы разработки. Этот инструмент должен эмулировать процесс Технологии разветвленной разработки конфигураций.


Идея решения

Проектируем и создаем средствами 1С инструмент, который бы мог выполнить и показать результат выполнения скрипта вида:

  • Создаем локальный репозиторий Git;
  • В локальном репозитории переключаемся на ветку master (или main) и выгружаем конфигурацию и расширение конфигурации в файлы XML;
  • В своей базе (отключенной от хранилища расширения конфигурации) выполняем разработку задачи;
  • В локальном репозитории переключаемся на ветку DEV и выгружаем конфигурацию и расширение конфигурации из нашей базы с выполненной задачей в файлы XML;
  • В локальном репозитории переключаемся обратно на ветку master (main), получаем актуальные версии из хранилищ конфигурации и расширения, и выгружаем их в файлы XML;
  • Выполняем слияние (merge) изменений из ветки master (main) в ветку DEV;
  • При необходимости разрешаем возникшие конфликты слияния;
  • Из ветки DEV собираем файлы CF и CFE для дальнейшего использования.

 

Дополнительные средства

БСП: версия от 3.0.3.229

Kdiff3: https://sourceforge.net/projects/kdiff3/files/kdiff3/0.9.98/

GIT: https://git-scm.com/downloads

 

Тестовая среда

Платформа: 1С:Предприятие 8.3 (8.3.26.1581)

Конфигурация: Демонстрационная конфигурация "Библиотека стандартных подсистем", редакция 3.1 (3.1.10.383) 

Расширение конфигурации: _ДемоРасширение

Клиент-серверная база (пустая, подключенная к хранилищу расширения): Srvr="localhost";Ref="base_1";

Клиент-серверная база (с данными, для разработки): Srvr="localhost";Ref="base_2";

 
 Тестовые данные
Изменения которые сделаны другими разработчиками, и помещены в хранилище расширения конфигурации.
База: Srvr="localhost";Ref="base_1";
Ветка: master (main)
Изменения сделанные в локальном расширении конфигурации в рамках решения одной функциональной задачи.
База: Srvr="localhost";Ref="base_2";
Ветка: DEV
В финальном файле расширения конфигурации должен быть отражён результат слияния веток master (main) и DEV

 

Описание решения
В качестве решения было разработано расширение конфигурации «Сборщик проектов». Его основное назначение — выполнение набора команд по запросу пользователя.

 
 Справочник «Инструменты разрешения конфликтов»
 
 Справочник «Команды»
 
 Справочник «Сценарии сборки»
 
 Справочник «Конфигурации»
 
 Обработка «Выполнение сценариев»
Для выполнения сценария требуется задать: (1) путь к 1cv8.exe, (2) рабочую конфигурацию и (3) целевой сценарий. При выборе сценария происходит автоматическое заполнение таблицы командами.
Для выполнения сценария необходимо воспользоваться командой "Выполнить сценарий". После активации команды система автоматически запустит все шаги указанного сценария в заданной последовательности.
Система логирует результаты выполнения каждой команды сценария. Все логи выводятся в отдельной форме просмотра.
Если на форме логов становится доступной к использованию команда "Разрешить "Merge conflict"", то мы можем разрешить их прямо сейчас, воспользовавшись выбранным в описании "Конфигурации" инструментом разрешения конфликтов.
Команда "Разрешить "Merge conflict"" открывает специальную форму, содержащую список файлов с возникшими конфликтами слияния (merge-конфликтами).
Для разрешения конфликта, необходимо выбрать нужный файл и выполнить команду "Разрешить конфликт".

В результате выполнения команды Сборка CF и CFE из DEV (Демо) в каталоге репозитария сборки проекта build_cf_cfe будут созданы файлы "поставки" CF и CFE, которые можно с помощью "Сравнить объединить.." отнести в основное хранилища.

В результате, в списке отличий, система покажет только наши изменения.

 

Заключение
В результате решения задачи по автоматизации создания CFE-файла (склейка хранилища расширения конфигурации и расширения базы разработки), был разработан простой инструмент, который позволяет проектировать, исполнять и просматривать результат исполнения сценариев (скриптов), состоящие из Команд запуска "1С:Предприятие", команд GIT и CMD. Данное решение позволяет решать merge конфликты в одном окне - запуская KDiff3 непосредственно из 1С.

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

 

Страничка проекта

project_builder_1C.git

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

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.239

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

расширение конфигурации поставка показывать только дважды измененные свойства командная строка запуска "1С:Предприятие" GIT KDiff3

См. также

DevOps и автоматизация разработки Тестирование QA Программист Пользователь 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.35.48.

5000 руб.

05.08.2024    5402    36    1    

19

Тестирование QA DevOps и автоматизация разработки Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.22.145.

5000 руб.

04.07.2022    12904    50    1    

38

Тестирование QA DevOps и автоматизация разработки Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.190.11.

5368 руб.

20.01.2022    11128    42    1    

19

DevOps и автоматизация разработки Программист Бесплатно (free)

Если вы думаете, что внедрение CDC конвейера — это геморрой, то вы правы. Но мы уже прошли через все боли: от настройки MSSQL CDC до танцев с Kafka и ClickHouse. Теперь конвейер работает и данные ключевых операций в 1С, от которых зависит бизнес, попадают в ClickHouse, где их можно анализировать и использовать для мониторинга в реальном времени. В этой статье я расскажу, как выглядит архитектура и с какими проблемами можно столкнуться

05.03.2026    453    NesterTop1    4    

5

DevOps и автоматизация разработки EDT Программист Бесплатно (free)

Разбираемся, почему ручной деплой в 1С все еще жив и сколько времени он на самом деле занимает, несмотря на стремительное развитие CI/CD-подходов. На реальном кейсе показываем, что корень проблемы чаще кроется не в автоматизации, а в ее неэффективной настройке. Событийная модель вместо расписаний, параллельные тесты, использование кеша Gitlab для оптимизаций и правильные настройки для управления репозиториями на раннерах радикально меняют скорость delivery. Объясняем, почему переход на Docker иногда замедляет процесс, как платформенные особенности 1С влияют на пайплайны и какие стратегии позволяют устранить узкие места. Материал будет полезен тем, кто хочет понять реальную стоимость ручного деплоя и сравнить ее с возможностями правильно настроенной автоматизации.

04.03.2026    536    konst1231    0    

4

DevOps и автоматизация разработки EDT Программист 1С 8.3 Бесплатно (free)

Входные данные - конфигурация 1С в формате EDT, для системы контроля версий используется Git, две базы - рабочая и тестовая. Задача: коммит в ветку должен автоматически обновлять базу. Без ручного запуска конфигуратора, без «сохрани CF и скопируй на сервер». Инструмент - GitHub Actions + PowerShell-скрипты на сервере. Платформа 8.3.27.

27.02.2026    728    BiLBelarus    0    

4

DevOps и автоматизация разработки WEB-интеграция Программист Бесплатно (free)

В этой статье я расскажу, как настроить автоматическое обновление файлов поставки на Infostart сразу после создания релиза в GitHub. Больше не нужно вручную скачивать <code>.cfe</code> и загружать его через браузер

17.02.2026    425    Aleksandr    1    

6

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

Один репозиторий GitHub и одно расширение, которое нужно выпускать сразу для нескольких конфигураций 1С — звучит как «будут конфликты». В статье показываю рабочую схему: main как ядро, ветки; сборки под конфигурации, `git worktree`, чистая XML;выгрузка (без EDT артефактов) и автоматизация сборки `.cfe` через PowerShell + 1cv8 DESIGNER.

11.02.2026    2512    Aleksandr    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. van_za 314 29.07.25 13:37 Сейчас в теме
Крутое оформление!!!
2. djalilovv_RSH 45 29.07.25 21:47 Сейчас в теме
Классно. Однозначно попробую!
3. alex_bob 259 30.07.25 13:58 Сейчас в теме
Что-то не всё понял.
1. Сколько по времени занимает выполнение сценариев с учетом улаживания конфликтов?
2. Как разрешаете конфликты в файлах ConfigDumpInfo.xml?
3. Как гарантируете, что за время подготовки расширения другой разработчик не положит в хранилище свои изменения?
4. Почему не используете EDT?
4. gorsheninsn 54 31.07.25 12:15 Сейчас в теме
(3)
1. Самая длительная операция — это выгрузка конфигураций в файлы. Если в команды запуска «1С:Предприятие» добавить «Инкрементальную выгрузку конфигурации в XML», то эта операция будет происходить быстрее.
2. ConfigDumpInfo.xml в *.gitignore. Нам не нужно его мержить. Он не важен для сборки файлов поставки.
3. Никак. Если очень активная разработка и нужна гарантия, то выход один — захватить рекурсивно корень конфигурации на время сборки своего файла поставки.
4. Адекватных причин нет. Нафантазируем сценарий, где куча подрядчиков и договорённостей с ними, что разработку ведём только в конфигураторе.
5. mikeA 1 31.07.25 13:25 Сейчас в теме
Для xml не пробовали что-то типа Oso использовать? Интересен был бы опыт. Потому что если не сортировать постоянно дерево метаданных, есть вероятность что xml разъедется при обычном text merge.
6. gorsheninsn 54 31.07.25 14:29 Сейчас в теме
(5) Видимо речь идет про Oso XML Merge. К сожалению, нет опыта использования этого инструмента.
Для отправки сообщения требуется регистрация/авторизация