Как исправить ошибку «Значение не является значением объектного типа (Ссылка)» при переносе данных из ЗУП 2.5 в ЗУП 3.1?

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

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

Ошибка в обработчике события ПередОбработкойПравилаВыгрузки ПВД = ПриемНаРаботу Обработчик = ПередОбработкойВыгрузкиДанных ОписаниеОшибки = Значение не является значением объектного типа (Ссылка) ПозицияМодуля = (75) КодСообщения = 31

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

Причины возникновения ошибки

Ошибка «Значение не является значением объектного типа (Ссылка)» указывает на то, что алгоритм выгрузки пытается обратиться через точку к свойству Ссылка переменной, которая содержит Неопределено, NULL или базовый тип данных (например, строку или число).

Выясним основные причины такого поведения:

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

Шаг 1. Проведение тестирования и исправления базы ЗУП 2.5

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

  1. Сформируем резервную копию базы данных ЗУП 2.5.
  2. Запустим программу в режиме Конфигуратор.
  3. Перейдем в меню Администрирование — Тестирование и исправление...
  4. Установим флаги:
    • Проверка логической целостности информационной базы;
    • Проверка ссылочной целостности информационной базы.
  5. В блоке настройки при наличии ссылок на несуществующие объекты выберем вариант Очищать ссылки или Создавать объекты.
  6. Нажмем Выполнить, дождемся завершения процесса и повторим выгрузку.

Шаг 2. Проверка кадровых данных и заполнения документов

Проанализируем состояние справочников и документов в ЗУП 2.5:

  1. Проверим справочники ФизическиеЛица и Сотрудники на наличие дублирующихся или некорректно заполненных элементов.
  2. Откроем кадровые документы ПриемНаРаботуВОрганизацию и проверим заполнение всех табличных частей и шапки документов.
  3. Удалим помеченные на удаление объекты, которые могут вызывать перекрестные ссылки в базе.

Шаг 3. Синхронизация релизов и правил выгрузки

Проверим правильность используемых правил переноса:

  1. Обновим ЗУП 2.5 и ЗУП 3.1 до актуальных релизов.
  2. Возьмем комплект правил переноса из каталога шаблонов конфигурации ЗУП 3.1 (папка с правилами поставляется вместе с обновлением целевой базы).

Шаг 4. Локализация ошибки через отладчик

Если тестирование базы не устранило ошибку, проанализируем код обработчика с помощью внешнего инструмента:

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

Альтернативные способы переноса данных

Если выгрузка исторической кадровой документации вызывает критические ошибки, рассмотрим альтернативные подходы:

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