Обновление расширений. Автоматизация процесса

11.12.24

База данных - Обновление 1С

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

    При доработке конфигураций, находящихся на поддержке через расширения возникают проблемы при выпуске вендором новых версий основной конфигурации. Часть проблем можно решить, используя директиву &ИзменениеиКонтроль, однако при использовании директив &Вместо,&После и &Перед нет типовых средств, позволяющих понять, а не потеряло ли расширение актуальность, не требуется ли доработка переопределенных методов.
    Также типовая проверка применимости не учитывает переопределение событий форм и их реквизитов (вместо переопределения методов модуля).

    Предлагаемое решение представляет собой внешнюю обработку (CfeUpdater.epf), позволяющую увидеть и исправить все проблемные и потенциально проблемные места в расширении, связанном с основной конфигурацией при обновлении последней на новый релиз. Обработка сравнивает методы, а не модули целиком. Также обработка при помощи утилиты git (git-merge) пытается автоматически применить изменения из новой версии конфигурации если не были обнаружены конфликты.

        Для работы обработки необходимо наличие на компьютере программы, позволяющей выполнять трехстороннее сравнение текстов. Примером таких программ может быть KDiff3 или P4Merge.
Для автоматического объединения необходимо наличие консольного git клиента, например https://git-scm.com/

    Обработка использует для разбора текстов с помощью регулярных выражений внешнюю компоненту https://github.com/alexkmbk/RegEx1CAddin и работает как Windows, так и в Linux системах.

Как пользоваться:

1. Подготовить исходные коды

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

 2. Открыть обработку

В любой конфигурации, содержащей БСП в режиме 1С: Предприятия обработку CfeUpdater.epf

3. При первом запуске возникнет запрос на разрешение подключения внешней компоненты RegEx

Отвечаем "Да"

4. При первом запуске настраиваем программы объединения

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

   Рекомендуется выбрать Kdiff3  (более богатые возможности по просмотру изменений) и стандартный консольный git клиент 


 

5. Указываем каталоги с исходниками


    После закрытия настроек в основной форме указать путь к каталогам с выгруженными конфигурациями и расширением, созданным на этапе 1.

6. Указываем каталог с результатом обновления

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

7. Выполняем анализ изменений

Нажимаем кнопку Анализ и дождаться его завершения ( несколько секунд)

 

 

8. Обрабатываем все проблемы на закладке "Проблемы"

    На вкладке "Проблемы" показаны критические проблемы, из-за которых расширение не будет применено или будет работать некорректно

   Результат представлен в виде дерева, строки которого указывают на проблемные методы. Часть проблем могут быть разрешены автоматически при помощи git, они отмечены в колонке "Авто", остальные требуют запуска программы сравнения. Это можно сделать либо двойным щелчком или выбрав команду "Объединить".

    После этого запустится настроенная программа просмотра изменений (на скрине Kdiff3), в которой необходимо будет разрешить конфликт обновления.

    Результат внесенных изменений автоматически записывается в каталог с результатами объединения, указанный в п.6

9. При необходимости просмотреть изменения на закладке "Информация"
 

    Вкладка "Информация" отображает методы, которые были переопределены при помощи директив "После" или "Перед" и позволяет просмотреть не повлияли ли изменения в конфигурации на логику в расширении

    Тут при показ отличий открывается программа просмотра изменений без возможности объединения, она носит информационный характер. Все изменения в расширении необходимо будет сделать в среде разработки.


 

10. Загрузить расширение из исходников

    Перед загрузкой проверяем что все конфликты разрешены. Удобно помечать их флагом в колонке "Отм." 

 

Сама обработка и исходный код выложены доступны тут:  https://github.com/xnd1124/CfeUpdater

Ограничения

  1. Анализируются исходники в формате конфигуратора
  2. Для просмотра изменений поддерживаются только Kdiff3, P4Merge
  3. Для автообъединения поддерживается только Git

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

Расширения обновление cfe.

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

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

См. также

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    423    nedomolkov.ivan    10    

5

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

Вторая часть серии о переходе ERP 2.5 на 2.6. Я сравнил чистые выгрузки 2.5.27.88, 2.6.1.70 и 2.6.2.59 и выписал то, чего нет в официальных описаниях версий: какие экспортные методы удалены поимённо, какие документы больше нельзя создать и при каком условии, что переименовали без предупреждения. Из двенадцати механизмов, от которых отказывается 1С, к 2.6.2 удалены только два, а большая часть удалённого к ним не относится. Отдельно разбираю, почему перехватчики &ИзменениеИКонтроль ломаются на процедурах, где поменялся только английский текст, и почему доработки выгоднее готовить сразу под 2.6.2. Будет полезно разработчикам, которые сопровождают расширения и внешние обработки на ERP 2.5.27, и тем, кто планирует сроки перехода.

20.10.2026    865    lexatsch    6    

8

Обновление 1С Разработчик 1С 8.3 1С 8.5 Абонемент ($m)

Перед обновлением типовой конфигурации обработка читает код ваших доработок — внешних обработок, отчетов и расширений — и сверяет каждое обращение к конфигурации со старым и новым релизом. Результат — один отчет по всем доработкам: файл и строка, сам фрагмент кода и понятная причина («метод теперь принимает один параметр», «значение перечисления удалено», «перехватываемый метод не найден»). Исходники релизов и обработок можно подготовить прямо из обработки — пакетным запуском Конфигуратора.

3 стартмани

19.10.2026    283    1    InShallaH    0    

3

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

1С считает, что перейти с ERP 2.5 на 2.6 не сложнее, чем обновиться между версиями длительной поддержки, а обязательным переход станет не раньше 30 апреля 2027 года. Я решил проверить это заранее на нашей доработанной ERP 2.5.27, где есть два больших расширения и 517 внешних отчётов и обработок. Форма готовности нашла четыре механизма, которые надо перевести, а про код промолчала. Проверка применимости на чистой 2.6.1 выдала 478 проблем, и настоящих среди них меньше сотни. А сверка кода со словарём изменений нашла ещё 63 проблемы, которых проверка применимости вообще не видит. Часть из них не даст открыть модуль, остальные вылезут уже у пользователей. Рассказываю, как проверить применимость расширения к 2.6.1 без записи в базу, что ловит компилятор, что ломается чаще всего и чем это заменить.

16.10.2026    591    lexatsch    0    

3

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

Бесплатная внешняя обработка: до обновления типовой показывает, какие ваши внешние обработки и печатные формы после него упадут. Находит в их коде вызовы общих модулей и менеджеров типовой и сверяет каждый с текущей конфигурацией и с выгрузкой нового релиза: есть ли метод, экспортный ли, сходится ли число параметров. Обработки берёт из справочника или из папки .epf и .erf, без конфигуратора. У каждого вызова статус, строка и причина.

29.09.2026    1159    139    nedomolkov.ivan    2    

9

Рефакторинг и качество кода Обновление 1С Разработчик 1С 8.3 Бесплатно (free)

Первоначальная задача заключалась в локальном переносе добавленных объектов метаданных (справочников, документов) и кастомной логики в расширение без потери накопленных данных. Но в ходе проекта, когда работы были уже практически завершены, заказчик принял решение полностью вернуть конфигурацию к типовому виду и перенести в расширение все измененные свойства стандартных объектов, включая изменения типов реквизитов.

22.09.2026    1142    1c-izh    2    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TrinitronOTV 16 31.12.22 08:14 Сейчас в теме
А где файлы, чтобы пользоваться вашей обработкой по анализу изменений в расширении?
2. minarenko 31.12.22 10:17 Сейчас в теме
(1) зачем пользоваться? картинки посмотрел и хватит
обработка тут https://github.com/xnd1124/CfeUpdater
6. TrinitronOTV 16 01.01.23 17:26 Сейчас в теме
(2) Спасибо, не обратил внимание на ссылку на GitHub
3. SergeyMordvin 2391 01.01.23 15:19 Сейчас в теме
А в чем плюсы по сравнению с платформенным подключением KDiff3?
4. xnd 102 01.01.23 15:43 Сейчас в теме
(3)
1. Платформа не отслеживает изменения в методах, расширенных при помощи аннотаций после, перед, вместо
2. Платформа не отслеживает расширение обработчиков событий формы и ее реквизитов через расширение самого обработчика, а не его метода (хотя сама рекомендует расширить обработчик)
3. До 8.3.22 платформа не отслеживала удаление расширяемого метода или изменение количества аргументов.
adhocprog; Kolunya; Светлый ум; cleaner_it; +4 – Ответить
5. SergeyMordvin 2391 01.01.23 15:46 Сейчас в теме
(4) спасибо, теперь понятнее
7. JohnyDeath 302 04.01.23 12:38 Сейчас в теме
Может пойти чуть дальше и сделать так, чтобы обработка сама выгружала нужные файлы cf и cfe на исходники?
Т.е. наверное надо будет в настройках указать:
1. Путь к базе, откуда будет выгружаться cf и там же храниться нужное расширение
2. Имя нужного расширения
3. Путь к базе с новым cf. Или сам новый cf
35. teller 16.01.23 07:02 Сейчас в теме
(7) кнопку сделать фсе красиво пропустил :)
8. nagaitseff 184 09.01.23 08:35 Сейчас в теме
А что означает? Ошибка поиска метода "ИмяМетода" найдено более одного определения.
9. xnd 102 09.01.23 08:44 Сейчас в теме
(8) Это значит что регулярка, ищущая дополненный в расширении метод в основной/расширенной конфигурации нашла более одной процедуры/метода.
Не могли бы вы выслать текст модуля в расширении, в старой конфигурации и в новой, я проверю не является ли это ошибкой.
10. nagaitseff 184 09.01.23 08:47 Сейчас в теме
(9) в старой и новой конфигурации этот метод не менялся, так как объект создан нами в конфигурации, вызов методов тоже в конфигурации, а сам код написан в расширении.
11. xnd 102 09.01.23 08:48 Сейчас в теме
(10) ну что то же заставило алгоритм начать его искать
12. nagaitseff 184 09.01.23 08:49 Сейчас в теме
(11) дайте адрес электронной почты, вышлю код.
13. пользователь 09.01.23 08:50
Сообщение было скрыто модератором.
...
14. nagaitseff 184 09.01.23 08:51 Сейчас в теме
(11) сюда скину, сообщение скрыто.
15. nagaitseff 184 09.01.23 08:56 Сейчас в теме
16. nagaitseff 184 09.01.23 08:57 Сейчас в теме
единственно бизнес процессов много и может одинаковые названия методов
17. xnd 102 09.01.23 09:14 Сейчас в теме
(16) в модуле расширения нет ни одного метода, расширенного при помощи директив Перед|Вместо|После|ИзменениеИКонтроль
сравнение даже не запускается - возможно приведен не весь текст?
18. nagaitseff 184 09.01.23 09:17 Сейчас в теме
(17) упс, забыл скопировать директиву
Прикрепленные файлы:
Расширение.txt
19. xnd 102 09.01.23 09:22 Сейчас в теме
(18) в расширении присутствует метод ПриСозданииЗадач с точно таким же названием как и в основной конфигурации, мне кажется он должен иметь префикс, иначе будет ошибка двойного определения процедуры?
20. nagaitseff 184 09.01.23 09:23 Сейчас в теме
(19) да, есть префикс с названием организации, я его убрал здесь
21. xnd 102 09.01.23 09:38 Сейчас в теме
(20) воспроизвел - да в основной конфигурации есть несколько похожих методов - надо искать именно переопределенный - выпущу исправительный релиз
22. nagaitseff 184 09.01.23 09:51 Сейчас в теме
(21) спасибо, буду ждать Вашего релиза.
23. xnd 102 09.01.23 10:01 Сейчас в теме
(22) выложил новый релиз на github
nagaitseff; +1 – Ответить
24. nagaitseff 184 09.01.23 10:02 Сейчас в теме
(23) ничего себе как быстро, спасибо
25. nagaitseff 184 09.01.23 11:19 Сейчас в теме
(23) ругается теперь на другой метод ((
26. xnd 102 09.01.23 11:20 Сейчас в теме
(25) посмотрите мой профиль на github, перешлите модули в телегу
27. xnd 102 09.01.23 15:58 Сейчас в теме
(25) сегодня будет еще один релиз где данная ошибка даже если будет возникать не будет прерывать выполнение и будет поправлена
29. xnd 102 09.01.23 16:43 Сейчас в теме
(25) Проверьте релиз 1.0.1.3
30. nagaitseff 184 10.01.23 06:42 Сейчас в теме
(29)
Значение не является значением объектного типа (ТелоМетода)
{ВнешняяОбработка.АнализРасширенияПриОбновлении.Форма.Форма.Форма(538)}:Возврат ТекстСПечатаемымиСимволами(Метод.ТелоМетода);
{ВнешняяОбработка.АнализРасширенияПриОбновлении.Форма.Форма.Форма(512)}:ИначеЕсли ТелоМодуля(ПервыйМетод) <> ТелоМодуля(ВторойМетод) Тогда
{ВнешняяОбработка.АнализРасширенияПриОбновлении.Форма.Форма.Форма(501)}:Строка.РезультатСравненияМетодов =
{ВнешняяОбработка.АнализРасширенияПриОбновлении.Форма.Форма.Форма(148)}:СравнитьМетоды();
31. xnd 102 10.01.23 09:21 Сейчас в теме
32. xnd 102 10.01.23 09:26 Сейчас в теме
(30) проверьте тестовый релиз 1.0.1.4 (тут ссылки проходят модерацию)
33. xnd 102 10.01.23 12:36 Сейчас в теме
Выпустил релиз 1.0.1.5

Исправлены ошибки:

- Значение не является значением объектного типа (ТелоМетода)
- Некорректный поиск переопределенных методов в расширении
nagaitseff; +1 – Ответить
34. SoF1uffy 18 11.01.23 13:50 Сейчас в теме
Что-то подобное тоже писал "на коленке" для работы, т.к. возможностей платформы не хватает...
Тут работа весьма внушительнее, автору респект! 👍
36. nagaitseff 184 17.01.23 06:55 Сейчас в теме
(33)
Теперь все просто супер, спасибо.
37. balakin 02.02.23 20:17 Сейчас в теме
Уважаемый автор, может ли обработка анализировать изменения в расширении элементов форм и разных свойств? Или только процедуры и функции?
38. xnd 102 02.02.23 20:20 Сейчас в теме
(37) анализируются в том числе и расширения методов форм и элементов, а не только модулей
39. PerlAmutor 162 07.03.23 07:09 Сейчас в теме
В качестве развития идеи предлагаю оформить обработку в виде .os (onescript) или python скрипта для внедрения в автоматизированные сборки проектов на git.
Дмитрий74Чел; +1 – Ответить
40. Lancelot-2M 116 16.03.23 16:39 Сейчас в теме
Функция ЭтоСобственныйОбъектРасширения(ИмяФайла) не срабатывает корректно. В xml файлах объекта и расширения нет строк "<Ob jectBelonging>". Версия обработки 1.0.1.10, хотя заголовок формы 1.0.1.9, платформа 8.3.21.1622
41. xnd 102 22.05.24 17:52 Сейчас в теме
(40) тег ObjectBelonging присутствует только в заимствованных объектах , если его нет в файле, значит это собственный объект расширения и нет смысла его анализировать. В этой логике есть какая то ошибка?
42. chkurs 103 02.06.24 11:27 Сейчас в теме
(22)
в качестве альтернативы есть бесплатная обработка https://infostart.ru/1c/articles/1779546/

Очень интересная обработка. При подготовке данных для нее формируется громадное количество файлов общим объемом в несколько гигабайт.
я попробовал с ее помощью обновить УНФ 3.0.6.100 до 3.0.8.40 подготовил все необходимые данные,
43. chkurs 103 02.06.24 15:35 Сейчас в теме
При обновлении УНФ 3.0.8.40 до 3.0.8.56 на версии 1.0.1.13
после кнопки "Анализ" при щелчке по строке с конфликтом, в котором аннотации "Перед" или "Вместо"
и проблема "Метод отсутствует в новой конфигурации" проявляется ошибка "Значение не является значением объектного типа (ШапкаМетода)" (возможно, так и надо?!), а при аннотации "Вместо" и при проблемах "Отличаются тексты методов" работает нормально - запускается Kdiff и отрабатываются конфликты.
Для отправки сообщения требуется регистрация/авторизация