Как перенести справочник физических лиц в 1С:ЗУП 3.1 без создания дублей?

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

Часто возникает задача синхронизировать или перенести данные между двумя базами 1С, например, справочник физических лиц из одной конфигурации 1С:ЗУП 3.1 в другую, идентичную. Если в базе-приемнике уже существуют некоторые из этих физлиц, стандартный перенос с помощью универсального обмена может создать дубликаты. Это происходит потому, что по умолчанию система идентифицирует объекты по их внутреннему уникальному идентификатору (GUID), а физлица, созданные независимо в разных базах, будут иметь разные GUID, даже если их ИНН и СНИЛС совпадают. Для комплексной миграции между системами применяется перенос данных между базами 1С:ЗУП 3, который включает справочную информацию и кадрово-расчётные сведения.

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

Способ 1. Настройка правил обмена в обработке «Универсальный обмен данными в формате XML»

Это наиболее правильный и предпочтительный метод, который позволяет предотвратить проблему на корню. Суть в том, чтобы указать обработке обмена, как именно идентифицировать объекты при загрузке — не по внутреннему идентификатору, а по уникальным для физического лица реквизитам.

Проанализируем шаги настройки:

  1. Запустите обработку «Универсальный обмен данными в формате XML».
  2. На вкладке «Выгрузка данных» сформируйте файл выгрузки со справочником «Физические лица» из базы-источника.
  3. Переключитесь на вкладку «Загрузка данных» в базе-приемнике и выберите созданный файл.
  4. Самый важный шаг: перед тем как нажать кнопку «Загрузить данные», настройте режим поиска объектов. Вместо стандартного поиска по GUID, нужно установить поиск по полям. Для справочника Физические лица самыми надежными идентификаторами являются ИНН и СНИЛС.
  5. В настройках загрузки укажите, что поиск должен производиться по этим реквизитам. Как правило, в обработке есть табличная часть, где можно задать поля поиска для каждого типа объекта.

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

Таким образом, дублирование полностью исключается. Этот метод требует внимательной настройки, но обеспечивает самый чистый результат.

Способ 2. Перенос данных через промежуточный табличный документ (MXL или Excel)

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

Разберем процесс по шагам:

  1. Выгрузка из базы-источника. Сформируйте отчет по справочнику Физические лица, который содержит все необходимые реквизиты (ФИО, ИНН, СНИЛС, паспортные данные, адреса и т.д.). Сохраните этот отчет в формате табличного документа (.mxl) или Excel (.xlsx).
  2. Загрузка в базу-приемник. В базе-приемнике воспользуйтесь стандартной или внешней обработкой «Загрузка данных из табличного документа».
  3. Настройка сопоставления. В обработке загрузки вам нужно будет сопоставить колонки вашего файла с реквизитами справочника Физические лица.
  4. Настройка идентификации. Как и в первом способе, здесь ключевым является указание полей для поиска существующих элементов. Укажите, что сопоставлять записи нужно по колонкам с ИНН и СНИЛС.
  5. Выбор режима загрузки. Установите режим, который позволяет и обновлять существующие записи, и создавать новые.

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

Способ 3. Поиск и удаление дублей после переноса

Если перенос уже выполнен и дубликаты созданы, можно воспользоваться встроенным в 1С:ЗУП 3.1 инструментом для их устранения. Этот способ не предотвращает проблему, а борется с ее последствиями.

Для этого используется обработка «Поиск и удаление дублей».

  1. Откройте раздел Администрирование → Обслуживание → Корректировка данных и запустите обработку Поиск и удаление дублей.
  2. В поле «Искать в» выберите справочник «Физические лица».
  3. В правилах поиска обязательно укажите сравнение по полям «ИНН» и/или «СНИЛС». Сравнение только по ФИО (полю «Наименование») ненадежно из-за возможных полных тезок.
  4. Нажмите кнопку «Найти дубли». Система проанализирует справочник и выведет список групп дублирующихся элементов.
  5. Для каждой группы программа предложит выбрать один элемент в качестве «правильного» (оригинала). Все остальные элементы из группы будут помечены на удаление, а все ссылки на них в документах и других справочниках будут автоматически заменены на ссылку на выбранный оригинал.

КРИТИЧЕСКИ ВАЖНО: У этого способа есть серьезный недостаток. Автоматический выбор «оригинала» может быть неверным. Например, система может предложить оставить старую, менее заполненную карточку физлица, а новую, с более полными данными, пометить на удаление. Если не проверить каждую группу вручную и просто нажать «Удалить дубли», можно потерять важную информацию.

Поэтому при использовании этого инструмента необходимо тщательно и вручную проверять каждую группу дублей и самостоятельно указывать, какой из элементов является основным. Этот процесс может быть трудоемким при большом количестве дублей, но он гарантирует сохранность данных.

Перед выполнением любых массовых операций с данными, особенно связанных с переносом или удалением, настоятельно рекомендуется сделать резервную копию базы данных.

← На главную