CfeUpdater — обновление расширений 1С
CfeUpdater — обновление расширений 1С
- GitHub: https://github.com/xnd1124/CfeUpdater
- Gitsell page: https://gitsell.ru/xnd1124/CfeUpdater
- Visibility: public/free
- GitHub stars: 107
- Gitsell views: 0
- Gitsell downloads: 0
1C Configurations
Not specified.
Pricing
Free or price is not specified.
README
Для чего создан проект и какие проблемы решает
При доработке конфигураций через расширения каждый новый релиз дорабатываемой конфигурации несёт в себе следующие проблемы, которые платформа не выявляет или не решает автоматически.
* Директивы &Вместо, &После и &Перед. Когда вендор изменяет логику метода, расширение продолжает применяться без каких-либо предупреждений — даже если переопределённый метод полностью потерял актуальность. Понять, требует ли он доработки, штатными средствами невозможно.
* Переопределённые обработчики событий форм и реквизитов. Типовая проверка применимости расширения принципиально не охватывает эти обработчики. Хотя по умолчанию и предлагает переопределить обработчик, а не метод модуля.
- Отслеживание изменений заимствованных схем компоновки данных. Если вендор изменяет СКД например в заимствованном отчёте, расширение продолжает работать со старой структурой макета переопределенной в расширении. Выявить такое расхождение можно только вручную
- Отсутствие возможности автоматического разрешения конфликтов. Если вендор изменил метод или макет СКД в отличном от расширения месте, то платформа не может решить его автоматически и потребует запуск программы трехстороннего объединения в каждом случае.
Предлагаемое решение представляет собой внешнюю обработку (CfeUpdater.epf), позволяющую увидеть и исправить все проблемные и потенциально проблемные места в расширении, связанном с основной конфигурацией при обновлении последней на новый релиз.
Обработка использует для разбора текстов с помощью регулярных выражений внешнюю компоненту https://github.com/alexkmbk/RegEx1CAddin и работает как Windows, так и в Linux системах.
Как пользоваться
- Выгрузить основную конфигурацию до обновления в файлы (через конфигуратор или при помощи автономного сервера), аналогичным образом необходимо поступить с новой конфигурацией (новый релиз обновляемой конфигурации) и собственно с самим расширением.
- Открыть в любой конфигурации, содержащей БСП в режиме 1С: Предприятия обработку CfeUpdater.epf
- При первом запуске возникнет запрос на разрешение подключения внешней компоненты RegEx, отвечаем "Да"
- Так же при первом запуске автоматически откроется окно настроек, предлагающее выбрать какую программу использовать для трехстороннего объединения и указать ее место расположение
Поддерживается Kdiff3 и P4Merge. Рекомендуется выбрать Kdiff3 https://download.kde.org/stable/kdiff3/ (более богатые возможности по фильтрации изменений, хотя у P4Merge более приятный интерфейс)
-
После закрытия настроек в основной форме указать путь к каталогам с выгруженными конфигурациями и расширением, созданным на этапе 1.
-
Результат обновления расширения сохраняются в виде xml файлов. Для этого необходимо указать пустой каталог, в который будут автоматически скопированны исходные файл расширения и произведены необходимые изменения.
После выполнения всех объединений из этого каталога необходимо загрузить обновленную версию расширения. -
Нажать кнопку Анализ и дождаться его завершения ( несколько секунд)
- Результат анализа выводится на разных вкладках. На вкладке "Проблемы" показаны критические проблемы, из-за которых расширение не будет применено или будет работать некорректно
Результат представлен в виде дерева, строки которого указывают на проблемные методы.
Часть проблем (конфликтов) могут быть разрешены автоматически, они отмечены в колонке "Авто", остальные требуют запуска программы сравнения. Это можно сделать либо двойным щелчком или выбрав команду "Объединить"
После этого запустится настроенная программа просмотра изменений (на скрине Kdiff3), в которой необходимо будет разрешить конфликт обновления.
Результат внесенных изменений автоматически записывается в каталог с результатами объединения, указанный в п.6
P.S. Просмотреть результат объединения можно по команде "Показать результат объединения"
Т.к. повторное нажатие "Объединить" сбрасывает результаты прошлого объединения и производит его заново.
-
Вкладка "Информация" отображает методы, которые были переопределены при помощи директив "После" или "Перед" и позволяет просмотреть не повлияли ли изменения в конфигурации на логику в расширении.
Тут при показе отличий открывается программа просмотра изменений без возможности объединения. Выводимые данные носят информационный характер. Все изменения в расширении при необходимости необходимо сделать в среде разработки в зависимости от того насколько поменялась логика переопределяемого метода.
-
После разрешения вопросов по проблемным методам их рекомендуется помечать флажком в колонке "Отм."
 -
Необходимо в конфигураторе загрузить конфигурацию из файлов, выбрав каталог с результатами, указанный в п.6
Ограничения
- Анализируются исходники в формате конфигуратора
- Для просмотра изменений поддерживаются только Kdiff3, P4Merge