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



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

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

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

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

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

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

4 Comments

  1. rus128

    упс…. а куда теперь «плюсы» ставить?

    Reply
  2. artbear

    ЗЫ Подписался

    Reply
  3. check2

    А фиг его знает, (1) rus128, куда это чего то разработчики инфостарта наколбасили…

    Reply
  4. check2

    (2) artbear, Было бы интересно помогло ли моё творение.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *