gifts2017

Анализ перемещённых процедур и функций общих модулей при обновлении конфигураций.

Опубликовал Евгений Чекушкин (check2) в раздел Программирование - Инструментарий

Анализирует попроцедурно изменённые по отношению к конфигурации поставщика процедуры и функции общих модулей и переносит их в другие, если разработчики 1С в новом релизе их перенесли туда.

Довольно часто, при обновлении сильно изменённых конфигураций возникает проблема следующего характера: Процедура или функция общего модуля была изменена внедренцем, а в очередном релизе разработчики решили перенести тело процедуры в отдельный модуль. Всё бы ничего, однако для того, чтобы корректно провести объединение, нужно такой процфунк® скопировать в новый модуль (чтобы можно было принять решение о мпосбе обновления её), а при обновлении не забыть удалить из старого модуля. И хорошо бы такая процедура была бы одна, зачастую их десятки. Руками переносить очень тоскливо...

Одно из решений, которое взбрело в голову, написать обработку самому.   Методика следующая: создаём 4е каталога.  

  • В первый выгружаем общие модули с текущей конфигурации.  
  • Во второй выгружаем общие модули конфигурации поставщика (мне для этого пришлось создать пустую базу на полной поддержке с такого же релиза с которого обновляю рабочую)  
  • В третий кладём общие модули нового релиза.  
  • 4й оставляем пустым - туда будет помещён результат.  
  • Запускаем приложенную обработку (было скачано изначально с отсюда и изменено до неузнаваемости)  
  • Указываем каталоги в обработке и нажимаем кнопку "Выполнить"  

В результате получаем следующее: обработка попроцедурно сравнивает каждую процедуру общего модуля с к процедурой поставщика, так же проверяет осталась ли эта процедура в новом общем модуле. В случае если она была перемещена или её вообще упразднили в исходных изменённых относительно конфигурации поставщика модулях для этой процедуры делается пометка - в какой модуль её переместили или что её более нет в новых модулях вообще. Тело же самого процфунка вместе с комментариями перед его началом добавляются к тем модулям (в конец) в которые их переместили разработчики 1С.  Если модули, в которые разрабочики 1С перенесли изменённые внедренцем процфунки отсутствуют для обновляемого релиза тексты этих модулей будут созданы, а в сообщениях будут описаны их имена и свойства (клиент, сервер и т.д.)   Надеюсь, это немного облегчит жизнь тех, кто обновляет с пропуском большого количества релизов сильно изменённые конфигурации.

ЗЫ Модули перед объединением естественно нужно загрузить обратно в обновляемую конфигурацию из каталога для результата Laughing

Скачать файлы

Наименование Файл Версия Размер
Обработка модулей 5
.epf 16,41Kb
28.02.14
5
.epf 1 16,41Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Ruslan (rus128) 05.03.14 11:57
упс.... а куда теперь "плюсы" ставить?
2. Артур Аюханов (artbear) 05.03.14 12:24
3. Евгений Чекушкин (check2) 07.03.14 11:16
А фиг его знает, (1) rus128, куда это чего то разработчики инфостарта наколбасили...
4. Евгений Чекушкин (check2) 07.03.14 11:17
(2) artbear, Было бы интересно помогло ли моё творение.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа