При переходе с редакции 1С:Бухгалтерия предприятия 2.0 на редакцию 3.0 администраторы и программисты часто сталкиваются с ошибками выполнения отложенных обработчиков обновления. Одна из распространенных проблем возникает в модуле ЗарплатаКадрыОбновлениеСПредыдущейРедакции при вызове метода Записать() для объекта Сотрудник.
Текст ошибки выглядит следующим образом:
{ОбщийМодуль.КадровыйУчетБазовый.Модуль(8515)}: Ошибка при вызове метода контекста (Записать)
НаборЗаписей.Записать();
по причине:
Запись не верна! Значение поля "Головная организация" не может быть пустым!: ОсновныеСотрудникиФизическихЛиц: , филиал ООО "хххххххх", 01.01.0001 0:00:00, 31.12.3999 0:00:00 (Регистр сведений: Основные сотрудники физических лиц; Номер строки: 1)
Разберем подробнее, почему возникают такие сбои и какими способами можно восстановить корректность данных и успешно завершить обновление.
Выясним причину, почему обработчик обновления спотыкается на этой записи. В редакции 3.0 архитектура зарплатно-кадрового учета существенно отличается от редакции 2.0. В новой редакции используется независимый регистр сведений ОсновныеСотрудникиФизическихЛиц, ключевым измерением которого является Головная организация.
Проблема возникает в следующих ситуациях:
ПриемНаРаботу, КадровоеПеремещение) или независимых регистрах сведений осталась битая ссылка на этот элемент.Организации менялись коды или создавались дубли, из-за чего старые кадровые записи потеряли связь с действующим юрлицом.Рассмотрим порядок действий, с которого необходимо начать. Нельзя накатывать конфигурацию редакции 3.0 на произвольный релиз редакции 2.0.
Администрирование -> Тестирование и исправление) с включенными галочками проверки логической целостности и реструктуризации таблиц.cf-файл перехода с 2.0 на 3.0).Если последовательное обновление все равно завершается ошибкой, проанализируем кадровые данные в исходной базе 2.0. Ошибка указывает на конкретную организацию или филиал, которой может формально не быть в активном списке справочника.
ПриемНаРаботу, КадровоеПеремещение, Увольнение), в которых фигурирует проблемный филиал или подразделение.Организации.Проанализируем ситуацию, когда ошибка происходит уже при обработке данных в 3.0. Для точного локализации проблемной записи выполним отладку:
КадровыйУчетБазовый на строке записи набора записей регистра ОсновныеСотрудникиФизическихЛиц.Сотрудник, ФизическоеЛицо и ГоловнаяОрганизация.ГоловнаяОрганизация принимает значение ПустаяСсылка() или Неопределено.Основные сотрудники физических лиц и вручную скорректируем или удалим некорректную запись без организации.После очистки битых ссылок и заполнения головных организаций запустим повторное выполнение отложенных обработчиков обновления через раздел Администрирование -> Обслуживание -> Результаты обновления и дополнительная обработка данных.