← На главную
При переносе данных из конфигурации 1С:Зарплата и Управление Персоналом 2.5 в 1С:Зарплата и Управление Персоналом 3.1 на этапе выгрузки кадровой истории может возникать ошибка следующего вида:
Ошибка в обработчике события ПередОбработкойПравилаВыгрузки ПВД = ПриемНаРаботу Обработчик = ПередОбработкойВыгрузкиДанных ОписаниеОшибки = Значение не является значением объектного типа (Ссылка) ПозицияМодуля = (75) КодСообщения = 31
Рассмотрим причины возникновения этой проблемы и разберем по шагам доступные способы решения.
Причины возникновения ошибки
Ошибка «Значение не является значением объектного типа (Ссылка)» указывает на то, что алгоритм выгрузки пытается обратиться через точку к свойству Ссылка переменной, которая содержит Неопределено, NULL или базовый тип данных (например, строку или число).
Выясним основные причины такого поведения:
- Битые ссылки в базе ЗУП 2.5: В кадровых документах или регистрах сведений присутствуют ссылки на несуществующие объекты (например, удаленных физических лиц или сотрудников).
- Незаполненные обязательные реквизиты: В документах приема на работу или кадровых перемещениях отсутствуют критически важные данные (должность, подразделение, график работы).
- Несоответствие релизов и правил обмена: Используется комплект правил переноса, несоответствующий релизам исходной и целевой конфигураций.
- Коллизии в периодических регистрах: Наличие дублей в кадровом учете приводит к тому, что выборка запроса в обработчике правил выгрузки возвращает пустую строку.
Шаг 1. Проведение тестирования и исправления базы ЗУП 2.5
В большинстве случаев сбой вызывается наличием битых ссылок в базе-источнике. Выполним проверку целостности данных:
- Сформируем резервную копию базы данных
ЗУП 2.5.
- Запустим программу в режиме Конфигуратор.
- Перейдем в меню Администрирование — Тестирование и исправление...
- Установим флаги:
- Проверка логической целостности информационной базы;
- Проверка ссылочной целостности информационной базы.
- В блоке настройки при наличии ссылок на несуществующие объекты выберем вариант Очищать ссылки или Создавать объекты.
- Нажмем Выполнить, дождемся завершения процесса и повторим выгрузку.
Шаг 2. Проверка кадровых данных и заполнения документов
Проанализируем состояние справочников и документов в ЗУП 2.5:
- Проверим справочники
ФизическиеЛица и Сотрудники на наличие дублирующихся или некорректно заполненных элементов.
- Откроем кадровые документы
ПриемНаРаботуВОрганизацию и проверим заполнение всех табличных частей и шапки документов.
- Удалим помеченные на удаление объекты, которые могут вызывать перекрестные ссылки в базе.
Шаг 3. Синхронизация релизов и правил выгрузки
Проверим правильность используемых правил переноса:
- Обновим
ЗУП 2.5 и ЗУП 3.1 до актуальных релизов.
- Возьмем комплект правил переноса из каталога шаблонов конфигурации
ЗУП 3.1 (папка с правилами поставляется вместе с обновлением целевой базы).
Шаг 4. Локализация ошибки через отладчик
Если тестирование базы не устранило ошибку, проанализируем код обработчика с помощью внешнего инструмента:
- Запустим обработку
УниверсальныйОбменДаннымиXML в базе ЗУП 2.5.
- На вкладке настройки включаем режим отладки обработчиков выгрузки и генерируем модуль отладки.
- Подключимся отладчиком Конфигуратора к сеансу
ЗУП 2.5.
- Перейдем к правилу выгрузки данных
ПриемНаРаботу в обработчике ПередОбработкойВыгрузкиДанных и отследим строку 75, чтобы определить, какая выборка или переменная возвращает Неопределено перед вызовом свойства Ссылка.
Альтернативные способы переноса данных
Если выгрузка исторической кадровой документации вызывает критические ошибки, рассмотрим альтернативные подходы:
- Рекомендованный перенос данных: Перенесем только срез кадровых данных и остатки на дату начала учета. В этом режиме документы приема прошлых лет не выгружаются, а кадровый срез фиксируется документом
НачальнаяШтатнаяРасстановка.
- Перенос через встроенный Помощник: Запустим процедуру переноса напрямую из программы
ЗУП 3.1 с использованием встроенного Помощника начальной настройки через прямое подключение к базе ЗУП 2.5.