Каким образом лучше перенести данные ЗУП из конфигурации КА 1.1 в конфигурацию ЗУП 3.1?

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

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

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

Метод 1: «Мимикрия» конфигурации (Изменение метаданных КА 1.1)

Проанализируем самый простой и эффективный способ. Поскольку архитектура зарплатного блока в КА 1.1 (и УПП 1.3) соответствует ЗУП 2.5, мы можем заставить помощник переноса поверить, что перед ним именно ЗУП 2.5. Рассмотрим шаги, которые необходимо выполнить в Конфигураторе копии базы КА 1.1:

  1. Откроем конфигурацию и перейдем в свойства корневого объекта.
  2. Изменим свойство Имя с КомплекснаяАвтоматизация на ЗарплатаИУправлениеПерсоналом.
  3. Изменим номер версии на актуальный для ЗУП 2.5 (например, 2.5.130.2). Это критично, так как ЗУП 3.1 проверяет минимально допустимый номер версии источника для корректной работы правил.
  4. Сохраним изменения и обновим конфигурацию базы данных.

После этих манипуляций при запуске переноса из ЗУП 3.1 через «Помощник перехода», программа воспримет базу КА 1.1 как родную ЗУП 2.5. Выясним, почему это работает: стандартные правила обмена (ПКО, ПКС) обращаются к объектам, чьи имена (например, справочник СотрудникиОрганизаций или регистр расчета ОсновныеНачисленияОрганизаций) полностью совпадают в обеих конфигурациях.

Метод 2: Использование внешней обработки выгрузки и правка кода

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

В конфигурации ЗУП 3.1 найдем обработку ПомощникПереходаСПрошлыхПрограммЗарплатаКадры. В ее макетах обычно содержатся правила обмена и сама обработка выгрузки для платформы 8. Сохраним макет ПомощникВыгрузки_V8 как внешний файл .epf.

Проанализируем ситуацию: при запуске этой обработки в КА 1.1 она может выдать ошибку несоответствия типов. Чтобы это обойти, нам потребуется внести изменения в модуль объекта обработки. Найдем функцию проверки конфигурации и заставим ее всегда возвращать положительный результат:


// Пример модификации функции проверки (условно)
Функция ПроверитьТипКонфигурации()
    Возврат Истина; // Игнорируем проверку типа источника
КонецФункции

Также стоит обратить внимание на макет ЗарплатаКадрыПереносДанныхИзЗУП25 в ЗУП 3.1. Это правила конвертации данных (КД 2.0). Если в процессе выгрузки возникают ошибки из-за отсутствия определенных реквизитов (которые есть в ЗУП 2.5, но отсутствуют в КА 1.1, например, специфические поля для пилотов), нам придется открыть эти правила в конфигурации «Конвертация данных 2.1» и закомментировать ПКС для этих полей.

Подготовка данных перед переносом: важные шаги

Выясним причину большинства сбоев при загрузке данных в ЗУП 3.1. Новая конфигурация предъявляет гораздо более жесткие требования к качеству данных. Проанализируем чек-лист подготовки базы КА 1.1:

Выбор режима переноса: «Краткий» против «Полного»

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

  1. Рекомендуемый перенос (начальные данные): Переносятся только кадровые данные на дату начала учета и данные для расчета среднего заработка за последние 2-3 года. Это наиболее надежный вариант для КА 1.1. Мы получаем чистую базу без «хвостов» прошлых ошибок учета.
  2. Полный перенос (с историей документов): Попытка перенести все документы (Приемы, Переводы, Начисления) за несколько лет. Проанализируем риски: из-за различий в логике проведения документов (в КА 1.1 зарплата тесно связана с бухгалтерским контуром) полная история часто переносится с ошибками, требующими сотен часов ручной корректировки.

Совет: Если заказчик не настаивает на хранении старых расчетных листков непосредственно в новой базе, выбираем краткий перенос. Историю всегда можно посмотреть в архивной копии КА 1.1.

Решение проблемы «Поле объекта не обнаружено» при загрузке

Разберем типичную ситуацию: при загрузке в ЗУП 3.1 возникает ошибка обращения к реквизиту СоответствуетСудамПодФлагомРФ. Это происходит потому, что в старых релизах КА 1.1 этот реквизит мог называться иначе или отсутствовать в справочнике Подразделения.

В таком случае выполним следующее действие: в обработке ПомощникПереходаСПрошлыхПрограммЗарплатаКадры в ЗУП 3.1 найдем соответствующий фрагмент кода, отвечающий за заполнение реквизитов подразделений, и добавим проверку:


Если ОбъектИсточник.Метаданные().Реквизиты.Найти("УдалитьСоответствуетСудамПодФлагомРФ") <> Неопределено Тогда
    // Обработка логики для старого имени реквизита
КонецЕсли;

Подведем итог: переход с КА 1.1 на ЗУП 3.1 технически возможен через «обман» системы проверки конфигурации. Наилучшим сценарием будет использование копии базы, переименование ее в ЗарплатаИУправлениеПерсоналом в конфигураторе и запуск рекомендуемого (краткого) переноса данных.

← На главную