Возникла задача перевести клиента с БП 2 (не последняя), не серьезно изменённая, отстала на 4 релиза от последнего, на БП 3.0.22.10
Отставание между конфигурациями - просто пропасть. Если выкручивать последовательно - день-два удовольствий гарантирован.
Для убыстрения процесса обновляем на БП2 последню штатными средствами.
Дальше берем последню БП 3 и делаем Конфигурация-Поставка-СоздатьФайлы поставки, Сохраняем CF
Сравниваем конфигурации. Чато документов в БП 3 получили префикс "Удалить". Во избежение потерь - переименувуем их в БП2 . Добавляем префикс.
Далее через Конфигурация-Поддержка-Выбор файла обновления подкидываем созданую поставку
Там где были изменённые обработки, формы документов ставим формы на удаление, (ибо всё равно переделывать на управляемые). Копия с кодом у нас же есть про запас...
Объеденяем конфигурацию с БП 2
Идем в проблемную область - общий модуль ОбменСообщениямиВнутренний - необходимо добавить Попытку-Исключение в "УстановитьКодЭтойКонечнойТочки", так как некоторые вещи обмену не подлежат - при обновлении уже успели создатся и удалится объекты. И при обновлении сисема нам не даст провести пачку обновлений.
Процедура УстановитьКодЭтойКонечнойТочки() Экспорт
Если ПустаяСтрока(КодЭтогоУзла()) Тогда
попытка
ЭтаКонечнаяТочка = ЭтотУзел().ПолучитьОбъект();
ЭтаКонечнаяТочка.Код = Строка(Новый УникальныйИдентификатор());
ЭтаКонечнаяТочка.Записать();
Исключение
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Получаем рабочую БП 3 с включенной поддержкой и готовую к работе.