Как настроить перенос данных из ЗУП 2.5 в ЗУП 3.1 через универсальный обмен XML и решить проблемы с составом выгрузки

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

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

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

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

  1. Откройте конфигуратор ЗУП 3.1.
  2. Найдите в дереве метаданных обработку под названием ПомощникПереходаСПрежнихПрограммЗарплатаКадры.
  3. Перейдите в раздел Макеты этой обработки.
  4. Найдите макет ТиповыеПравилаПереносаДанных. Это и есть искомый XML-файл правил.
  5. Сохраните этот макет на диск как файл (правой кнопкой мыши — «Сохранить как...»).

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

Решение проблемы неполной выгрузки физических лиц

Часто при выгрузке через Универсальный обмен программисты замечают, что справочник ФизическиеЛица переносится частично. Выясним причину этого поведения. В типовых правилах заложены фильтры, которые отсекают «неактуальных» лиц. Чтобы обойти это ограничение, рассмотрим работу с параметром ПереноситьНачисленияПредыдущейПрограммыОтладка.

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


Параметры.ПереноситьНачисленияПредыдущейПрограммы = ?(СтрокаТаблицы.Значение = 1, Истина, Ложь);

Если Параметры.ПереноситьНачисленияПредыдущейПрограммы Тогда
    Если Не ЗначениеЗаполнено(Параметры.ДатаНачалаПереносаРасчетныхДанных) Тогда
        Параметры.ДатаНачалаПереносаРасчетныхДанных = Дата(2010, 1, 1);
    КонецЕсли;
КонецЕсли;

Эта настройка позволяет программе «увидеть» сотрудников, работавших в организации с 2010 года. Без активации этого флага программа может переносить только текущих, официально трудоустроенных сотрудников на дату выгрузки.

Как сделать скрытые параметры видимыми на форме

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

  1. Откройте сохраненный файл правил XML в любом текстовом редакторе (лучше всего использовать Notepad++ или аналоги).
  2. Найдите блок <Параметры>.
  3. Для параметров, которые вам необходимы (например, ДатаНачалаПереносаРасчетныхДанных), найдите атрибут, отвечающий за видимость на форме.
  4. Установите значение true для свойства отображения в диалоге.
  5. Сохраните изменения и заново загрузите файл правил в обработку Универсальный обмен данными XML.

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

Выбор режима переноса: Полный или Упрощенный

В параметрах выгрузки есть пункт Обновление настроек программы, который фактически переключает режим переноса:

Рассмотрим пример: если сотрудник принят 09.01.2018, а он не попадает в выгрузку, проверьте МесяцНачалаЭксплуатации. Если там стоит февраль, то январские данные могут игнорироваться. Попробуйте установить дату начала переноса на 01.01.2018 или даже на конец предыдущего года для корректного захвата начальных остатков.

Проблема дублирования и детализации подразделений (ЗУП -> Бухгалтерия)

Отдельный вопрос касается выгрузки данных из ЗУП в Бухгалтерию предприятия (БП). Часто в ЗУП ведется детальный учет по отделам, а в Бухгалтерии требуется видеть только сводные данные по головным подразделениям. Посмотрим на ситуацию: при выгрузке каждый отдел создает отдельную проводку, что загромождает учет в БП.

Проанализируем способы решения этой задачи:

  1. Настройка способов отражения: Для всех вложенных отделов в ЗУП можно указать один и тот же Способ отражения в бухучете, который соответствует вышестоящему подразделению.
  2. Сопоставление объектов (Mapping): В самой Бухгалтерии при настройке синхронизации можно вручную указать, что нескольким подразделениям из ЗУП соответствует одно подразделение в БП.
  3. Параметры синхронизации: В настройках состава отправляемых данных можно попробовать ограничить иерархию подразделений, однако это чаще требует доработки правил через конфигурацию Конвертация данных 2.1.

Особенности выгрузки документов за период

При использовании Универсального обмена пользователи часто сталкиваются с тем, что при выборе периода выгружаются «древние» документы за 2011-2013 годы, хотя выбран 2017 год. Выясним причину: в правилах перехода с 2.5 на 3.1 механизм выбора периода в самой обработке может перекрываться внутренними алгоритмами правил.

Чтобы выгрузить данные строго за период, рекомендуется:

Помните, что переход с ЗУП 2.5 на 3.1 — это в первую очередь перенос данных (регистров), а не документов «один в один». Типовой перенос создает документы Перенос данных, которые содержат записи регистров накопления и расчета. Если ваша задача — перенести именно первичные документы (приказы, начисления) за короткий период, будьте готовы к тому, что типовые правила для этого не всегда предназначены и могут потребовать серьезной адаптации.

← На главную