Переход с комплексных систем, таких как «1С:Управление производственным предприятием 1.3» (УПП), на специализированные решения вроде «1С:Зарплата и управление персоналом» (ЗУП) — это всегда ответственный проект. Одной из первых задач в этом процессе становится перенос персональных данных сотрудников, которые хранятся в справочнике ФизическиеЛица. Разберем подробно, как реализовать этот перенос, используя различные инструменты: от конфигурации «Конвертация данных» до типовых механизмов 1С.
Если перед нами стоит задача перенести данные выборочно или со специфическими преобразованиями, наиболее гибким инструментом будет конфигурация «Конвертация данных 2.1» (КД). Рассмотрим пошаговый алгоритм действий, который позволит нам подготовить правила обмена.
MD82Exp.epf (для УПП 8.2) и MD83Exp.epf (для современных версий ЗУП). Запустим их в соответствующих базах и сохраним файлы XML с описанием метаданных.ФизическиеЛица и аналогичный справочник в приемнике. Проанализируем состав реквизитов: ДатаРождения, ИНН, СтраховойНомерПФР (СНИЛС), Пол. Обычно они сопоставляются автоматически по наименованию.Наименование + ДатаРождения или уникальный идентификатор СНИЛС.ФИОФизЛиц (история смены фамилий), ПаспортныеДанныеФизЛиц и ГражданствоФизЛиц. В КД это реализуется через настройку правил выгрузки данных или через обработчики событий.Для выполнения самого обмена в базе УПП воспользуемся обработкой УниверсальныйОбменДаннымиXML. На вкладке «Выгрузка» укажем файл правил и выберем нужные объекты. После этого в ЗУП откроем ту же обработку и выполним «Загрузку».
Рассмотрим более оперативный способ, который позволяет избежать промежуточных файлов. Обработка УниверсальныйОбменДаннымиXML поддерживает режим прямого подключения к информационной базе.
Выясним преимущества этого подхода: нам не нужно постоянно выгружать и загружать файлы XML при отладке правил. В настройках обработки на стороне приемника (ЗУП) выберем пункт «Подключение к информационной базе». Укажем путь к базе УПП (или параметры серверной базы), логин и пароль. Программа сама инициирует COM-соединение, прочитает данные из источника согласно правилам и создаст объекты в ЗУП. Это значительно ускоряет процесс, если объем данных велик.
Проанализируем ситуацию: фирма 1С уже позаботилась о пользователях, переходящих с УПП на ЗУП 3.1. В типовой поставке ЗУП часто присутствует встроенный помощник перехода. Разберем, где его найти и как применить.
В разделе «Администрирование» выберем пункт «Перенос данных из предыдущих программ». В списке доступных конфигураций выберем «1С:Управление производственным предприятием, ред. 1.3». Программа предложит два варианта: Краткий перенос (рекомендуется для ЗУП 3.1) — переносятся справочники (включая физических лиц) и остатки для расчета среднего заработка. Полный перенос — попытка перенести всю историю документов. Важно помнить, что полный перенос часто приводит к ошибкам из-за различий в архитектуре программ, поэтому для справочника физических лиц лучше использовать типовой механизм краткого переноса.
При переносе данных из УПП в ЗУП 3.1 мы обязательно столкнемся с различиями в структуре хранения данных. Разберем их подробнее:
1. Физические лица vs Сотрудники. Нужно четко разделять эти два понятия. ФизическиеЛица — это люди как субъекты (ФИО, паспорт, СНИЛС). Сотрудники — это разрезы учета (трудовые договоры). Если мы перенесем только физлиц, мы наполним справочник персональными данными, но не сможем сразу начислять зарплату, пока не создадим соответствующие карточки сотрудников.
2. Контактная информация. В УПП адреса и телефоны часто хранятся в табличных частях справочника или в отдельном регистре сведений. В современных версиях ЗУП используется подсистема БСП. Посмотрим на типичный пример кода, который может потребоваться в обработчике КД для корректного разбора адреса:
// Пример логики в обработчике "ПриЗагрузке" для КД
Если ТипЗнч(Объект) = Тип("СправочникОбъект.ФизическиеЛица") Тогда
// Здесь может быть вызов функций БСП для управления контактной информацией
// Например, РаботаСКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(...)
КонецЕсли;
3. Версионность конфигураций. Обратим внимание на то, что поддержка ЗУП 2.5 (которая по архитектуре близка к УПП) практически прекращена. Поэтому перенос стоит осуществлять сразу в ЗУП 3.1 (на управляемых формах). Если же вы все-таки решили использовать ЗУП 2.5 КОРП, то можно воспользоваться методом «загрузки конфигурации сверху», как упоминалось на форуме, однако это считается «грязным» методом и требует высокой квалификации для очистки базы от лишних метаданных УПП.
Чтобы минимизировать количество ошибок и дублей, проанализируем состояние данных в исходной базе УПП перед началом выгрузки:
СНИЛС. Это единственный по-настоящему уникальный идентификатор физического лица в РФ.Таким образом, для разового переноса справочника физических лиц оптимальным решением будет использование типового помощника перехода в ЗУП 3.1. Если же требуется регулярный обмен или специфическая фильтрация данных, стоит потратить время на освоение Конвертации данных, что даст полный контроль над процессом трансформации информации.