Как перенести физических лиц и контактную информацию из ЗУП 2.5 в ЗУП 3.1?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

Перенос данных из устаревших или сильно доработанных конфигураций «1С:Зарплата и Управление Персоналом» редакции 2.5 в современную редакцию 3.1 — частая задача при автоматизации кадрового учета. Особые трудности возникают при конвертации контактной информации (адресов, телефонов, email), поскольку структура ее хранения в Библиотеке Стандартных Подсистем (БСП) в ЗУП 3.1 кардинально отличается от ЗУП 2.5.

Рассмотрим подробно, где находятся типовые правила обмена, как устроена структура контактных данных в обеих конфигурациях и какими способами можно организовать фоновый или постоянный перенос физических лиц.

Особенности хранения контактной информации в ЗУП 2.5 и ЗУП 3.1

Проанализируем ключевые различия в структуре регистра КонтактнаяИнформация между двумя поколениями программы:

  1. ЗУП 2.5: Данные адресов и телефонов хранятся в одноименном регистре сведений КонтактнаяИнформация. Детализация адреса (индекс, регион, город, улица, дом) разнесена по строковым колонкам от Поле1 до Поле10, а итоговая текстовая строка находится в реквизите Представление.
  2. ЗУП 3.1: Запись контактных данных осуществляется с использованием механизмов БСП. Вместо отдельных колонок детализация адреса сериализуется в строковый формат XML или JSON и записывается в реквизит ЗначенияПолей. В реквизите Представление при этом хранится пользовательская строка адреса или телефона.

Где найти типовые правила обмена в ЗУП 3.1

В конфигурации ЗУП 3.1 уже встроен готовый механизм конвертации данных из редакции 2.5. Правила обмена для программы «1С:Конвертация данных 2.0» содержатся прямо в составе конфигурации ЗУП 3.1.

Чтобы выгрузить и изучить готовый алгоритм переноса контактных данных и физических лиц, выполним следующие шаги:

  1. Откроем конфигуратор ЗУП 3.1.
  2. В дереве метаданных перейдем в ветку Общие > Макеты.
  3. Найдем общий макет с именем ЗарплатаКадрыПереносДанныхИзЗУП25.
  4. Сохраним этот макет как XML-файл на диск и откроем его в конфигурации «1С:Конвертация данных 2.0» (КД 2.0).

В этих правилах можно посмотреть готовые обработчики ПКО (Правила Конвертации Объектов) для справочника ФизическиеЛица и правила конвертации регистра сведений КонтактнаяИнформация.

Программная работа с контактной информацией через службы БСП

Если требуется написать собственную обработку или регламентное задание для переноса данных без использования тяжелых правил КД 2.0, формировать XML-строку вручную не обязательно. В ЗУП 3.1 предусмотрен специальный программный интерфейс в общем модуле УправлениеКонтактнойИнформацией.

Разберем пример кода, как преобразовать обычную текстовую строку адреса или телефона из базы ЗУП 2.5 в структурированный XML/JSON вариант, понятный для ЗУП 3.1:


// Формируем структуру данных на основе строки представления из 2.5
ВидКонтактнойИнформации = Справочники.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица;
ТекстовоеПредставление = "г. Москва, ул. Ленина, д. 10, кв. 5";

// Используем типовую функцию БСП для получения XML/JSON строки
ЗначенияПолейXML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(ТекстовоеПредставление, ВидКонтактнойИнформации);

// Пример записи контактной информации для физического лица в ЗУП 3.1
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Объект.Установить(СсылкаНаФизЛицо);
НаборЗаписей.Отбор.Вид.Установить(ВидКонтактнойИнформации);

НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Объект = СсылкаНаФизЛицо;
НоваяЗапись.Вид = ВидКонтактнойИнформации;
НоваяЗапись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
НоваяЗапись.Представление = ТекстовоеПредставление;
НоваяЗапись.ЗначенияПолей = ЗначенияПолейXML;

НаборЗаписей.Записать();

Способы организации автоматического переноса физических лиц

Если организация планирует вести учет параллельно в двух базах или постепенно переносить элементы кадрового учета, можно выбрать один из технических подходов:

  1. Подключение через COM-соединение (V83.COMConnector):
    В ЗУП 3.1 создается внешняя обработка, подключаемая к регламентным заданиям. По расписанию задание подключается к информационной базе ЗУП 2.5 по COM-соединению, выбирает созданных или измененных физических лиц и загружает их в ЗУП 3.1.
  2. Использование HTTP-сервисов:
    На стороне ЗУП 3.1 поднимается HTTP-сервис. При создании нового элемента в ЗУП 2.5 подписка на событие отправляет JSON-пакет с данными физического лица в ЗУП 3.1, где приемник моментально записывает объект.
  3. Сопоставление элементов (Предотвращение дублей):
    При переходе важно настроить корректный поиск элементов в целевой базе. Рекомендуется искать физическое лицо по комбинации СНИЛС + ИНН или ФИО + ДатаРождения. Дополнительно можно сохранять GUID (УникальныйИдентификатор) источника из ЗУП 2.5 в дополнительном реквизите физического лица в ЗУП 3.1.

Применяя эти методы и опираясь на типовой макет ЗарплатаКадрыПереносДанныхИзЗУП25, можно успешно реализовать перенос физических лиц и корректную конвертацию их контактных данных даже с устаревших версий ЗУП 2.5.

← На главную