При работе в программе 1С:Зарплата и управление персоналом 3 (ЗУП 3) периодически возникает необходимость переноса персональных данных сотрудников из одной информационной базы в другую. Это может потребоваться при разделении учета, переходе на чистую базу для исправления накопившихся ошибок или при слиянии различных учетных систем. Главная сложность этой задачи заключается в том, что в современной архитектуре ЗУП 3 персональные сведения распределены по множеству связанных справочников и регистров сведений. Если просто перенести справочник физических лиц, мы получим "пустые" карточки без истории фамилий, паспортных данных, адресов и стажей.
В этой статье мы подробно разберем, как правильно решить задачу переноса физических лиц со всеми сопутствующими сведениями в чистую базу аналогичного релиза, избежав при этом дублирования и потери важной информации.
Этот способ является наиболее гибким и точным, когда базы-источник и база-приемник имеют полностью идентичную конфигурацию (один и тот же релиз). Для работы нам понадобится стандартная обработка с диска ИТС — ВыгрузкаЗагрузкаДанныхXML.epf.
Рассмотрим по шагам, какие именно объекты метаданных необходимо выбрать для выгрузки, чтобы персональные данные перенеслись в полном объеме:
ФизическиеЛица) — это основа переноса, содержащая ключевые карточки людей.ФизическиеЛицаПрисоединенныеФайлы) — необходим, если в базе-источнике к карточкам физических лиц прикреплялись сканы документов (паспорта, трудовые книжки, дипломы).ФИОФизическихЛиц) — критически важный регистр. Именно в нем хранится история изменения фамилий, имен и отчеств. Если его не перенести, в базе-приемнике у физических лиц вместо имен будут пустые строки или некорректно отображаемые наименования.ДокументыФизическихЛиц) — содержит информацию обо всех удостоверениях личности: паспортах РФ, загранпаспортах, СНИЛС, ИНН, водительских удостоверениях и прочих документах с историей их изменений.ГражданствоФизическихЛиц) — хранит сведения о гражданстве сотрудника (РФ, иностранное государство) и периодах его действия.СтажиФизическихЛиц) — содержит сведения о страховом, непрерывном, северном и других видах стажей, необходимых для расчета больничных листов и пособий.ВоинскийУчет) — содержит всю информацию о воинском звании, отношении к воинской службе, составе семьи призывника и другие данные для отчетности в военкомат.СоставСемейФизическихЛиц) — переносит сведения о родственниках и членах семей сотрудников.ОбразованиеФизическихЛиц) — хранит информацию о законченных учебных заведениях, дипломах, квалификациях и ученых степенях.ИнвалидностьФизическихЛиц) — необходим для правильного расчета страховых взносов, если среди сотрудников есть лица с ограниченными возможностями здоровья.ФизическиеЛица, либо в независимом регистре сведений КонтактнаяИнформация. При выгрузке обязательно убедитесь, что этот регистр также выбран.Для того чтобы программно проанализировать, какие еще независимые регистры сведений могут быть связаны со справочником физических лиц, мы можем использовать следующий программный код в консоли кода:
Для Каждого МенеджерРегистра Из РегистрыСведений Цикл
МетаданныеРегистра = МенеджерРегистра.Метаданные();
// Нас интересуют только независимые регистры сведений
Если МетаданныеРегистра.РежимЗаписи = РежимЗаписиРегистраСведений.Независимый Тогда
Для Каждого Измерение Из МетаданныеРегистра.Измерения Цикл
Если Измерение.Тип.СодержитТип(Тип("СправочникСсылка.ФизическиеЛица")) Тогда
Сообщить("Связанный регистр: " + МетаданныеРегистра.Имя);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
При использовании обработки ВыгрузкаЗагрузкаДанныхXML.epf очень важно снять флажки со всех связанных справочников-классификаторов, таких как ВидыДокументовФизическихЛиц, СтраныМира, классификаторов адресов и банков. Если этого не сделать, данные объекты могут задублироваться в чистой базе-приемнике, создав путаницу в учете.
Если перед нами стоит задача получить абсолютно "чистую" базу с сохранением всей справочной информации, то самым надежным и простым решением будет метод копирования:
Этот метод полностью гарантирует, что все связи между физическими лицами и их персональными регистрами сохранятся в первозданном виде. Однако он требует аккуратности, так как необходимо корректно удалить ссылочную целостность документов, чтобы в базе не осталось битых ссылок.
Мало кто знает, что стандартный механизм синхронизации данных в 1С можно использовать для разового переноса справочной информации. Этот способ хорош тем, что платформа автоматически отслеживает все связанные ссылки и переносит их вместе с физическим лицом без риска что-то упустить.
Разберем по шагам алгоритм настройки такого переноса:
Физические лица (можно выбрать как весь справочник целиком, так и настроить отбор по конкретным папкам или сотрудникам).В случае, если база-приемник полностью пустая, а перенести нужно только активных на текущий момент сотрудников со всеми ключевыми персональными данными, можно задействовать встроенный помощник начальной настройки:
НачальнаяНастройкаПрограммы).Этот способ позволяет избежать использования сторонних обработок и гарантирует перенос только актуальных данных без исторического "мусора".
При любом способе переноса данных необходимо помнить о ключевых технических ограничениях платформы 1С:
Таким образом, выбор конкретного метода зависит от чистоты базы-приемника и объема переносимых сведений. Для чистой пустой базы оптимально подходит перенос через "Выгрузку и загрузку данных XML" с точным выбором регистров сведений, либо использование встроенного механизма синхронизации данных.