Переход с ПРОФ-версии «1С:Зарплата и управление персоналом» (ЗУП) на КОРП-версию — стандартная задача при росте масштабов бизнеса компании. Однако, если ваша текущая база ЗУП ПРОФ содержит кастомные доработки (конфигурация находится на поддержке с возможностью изменения), стандартная процедура сравнения и объединения с полным файлом конфигурации КОРП (.cf) превращается в трудоемкий процесс. Платформа выдает тысячи различающихся объектов, среди которых крайне сложно отделить ваши уникальные доработки от типовых различий между ПРОФ и КОРП.
В этой статье мы подробно разберем изящный способ решения этой задачи, который позволяет автоматизировать процесс выявления различий, а также рассмотрим критически важные шаги по корректной настройке поддержки поставщика, без которых база данных не сможет штатно обновляться в будущем.
Вместо того чтобы вручную перебирать огромный список изменений, мы можем использовать встроенный механизм платформы «1С:Предприятие» для подготовки файла обновления (.cfu), содержащего только разницу между типовыми версиями ПРОФ и КОРП одного и того же релиза. Применив этот файл к измененной рабочей конфигурации, мы увидим исключительно те объекты, которые добавляются или изменяются при переходе на КОРП, а наши кастомные доработки останутся нетронутыми.
Рассмотрим весь процесс по шагам.
Перед началом любых манипуляций необходимо строго выровнять релизы конфигураций. Нам понадобятся три конфигурации строго одного и того же релиза (например, 3.1.29.38):
1cv8_prof.cf).1cv8_korp.cf).Важно: Несоответствие номеров релизов на этом этапе сделает дальнейшее сопоставление файлов невозможным или приведет к критическим ошибкам в метаданных.
Для создания файла дельты изменений выполним следующие действия в Конфигураторе:
1cv8_korp.cf).delta_prof_to_korp.cfu).1cv8_prof.cf).Платформа проанализирует различия между КОРП и ПРОФ и сформирует файл .cfu, который содержит исключительно новые и изменившиеся объекты, специфичные для версии КОРП.
Теперь применим полученную дельту к вашей рабочей измененной конфигурации:
delta_prof_to_korp.cfu.Многие разработчики останавливаются на предыдущем шаге, считая задачу выполненной. Однако, если оставить всё как есть, в базе возникнет критическая проблема: конфигурация поставщика останется прежней (ПРОФ). При попытке установить любое последующее обновление для КОРП платформа выдаст ошибку: «Файл не содержит доступных обновлений», так как система будет считать, что вы все еще находитесь на поддержке ПРОФ.
Выясним, как правильно переписать правила поддержки на КОРП с помощью метода «фиктивного объединения»:
1cv8_korp.cf).В результате этой операции структура метаданных вашей базы не изменится, но платформа корректно пропишет правила поддержки для «Зарплата и управление персоналом КОРП». Теперь база будет штатно обновляться стандартными файлами обновлений КОРП.
После завершения работы в Конфигураторе и сохранения изменений (клавиша F7) необходимо корректно запустить базу данных в режиме пользователя:
Для иллюстрации успешного завершения процедур обновления программно можно отслеживать ход выполнения обработчиков обновления с помощью вызова стандартных процедур БСП:
// Пример проверки завершения обновления информационной базы
Если ОбновлениеИнформационнойБазыКлиент.НеобходимоОбновление() Тогда
ВызватьИсключение НСтр("ru = 'Выполнение отложено до завершения всех процедур обновления данных!'");
КонецЕсли;
Проанализировав ситуацию, мы видим, что данный метод позволяет сократить время перехода с измененной ЗУП ПРОФ на КОРП с нескольких дней нудной ручной работы до 30-40 минут, гарантируя при этом сохранность доработок и корректность последующих обновлений.