Конвертер расширения конфигурации в патч

03.04.26

Разработка - Инструментарий разработчика

Уже пробовали создавать расширения конфигураций? А как насчет патчей (исправлений)? Если впервые сталкиваетесь с патчами и не знаете, куда двигаться дальше, конвертер придет на помощь!

Цель: написать конвертер расширения конфигурации в патч.

Функционал:
1. Замена всех значений A на B;
2. Замена всех внутренних идентификаторов на новые.

Проблема:

Патчи EF_00_0000001 и EF_00_0000002 были загружены в базу, однако при запуске программы возникает ошибка "EF_00_0000001: (Критичная): Конфликт внутренних идентификаторов у объекта".

Правило:

Есть поведение идентификатора при перемещении объекта https://its.1c.ru/db/metod8dev/content/2291/hdoc, что новые идентификаторы создает только при копировании в буфер обмена объектов.

Решение:

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

Инструкция:

  1. Выбрать файл расширения конфигурации.
  2. Заполнить поля в группе "Информация о конвертируемом файле".
  3. Нажать "Конвертировать в патч".
  4. Проверить патч на работоспособность.

Спасибо автору за код из статьи Программное создание расширения.

 
Последние изменения:

1.0.24

Теперь при нажатии кнопки "Скопировать текст в буфер" содержимое буфера изменяется, если установлен флажок "Добавлять суффикс патча".
Проведена небольшая оптимизация форм.

1.0.23

Теперь корректно записывает последовательность атрибутов в XML.
Теперь в элемент устанавливает атрибут соответствия пространства имен "pal".
Упразднен флажок "Перезаписывать измененный патч".

1.0.22

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

1.0.21

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

1.0.20

Теперь поддерживаются 2 формы: "Версия 8.5" и "Такси". Требуется платформа 8.5.1.1150 и выше.
Упразднен флажок "Загрузить выбранный файл в текущую базу".

1.0.19

Добавлена возможность автоматически собирать измененные объекты из XML-файлов.

1.0.18

Добавлены сведения о внешней обработке на форму.
Теперь при конвертации упорядочиваются версии в теге versions.
Упразднен флажок "Использовать текущую версию программы".

1.0.17

Добавлена возможность скопировать информацию о файле в буфер.
Теперь поле "Номер ошибки" разделено на два отдельных поля.

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

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

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