Как перенести данные из ЗУП 2.5 в ЗУП 3.1 только по выбранным организациям?

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

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

Причина недоступности отборов в типовых правилах переноса

Выясним, почему стандартный механизм переноса из ЗУП 2.5 в ЗУП 3.1 не поддерживает пользовательские фильтры. В типовом макете правил ЗарплатаКадрыПереносДанныхИзЗУП25 выборка данных из базы-источника устроена специфическим образом:

  1. Запросы в правилах выгрузки (ПВД): Выгрузка данных строится не по принципу «документ в документ», а путем выполнения жестко зашитых запросов к таблицам базы 1С. В большинстве правил выгрузки данных параметры и условия отбора по организации изначально не предусмотрены.
  2. Игнорирование настроек интерфейса: Даже если принудительно включить видимость командной панели или кнопок отбора в обработке Универсальный обмен данными XML, стандартный механизм выгрузки не сможет применить фильтры к запросам inside алгоритмов ПВД. В результате либо выгружаются данные по всем организациям без исключения, либо выгрузка завершается с ошибкой ссылочной целостности.

По этой причине сделать выборочный перенос простой установкой галочки в обработке выгрузки невозможно. Рассмотрим рабочие альтернативные варианты выгрузки данных.

Способ 1. Создание и подготовка копии базы-источника (ЗУП 2.5)

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

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

  1. Создадим полную копию исходной информационной базы ЗУП 2.5 на сервере или локальном компьютере.
  2. Зайдем в созданную копию базы и определим список организаций, данные по которым не должны попасть в новую систему.
  3. Пометим на удаление ненужные организации, а также связанные с ними кадровые и расчетные документы.
  4. Выполним физическое удаление помеченных объектов с помощью обработки Удаление помеченных объектов. Если некоторые объекты не удаляются из-за зацикленных ссылок, используем обработку Поиск и замена дублей или специализированные обработки для очистки ссылок.
  5. После того как в копии базы останутся данные только нужных организаций, запустим стандартный помощник переноса данных НачальнаяНастройкаПрограммы или выгрузку через Универсальный обмен данными XML.

Способ 2. Использование распределенной информационной базы (РИБ) с фильтром

Если исходная база ЗУП 2.5 имеет огромный объем и очистка копии занимает слишком много времени, эффективным решением станет создание узла РИБ с отбором по организации.

Проанализируем алгоритм выполнения:

  1. В исходной базе ЗУП 2.5 откроем список планов обмена (например, ПоОрганизации) и создадим новый подчиненный узел РИБ.
  2. В настройках созданного узла укажем фильтр — выберем только ту организацию (или список организаций), которую необходимо перенести.
  3. Создадим начальный образ подчиненной информационной базы. Платформа 1С автоматически сформирует новую базу, в которую попадут только данные, соответствующие установленному фильтру организации.
  4. Откроем созданную подчиненную базу в режиме Конфигуратора и выполним «отвязку» узла від главного, чтобы перевести базу в автономный режим. Для этого в командной строке или с помощью специального скрипта выполним команду: ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
  5. Запустим перенос данных в ЗУП 3.1, указав в качестве источника подготовленную автономную базу.

Способ 3. Доработка правил выгрузки в «1С:Конвертация данных 2.0»

Для программистов и специалистов по автоматизации возможен вариант корректировки самих правил обмена.

  1. Сохраним макет правил ЗарплатаКадрыПереносДанныхИзЗУП25 из конфигурации ЗУП 3.1 в отдельный XML-файл.
  2. Загрузим полученный файл правил в конфигурацию «1С:Конвертация данных», редакция 2.1.
  3. В разделе «Параметры» добавим новый параметр (например, ОрганизацияДляВыгрузки) с типом СправочникСсылка.Организации или СписокЗначений.
  4. Откроем Правила выгрузки данных (ПВД) и Правила конвертации объектов (ПКО). В текстах запросов перед обработкой выгрузки добавим условие фильтрации по организации: ГДЕ ТаблицаИсточник.Организация = &ОрганизацияДляВыгрузки
  5. Сохраним измененные правила в XML-файл и запустим выгрузку из ЗУП 2.5 через обработку Универсальный обмен данными XML, указав созданный параметр.

Важные риски и особенности, которые нужно учесть

При выполнении выборочного переноса по организациям обратите особое внимание на следующие нюансы:

Таким образом, наиболее надежными подходами являются предварительная подготовка очищенной копии базы ЗУП 2.5 или выгрузка через автономный узел РИБ с отбором по организации.

← На главную