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

13.12.22

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

Занимался расширениями конфигурации? А патчами (исправлениями)? Давали простые расширения клиентам, а патчи(исправления) нет? Публиковали патчи(исправления) на сайте releases и отзывали сразу? Некоторые программисты копируют патчи и наполняют патчи через сравнение/объединение или не создают их с нуля или создают только простые расширения? Прошло несколько месяцев с момента публикации последнего патча и попросили переделать расширение в патч в срочном порядке и опубликовать, но уже все подзабыли? Тогда вам сюда!

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Конвертер расширения конфигурации в патч
.epf 154,17Kb
11
11
3 SM
Скачать Купить за 2 450 руб.

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

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

Расширение конфигурации: простое и подготовленное расширение(имя расширения начинается с EF_).

Простое расширение

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

Сценарий пользования обработки:

  • В закладке "Основное" выбрать файл расширения конфигурации МоеРасширение.cfe и нажать "Конвертировать в патч".
  • Файл сконвертировался EF_00_00000001.cfe.

Что делает обработка:

  • Подключается к базе, очищает расширение в базе 2, загружает простое расширение МоеРасширение.cfe в базу 2, выгружает расширение в файлы, заменяет все внутренние идентификаторы на новые, добавляет новый общий макет EF_00_00000001.cfe и т.д., загружает из файлов в расширение конфигурации, выгружает расширение в файл EF_00_00000001.cfe и снова очищает расширение.

Подготовленное расширение

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

Типичные ошибки программистов:

  1. В базе создали новый патч, в нем создали новые объекты метаданных(макет, модуль и т.д.), сохранили патч в файл EF_00_00000001.cfe, затем модифицировали патч и сохранили его в отдельный файл EF_00_00000002.cfe, потом загрузили 2 патча в базу. После перезапуска программы ошибка.
  2. В базе создали новый патч, в нем создали новые объекты метаданных(макет, модуль и т.д.), сохранили патч в файл EF_00_00000001.cfe, затем создали еще новый патч копированием старого патча EF_00_00000001.cfe и модифицировали его(убрали и добавили новые объекты метаданных, изменили номер патча), потом загрузили 2 патча в базу. После перезапуска программы ошибка.
  3. В базе программист создал новый патч, в нем создал новые объекты метаданных(макет, модуль и т.д.), сохранил патч в файл EF_00_00000001.cfe, затем другой программист создал еще новый патч и сравнивал/объединял с патчем EF_00_00000001.cfe, затем модифицировал его и сохранил в патч EF_00_00000002.cfe, потом загрузили 2 патча в другую базу. После перезапуска программы ошибка.

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

Но что делать с патчами, которые создавали не с нуля? Попросить программистов переделать патчи с нуля? А это пустая трата нервов, здоровья и времени.

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

Сценарий пользования обработки:

  • В закладке "Основное" выбрать файл расширения конфигурации EF_00_00000001.cfe и нажать "Конвертировать в патч".
  • Файл сконвертировался EF_00_00000002.cfe. Зайти в базу 2 и загрузить 2 патча: EF_00_00000001.cfe и EF_00_00000002.cfe. Ошибки нет. Можно продолжать модифицировать и сохранять патч EF_00_00000002.cfe.

Что делает обработка:

  • Подключается к базе, очищает расширение в базе 2, загружает патч EF_00_00000001.cfe в базу 2, выгружает патч в файлы, заменяет все внутренние идентификаторы, уникальный идентификатор патча и номер ошибки на новые, загружает из файлов в патч, выгружает патч в файл EF_00_00000002.cfe и снова очищает расширение.

Проверял в демобазе Управление торговлей 11.5.8.341 в платформе 8.3.22.1704. Более сложные расширения не проверял.

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

 
 История изменений:

13.12.2022:

  • Добавлена версия формата 2.15 для платформы 8.3.22.
  • Убраны настройки подключения базы, подключение будет непосредственно из макета.

19.04.2022:

  • Добавлена версия формата 2.13 и 2.14 для платформы 8.3.20 и 8.3.21.

18.04.2022:

  • Добавлены настройки текущей базы.
  • Исправлены выявленные ошибки.

Опубликованы примеры скриншотов.

09.11.2021:

  • Добавлена информация о выбранном файле и информация о конвертируемом патче. При выборе файла отобразится информация о выбранном файле, но прежде чем конвертировать патч можно добавить дополнительную инфу о конвертируемом патче.
  • Перенесена закладка "Настройки" в закладку "Основное".
  • Переименован режим "Перезаписывать измененный патч" вместо "Создать патч с нуля".
  • Исправлены выявленные ошибки.

23.09.2021:

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

23.09.2021:

  • Добавлена кнопка "Информация о текущей ИБ" в закладке "Настройки". Получить информацию о текущей базе для подключения к другой базе (текущий пользователь и путь к текущей базе).
  • Исправлена ошибка записи макета в файл TXT в одну строку в режиме "Создать патч с нуля".

16.09.2021:

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

16.09.2021:

  • Добавлен подробный лог файла при конвертации расширения конфигурации в патч. Файл для вывода служебных сообщений больше не очищается.
  • Добавлен новый режим "Использовать текущую версию программы". Добавляет/удаляет текущую версию программы, удаляет дубли версий, лишние пробелы и сортирует номера версий в поле "Версии программ".
  • Исправлена ошибка в режиме "Создать патч с нуля". Некорректно заполняется макет.

27.08.2021:

  • Изменен режим с "Не изменять номер и идентификатор патча" на "Создать патч с нуля". Патч можно создавать с нуля, например, нужно из расширения EF_00_00000001 сделать патч, в расширении не был создан макет, не все флаги по регламенту сделаны (было: умеет создавать с нуля только из обычного расширения; стало: умеет создавать с нуля из обычного и подготовленного расширения).
  • Исправлено удаление тега (было: не все теги удалялись корректно, например, не снят флаг "Основные роли"; стало: теги удаляются корректно).

20.08.2021:

  • Добавлен новый режим "Загрузить конвертируемый патч в базу". После загрузки патча предлагает перезапустить программу.
  • Исправлено удаление расширения конфигурации (было: очищать все расширения конфигурации, стало: выборочное удаление расширения конфигурации).

03.08.2021:

  • Добавлено поле "Добавить суффикс патча (в случае первого отзыва)". В случае отзыва добавляет суффикс патча.
    Пример:
    - EF_00_00000001 - отозвали из-за ошибок;
    - EF_00_00000001_2 - новая версия патча.

15.07.2021:

  • Добавлены новые поля: Описание исправления, Изменяемые объекты метаданных и Версии программ. Поля обязательно нужны для заполнения одноименного общего макета при создании нового патча.

02.06.2021:

  • Добавлена возможность конвертирования из простого расширения в патч.

 24.05.2021:

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

 

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    146689    805    392    

822

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    13075    34    7    

67

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    17411    52    34    

98

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

OneRPA - платформа роботизации рутинных операций, в основе которой лежит платформа 1С:Предприятие. Данная платформа позволяет использовать современные технологии роботизации, не теряя при этом наработки, которые были созданы в ходе автоматизации. При этом платформа роботизации сохраняет все преимущества платформы 1С: гибкость, кроссплатформенность, мобильный и Web доступ, простоту расширения. Ну и конечно же роботы создаются и сопровождаются простыми специалистами 1С, при этом не обязательно программистами. Self hosted версия

300000 руб.

03.03.2021    13862    12    27    

36

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    8258    29    10    

53

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    183976    1118    0    

891

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16349    5    25    

41

Инструментарий разработчика Чистка данных Свертка базы DevOps и автоматизация разработки Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

6900 руб.

20.08.2024    1465    3    0    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
13. ivanov_alex 91 19.04.22 10:13 Сейчас в теме
А возможность конвертации базовых патчей возможна?
14. ZhokhovM 744 19.04.22 15:42 Сейчас в теме
(13)да. можно из любого типового патча преобразовать в любой отраслевой/типовой патч.
16. ivanov_alex 91 19.04.22 18:31 Сейчас в теме
(14)какой подписью подписывается базовое расширение?
17. ZhokhovM 744 19.04.22 22:48 Сейчас в теме
(16)не сталкивался с подписью в базовых расширениях/патчах(
Оставьте свое сообщение