Как перенести данные справочника Физические лица из УПП в ЗУП

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

Переход с комплексных систем, таких как «1С:Управление производственным предприятием 1.3» (УПП), на специализированные решения вроде «1С:Зарплата и управление персоналом» (ЗУП) — это всегда ответственный проект. Одной из первых задач в этом процессе становится перенос персональных данных сотрудников, которые хранятся в справочнике ФизическиеЛица. Разберем подробно, как реализовать этот перенос, используя различные инструменты: от конфигурации «Конвертация данных» до типовых механизмов 1С.

Метод 1: Создание правил обмена в конфигурации «Конвертация данных»

Если перед нами стоит задача перенести данные выборочно или со специфическими преобразованиями, наиболее гибким инструментом будет конфигурация «Конвертация данных 2.1» (КД). Рассмотрим пошаговый алгоритм действий, который позволит нам подготовить правила обмена.

  1. Выгрузка описания метаданных. Для начала нам необходимо получить структуры обеих информационных баз. В составе дистрибутива КД найдем обработку MD82Exp.epf (для УПП 8.2) и MD83Exp.epf (для современных версий ЗУП). Запустим их в соответствующих базах и сохраним файлы XML с описанием метаданных.
  2. Загрузка структур в КД. Откроем базу «Конвертация данных» и загрузим полученные файлы в справочник «Конфигурации». Назовем их, к примеру, «УПП_Источник» и «ЗУП_Приемник».
  3. Создание новой конвертации. Создадим новый объект в справочнике «Конвертации», указав нашу базу-источник и базу-приемник.
  4. Настройка правил конвертации объектов (ПКО). Воспользуемся мастером настройки. Выберем в качестве источника справочник ФизическиеЛица и аналогичный справочник в приемнике. Проанализируем состав реквизитов: ДатаРождения, ИНН, СтраховойНомерПФР (СНИЛС), Пол. Обычно они сопоставляются автоматически по наименованию.
  5. Настройка поиска (Идентификация). Это критически важный момент. Не рекомендуется настраивать поиск только по наименованию, так как в базе могут быть полные тезки. Лучше всего использовать связку Наименование + ДатаРождения или уникальный идентификатор СНИЛС.
  6. Перенос сопутствующих данных. Проанализируем, что справочник физических лиц в 1С тесно связан с регистрами сведений. Нам потребуется создать дополнительные ПКО для таких регистров, как ФИОФизЛиц (история смены фамилий), ПаспортныеДанныеФизЛиц и ГражданствоФизЛиц. В КД это реализуется через настройку правил выгрузки данных или через обработчики событий.
  7. Сохранение и использование правил. Выгрузим готовое правило в XML-файл.

Для выполнения самого обмена в базе УПП воспользуемся обработкой УниверсальныйОбменДаннымиXML. На вкладке «Выгрузка» укажем файл правил и выберем нужные объекты. После этого в ЗУП откроем ту же обработку и выполним «Загрузку».

Метод 2: Прямое подключение через COM-соединение

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

Выясним преимущества этого подхода: нам не нужно постоянно выгружать и загружать файлы XML при отладке правил. В настройках обработки на стороне приемника (ЗУП) выберем пункт «Подключение к информационной базе». Укажем путь к базе УПП (или параметры серверной базы), логин и пароль. Программа сама инициирует COM-соединение, прочитает данные из источника согласно правилам и создаст объекты в ЗУП. Это значительно ускоряет процесс, если объем данных велик.

Метод 3: Использование типовых помощников перехода

Проанализируем ситуацию: фирма 1С уже позаботилась о пользователях, переходящих с УПП на ЗУП 3.1. В типовой поставке ЗУП часто присутствует встроенный помощник перехода. Разберем, где его найти и как применить.

В разделе «Администрирование» выберем пункт «Перенос данных из предыдущих программ». В списке доступных конфигураций выберем «1С:Управление производственным предприятием, ред. 1.3». Программа предложит два варианта: Краткий перенос (рекомендуется для ЗУП 3.1) — переносятся справочники (включая физических лиц) и остатки для расчета среднего заработка. Полный перенос — попытка перенести всю историю документов. Важно помнить, что полный перенос часто приводит к ошибкам из-за различий в архитектуре программ, поэтому для справочника физических лиц лучше использовать типовой механизм краткого переноса.

Важные технические нюансы и подводные камни

При переносе данных из УПП в ЗУП 3.1 мы обязательно столкнемся с различиями в структуре хранения данных. Разберем их подробнее:

1. Физические лица vs Сотрудники. Нужно четко разделять эти два понятия. ФизическиеЛица — это люди как субъекты (ФИО, паспорт, СНИЛС). Сотрудники — это разрезы учета (трудовые договоры). Если мы перенесем только физлиц, мы наполним справочник персональными данными, но не сможем сразу начислять зарплату, пока не создадим соответствующие карточки сотрудников.

2. Контактная информация. В УПП адреса и телефоны часто хранятся в табличных частях справочника или в отдельном регистре сведений. В современных версиях ЗУП используется подсистема БСП. Посмотрим на типичный пример кода, который может потребоваться в обработчике КД для корректного разбора адреса:


// Пример логики в обработчике "ПриЗагрузке" для КД
Если ТипЗнч(Объект) = Тип("СправочникОбъект.ФизическиеЛица") Тогда
    // Здесь может быть вызов функций БСП для управления контактной информацией
    // Например, РаботаСКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(...)
КонецЕсли;

3. Версионность конфигураций. Обратим внимание на то, что поддержка ЗУП 2.5 (которая по архитектуре близка к УПП) практически прекращена. Поэтому перенос стоит осуществлять сразу в ЗУП 3.1 (на управляемых формах). Если же вы все-таки решили использовать ЗУП 2.5 КОРП, то можно воспользоваться методом «загрузки конфигурации сверху», как упоминалось на форуме, однако это считается «грязным» методом и требует высокой квалификации для очистки базы от лишних метаданных УПП.

Рекомендации по подготовке данных в УПП перед переносом

Чтобы минимизировать количество ошибок и дублей, проанализируем состояние данных в исходной базе УПП перед началом выгрузки:

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

← На главную