Довольно часто, при обновлении сильно изменённых конфигураций возникает проблема следующего характера: Процедура или функция общего модуля была изменена внедренцем, а в очередном релизе разработчики решили перенести тело процедуры в отдельный модуль. Всё бы ничего, однако для того, чтобы корректно провести объединение, нужно такой процфунк® скопировать в новый модуль (чтобы можно было принять решение о мпосбе обновления её), а при обновлении не забыть удалить из старого модуля. И хорошо бы такая процедура была бы одна, зачастую их десятки. Руками переносить очень тоскливо…
Одно из решений, которое взбрело в голову, написать обработку самому. Методика следующая: создаём 4е каталога.
- В первый выгружаем общие модули с текущей конфигурации.
- Во второй выгружаем общие модули конфигурации поставщика (мне для этого пришлось создать пустую базу на полной поддержке с такого же релиза с которого обновляю рабочую)
- В третий кладём общие модули нового релиза.
- 4й оставляем пустым — туда будет помещён результат.
- Запускаем приложенную обработку (было скачано изначально с отсюда и изменено до неузнаваемости)
- Указываем каталоги в обработке и нажимаем кнопку «Выполнить»
В результате получаем следующее: обработка попроцедурно сравнивает каждую процедуру общего модуля с к процедурой поставщика, так же проверяет осталась ли эта процедура в новом общем модуле. В случае если она была перемещена или её вообще упразднили в исходных изменённых относительно конфигурации поставщика модулях для этой процедуры делается пометка — в какой модуль её переместили или что её более нет в новых модулях вообще. Тело же самого процфунка вместе с комментариями перед его началом добавляются к тем модулям (в конец) в которые их переместили разработчики 1С. Если модули, в которые разрабочики 1С перенесли изменённые внедренцем процфунки отсутствуют для обновляемого релиза тексты этих модулей будут созданы, а в сообщениях будут описаны их имена и свойства (клиент, сервер и т.д.) Надеюсь, это немного облегчит жизнь тех, кто обновляет с пропуском большого количества релизов сильно изменённые конфигурации.
ЗЫ Модули перед объединением естественно нужно загрузить обратно в обновляемую конфигурацию из каталога для результата
упс…. а куда теперь «плюсы» ставить?
ЗЫ Подписался
А фиг его знает, (1) rus128, куда это чего то разработчики инфостарта наколбасили…
(2) artbear, Было бы интересно помогло ли моё творение.