Инструмент для обновления расширения конфигурации

16.10.24

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

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

Файлы

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

Наименование Скачано Купить файл
Инструмент для обновления расширения конфигурации (доб. ИзменениеИКонтроль):
.epf 12,70Kb ver:2.0.2
17 2 500 руб. Купить

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

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

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

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

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

Инструмент позволяет создать файл слияния, с помощью которого можно быстро и надёжно объединить модули расширения с модулями конфигурации.

Для правильной работы инструмента необходимо выполнить всего 2 условия:

    после аннотации ("&Вместо" или "&ИзменениеИКонтроль"), расположенной в строке модуля, и скобкой не должно быть пробелов;
    после аннотации ("Вместо" или "ИзменениеИКонтроль"), расположенной в имени модуля, и скобкой не должно быть пробелов; 

   на-пример, "&Вместо("ИмяМетода")", "&ИзменениеИКонтроль("ИмяМетода")", "Процедура НК_ИмяМетодаВместо(...)", "Функция НК_ИмяМетодаИзменениеИКонтроль(...)".

При выполнении этих условий будет правильно определено имя метода.

Использование инструмента производится в следующем порядке.

В любой папке создайте 3 пустых текстовых файла:  файл расширения, файл конфигурации и файл слияния.

Далее выберите любой  объект расширения, имеющий модуль.  Это может быть общий модуль,  или форма справочника,  его модуль объекта или модуль менеджера - повторяю, любой объект.
Текст выбранного модуля копируйте в файл расширения.

Далее выбираете модуль соответствующего ему объекта основной конфигурации.Текст выбранного модуля копируйте в файл конфигурации.

Далее на соответствующих закладках инструмента выбирайте эти файлы и загружайте их в инструмент.

 

   

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

На закладке "Файл расширения" введите "Префикс расширения" с нижним дефисом "_".
на закладке список модулей нажмите кнопку "Определить методы".

 

 

На закладке "Файл слияния" нажмите кнопку "Создать файл слияния".

 

 

Все! В полученный файл слияния попадут все строки файла расширения, существующие только в файле расширения,  в том числе строки методов с аннотациями "Перед" и "После"
и директивы компиляции модулей формы "&НаКлиенте" или "&НаСервере" и т.п. 

А после строк с аннотацией "&Вместо("ИмяМетода")", или "Метод НК_ИмяМетодаВместо(...)", или "&ИзменениеИКонтроль("ИмяМетода")", или НК_ИмяМетодаИзменениеИКонтроль(...)" будут вставлены строки из файла конфигурации  до включительно строки &КонецМетода.

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

Теперь полученные файл расширения и файл слияния загружайте в бесплатное приложение "KDiff3" или аналогичное ему.

 

 

Здесь анализируйте "конфликты", вставляйте в результирующий файл требуемые различия. Текст результата копируйте в буфер обмена и замените на него текст модуля объекта.

Этот процесс уже значительно легче и быстрее, чем сравнивать построчно каждую процедуру или функцию в расширении и конфигурации.

Реально я обновил УНФ на версию 3.0.7.122 с громадным количеством изменений за один день. Без этого инструмента этот процесс занимал от нескольких дней, до недели.

Файл можно открыть в пользовательском режиме через меню "Открыть файл" или загрузить в "Печатные формы, отчеты и обработки".

Использовать можно на любой версии платформы 1С в любой конфигурации 1С.

Код открыт.

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

  • Управление нашей фирмой, редакция 3.0, релизы 3.0.8.40

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

обновление конфигурации подготовка

См. также

Инструменты администратора БД Обновление 1С Системный администратор Разработчик 1С 8.3 Абонемент ($m)

Если обновление 1С уже падало с "Записи регистра сведений стали неуникальными", вы знаете, что платформа называет только первый такой регистр, и каждый следующий всплывает новым запуском обновления. Проверьте заранее: снимите слепок регистров в базе с новой конфигурацией и нажмите "Проверить" в рабочей. Обработка покажет все регистры сведений, где записи после обновления совпадут по измерениям, и сами группы таких записей: укороченная строка, меньше знаков после запятой, укрупнённая периодичность, убранный из составного тип. Удалённое измерение называет, но записи по нему не считает. Что разобрать не может, называет с причиной и в "дублей не найдено" не записывает. Только чтение, без доступа к таблицам СУБД.

10 стартмани

09.11.2026    200    0    nedomolkov.ivan    0    

3

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

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

03.11.2026    601    nedomolkov.ivan    12    

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    974    lexatsch    6    

8

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

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

3 стартмани

19.10.2026    331    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    667    lexatsch    0    

3

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

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

29.09.2026    1202    140    nedomolkov.ivan    2    

9
Отзывы
24. chkurs 103 21.05.24 17:55 Сейчас в теме
21 мая 2024 г. добавил в код обработки аннотацию "ИзменениеИКонтроль".
Кто уже скачал обработку пришлите, пожалуйста, мне в "личку" ваш e-mail.
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DrZombi 320 03.05.24 12:01 Сейчас в теме
Спасибо, и сомнительно.
У нас в расширении, почти полноценная конфигурация... просто время идет, а доработки требуют :)))


Так, что не всем удобен ваш линейный интерфейс
2. savant 57 03.05.24 13:09 Сейчас в теме
kdiff3 привязывается в настройках и не надо ничего городить и придумывать.
Рамзес; vv2; RocKeR_13; kauksi; Dali; _Ramzes; ubnkfl; baracuda; +8 – Ответить
3. Xershi 1566 03.05.24 19:05 Сейчас в теме
(2) вот недавно активно обновлял расширение, подумывал может кдиф бы помог? Слишком много рутины было.
Пока не использую его. Его получается нужно на сервере 1с поставить? И прописать в настройках. Может видели обзор инструмента?
Сам пользуюсь винмердж, для сравнения текстов модулей.
4. maloi3390 04.05.24 10:04 Сейчас в теме
(3) он ставится на той машине, на которой запускается конфигуратор.
vv2; gamletspb; SuhoffGV; +3 – Ответить
21. savant 57 15.05.24 11:13 Сейчас в теме
(3)Очень помогает при обновлении. Только иногда подвисает, нужно грохать его через диспетчер и перезапускать конфигуратор. А так он 90% работы делает за тебя.
5. Rjhev 294 05.05.24 13:58 Сейчас в теме
(0) так понимаю, в расширении с методами ИзменениеИконтроль, Перед и После такой задачи не возникает по определению.

Повод пересмотреть архитектуру, а не героически преодолевать самостоятельно созданные трудности.
Рамзес; Vaskin; Dali; +3 – Ответить
7. de0nis 618 06.05.24 10:14 Сейчас в теме
(5) Перед и после - да, но они не всегда применимы. А ИзменениеИКонтроль всё равно требует актуализации и сравнения модулей, если процедура поменялась. Но как понял, обработка из публикации для ИзменениеИКонтроль не работает, только для вместо.
6. quazare 4021 06.05.24 07:08 Сейчас в теме
тема называется "инструмент для обновления расширения конфигурации", затем написано "обновление конфигурации, содержащей расширение", далее по тексту - "объединить модули расширения с модулями конфигурации"...

в итоге то что?

а вообще - это не длительный и не кропотливый процесс - залог корректности - это правильно спроектированное расширение - "не лезь" в регистры накоплений расширением.... и т.п....

изначально, я должен понимать, что будет, если это расширение у меня отвалится или у кого-то не хватит прав на него.....
Serg O.; RustIG; +2 – Ответить
9. chkurs 103 06.05.24 10:47 Сейчас в теме
(6) Как бы изначально правильно не было спроектировано расширение, почти обязательно наступит момент, когда оно вступит в конфликт с текущим вариантом конфигурации. Программисты 1С "любят" изменять наименования общих модулей, их методов и состав общих модулей. Они изменяют иногда наименование и/или тип реквизита объекта конфигурации. И с этип приходится периодически длительно и кропотливо "бороться", внося изменения в конфликтующие методы расширения.
(5) Аннотацию "ИзменениеИконтроль" я стараюсь не использовать, т.к. бывает из-за совершенно не значительных изменений в методе конфигурации (добавления в текст пробела, исправления грамматических ошибок и т.п.) метод расширения конфликтует. Поэтому она и не попала в обработку, и я думаю, что ее следует добавить.
А аннотации "Перед" и "После" используются изначально для внесения в текст метода изменений, необходимых только в данном конкретном расширении. Если эти методы вступят в конфликт с конфигурацией из-за внесенных 1С изменений, то платформа обязательно выдаст ошибку с подробным ее описанием, и эту ошибку легко исправить, не используя Kdiff и ему подобные.
12. Rjhev 294 06.05.24 12:15 Сейчас в теме
(9)
Аннотацию "ИзменениеИконтроль" я стараюсь не использовать

Вот она, фундаментальная ошибка.

Платформа сама по кнопочке "проверить возможность применения" показывает ВСЕ различия, выводит в список, только кдифф пропиши и пользуйся.

Старайся не использовать "вместо" и будет тебе счастье.
maloi3390; Рамзес; user1978635; +3 – Ответить
8. RocKeR_13 1490 06.05.24 10:16 Сейчас в теме
Кто-то использует &Вместо? С кучей расширений - это просто ад, не завидую...
Рамзес; Rjhev; +2 – Ответить
10. chkurs 103 06.05.24 11:10 Сейчас в теме
(8) Если выполнение текущей задачи обязательно требует применения этой аннотации и вам за это платят, то это не "ад", а обычная работа программиста. И далеко не все заменяемые методы состоят из тысяч строк и "трудно-перевариваемых" алгоритмов. Для таковых можно разделить метод на три части:
с аннотацией "Перед" повторить весь код до изменяемой части метода;
с аннотацией "Вместо" внести свои изменения и добавить в него строку со ссылкой на
отдельный свой метод, состоящий из оставшихся строк исходного метода.
11. RocKeR_13 1490 06.05.24 11:51 Сейчас в теме
(10) Не встречал еще такой задачи, где вместо &Вместо нельзя было бы использовать &ИзменениеИКонтроль.
Рамзес; Rjhev; +2 – Ответить
14. oldcopy 177 06.05.24 13:21 Сейчас в теме
(11) Там где вам нужно практически полностью переписать метод своим или серьезно поменять его логику. Мы так делали на условном оформлении, где проще заменить метод полностью, чем добавлять в него в десяток мест &ИзменениеИКонтроль
15. ovasiliev 8 11.05.24 10:59 Сейчас в теме
(11) Вместо &Вместо всегда можно использовать &ИзменениеИКонтроль. Только смысл? Радоваться, что расширение в пользовательском сеансе отваливается, когда компилируется модуль с такой процедурой, а пользователь не обращает внимания на предупреждение и продолжает работать на неактуальном коде?
16. RocKeR_13 1490 13.05.24 09:16 Сейчас в теме
(15) Проще контролировать со стороны разработчика наличие изменений. Уже у нескольких клиентов были случаи, когда горе-разработчики использовали &Вместо, не следили за изменениями исходного кода и после обновления в проводках получалась такая ересь, что бизнес за голову хватался. Когда в базе 5-7 крупных расширений и кто-то от лени начинает в коде постоянно использовать &Вместо - при обновлении конфигурации поддержка таких расширений выливается в значительные затраты времени.
17. ovasiliev 8 13.05.24 12:54 Сейчас в теме
(16) "... при обновлении конфигурации поддержка таких расширений выливается в значительные затраты времени" - но это единственный кошерный выход.
"... кто-то от лени начинает в коде постоянно использовать &Вместо" - от лени надо избавляться. Как и от ленивых. Только если нельзя обойтись &Перед или &После - то только тогда &Вместо. От ленивых не помогут директивы &ИзменениеИКонтроль, от них помогает только директива &ПинкаПодЗад.
Халявы в нашем деле нет. Надо работать, и работать как надо, а не как хотелось бы.
18. RocKeR_13 1490 13.05.24 13:01 Сейчас в теме
(17) Лень бывает разной: одна позволяет найти оптимальные подходы к решению проблем, а другая - к куче ошибок) В любом случае, если у вас 1/2/3 использования &Вместо в одном расширении - это одно дело. Если у вас таких мест более 50 в нескольких расширениях и в разработке задействовано несколько разных обслуживающих организаций - один только поиск таких процедур/функций уже выливается в отдельный вид мазохизма, когда можно нажать одну кнопку для проверки применения всех расширений.
19. ovasiliev 8 13.05.24 13:21 Сейчас в теме
(18) "... когда можно нажать одну кнопку для проверки применения всех расширений." - и что, работает?
20. RocKeR_13 1490 13.05.24 13:22 Сейчас в теме
(19) А не должна? Работает
13. Rjhev 294 06.05.24 12:24 Сейчас в теме
(10)
можно разделить метод на три части

... не встречал конфигурацию с 20+ расширениями?
Именно расширениями, без патчей.

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

Истинно говорю тебе - не используй "вместо", береги свой разум.
RocKeR_13; Рамзес; user1978635; +3 – Ответить
22. xnd 102 21.05.24 10:32 Сейчас в теме
в качестве альтернативы есть бесплатная обработка https://infostart.ru/1c/articles/1779546/
где анализируется вся конфигурация сразу без ограничений на скобки и пробелы
23. chkurs 103 21.05.24 17:50 Сейчас в теме
(22)
в качестве альтернативы есть бесплатная обработка https://infostart.ru/1c/articles/1779546/

Очень интересная обработка. При подготовке данных для нее формируется громадное количество файлов общим объемом в несколько гигабайт.
я попробовал с ее помощью обновить УНФ 3.0.6.100 до 3.0.8.40, подготовил все необходимые данные, но после "Анализа" на экран ничего не вышло. Отладчиком проанализировал код, вроде-бы работает, но в результат разбора ничего не попадает. Нет пока времени проанализировать глубже, обязательно попробую на других данных...
24. chkurs 103 21.05.24 17:55 Сейчас в теме
21 мая 2024 г. добавил в код обработки аннотацию "ИзменениеИКонтроль".
Кто уже скачал обработку пришлите, пожалуйста, мне в "личку" ваш e-mail.
25. xnd 102 21.05.24 23:33 Сейчас в теме
(23) возможно некорректно были выбраны каталоги - добавил в новую версию вывод описания конфигурации в каталоге ( если каталог выбран некорректно - появится расшифровочное сообщение)
https://github.com/xnd1124/CfeUpdater/releases/tag/1.0.1.11
26. xnd 102 23.05.24 14:52 Сейчас в теме
(23) нашел ошибку по которой у вас скорее всего не осуществлялся разбор (путь к каталогу оканчивался на слеш) она исправлена в 1.0.1.13
27. chkurs 103 01.06.24 15:25 Сейчас в теме
xnd
При обновлении УНФ 3.0.8.40 до 3.0.8.56 на версии 1.0.1.13
Значение не является значением объектного типа (ШапкаМетода)
{ВнешняяОбработкаАнализРасширенияПриОбновпении.Форма.Форма.Форма(81б)}:ТекстовыйФайп‚ДобавитьСтроку(МетодШапкаМетода);
{ВнешняяОбработка.АнализРасширенияПриОбновпении‚Форма.Форма.Форма(775)}:СоэдатьФайпСМетодом(ИмяОсновная, СтрокаРазбора.МетодОсновнаяКонфигурация);
{ВнешняяОбработка.АнапизРасширенияПриОбновпении.Форма.Форма.Форма(757)}:ПоказатьОтпичия(СтрокаРазбора);
[ОшибкаВоВремяВыпопненияВстроенногоЯзыка, ОшибкаИспопьзованияВстроенногоЯзыка]
28. chkurs 103 02.06.24 15:32 Сейчас в теме
(27) При обновлении УНФ 3.0.8.40 до 3.0.8.56 на версии 1.0.1.13
после кнопки "Анализ" при щелчке по строке с конфликтом, в котором аннотации "Перед" или "Вместо"
и проблема "Метод отсутствует в новой конфигурации" проявляется ошибка "Значение не является значением объектного типа (ШапкаМетода)" (возможно, так и надо?!), а при аннотации "Вместо" и при проблемах "Отличаются тексты методов" работает нормально - запускается Kdiff и отрабатываются конфликты.
29. xnd 102 03.06.24 09:18 Сейчас в теме
(28) если метод отсутствует - то хотелось бы все таки посмотреть а что там написано в расширении метода - поэтому открыть было бы полезно - поправлю
30. volkov-mv 10.09.24 11:54 Сейчас в теме
(3) попробовал в качестве теста использовать vscode, работает, на рабочей еще пока что не приходилось применять
https://github.com/zeegin/vscode-merge-tool-adapter-cli
Для отправки сообщения требуется регистрация/авторизация