Как исправить ошибку «Значение поля "Головная организация" не может быть пустым» при обновлении 1С:Бухгалтерии 2.0 на 3.0?

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

При переходе с редакции 1С:Бухгалтерия предприятия 2.0 на редакцию 3.0 администраторы и программисты часто сталкиваются с ошибками выполнения отложенных обработчиков обновления. Одна из распространенных проблем возникает в модуле ЗарплатаКадрыОбновлениеСПредыдущейРедакции при вызове метода Записать() для объекта Сотрудник.

Текст ошибки выглядит следующим образом:


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

Разберем подробнее, почему возникают такие сбои и какими способами можно восстановить корректность данных и успешно завершить обновление.

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

Выясним причину, почему обработчик обновления спотыкается на этой записи. В редакции 3.0 архитектура зарплатно-кадрового учета существенно отличается от редакции 2.0. В новой редакции используется независимый регистр сведений ОсновныеСотрудникиФизическихЛиц, ключевым измерением которого является Головная организация.

Проблема возникает в следующих ситуациях:

  1. Непоследовательное обновление: Попытка накатить актуальный релиз 3.0 напрямую на устаревший релиз 2.0, пропуская промежуточные дистрибутивы перехода. В этом случае алгоритмы переноса данных работают некорректно.
  2. «Фантомные» ссылки в кадровой истории: В информационной базе ранее существовал филиал или отдельная организация, которую позже пометили на удаление, переименовали или частично очистили. Однако в кадровых документах (ПриемНаРаботу, КадровоеПеремещение) или независимых регистрах сведений осталась битая ссылка на этот элемент.
  3. Дублирование организаций: В справочнике Организации менялись коды или создавались дубли, из-за чего старые кадровые записи потеряли связь с действующим юрлицом.

Шаг 1. Правильная последовательность обновления конфигурации

Рассмотрим порядок действий, с которого необходимо начать. Нельзя накатывать конфигурацию редакции 3.0 на произвольный релиз редакции 2.0.

  1. Обновим исходную конфигурацию «Бухгалтерия предприятия 2.0» до самого последнего актуального релиза редакции 2.0 (послідовательно, через промежуточные версии).
  2. Перед переходом на редакцию 3.0 выполним процедуру Тестирование и исправление в режиме Конфигуратора (раздел Администрирование -> Тестирование и исправление) с включенными галочками проверки логической целостности и реструктуризации таблиц.
  3. Для перехода на 3.0 используем только предназначенный дистрибутив обновления (специальный cf-файл перехода с 2.0 на 3.0).

Шаг 2. Поиск и исправление поврежденных кадровых данных в редакции 2.0

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

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

Шаг 3. Диагностика и исправление ошибки в режиме отладки

Проанализируем ситуацию, когда ошибка происходит уже при обработке данных в 3.0. Для точного локализации проблемной записи выполним отладку:

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

После очистки битых ссылок и заполнения головных организаций запустим повторное выполнение отложенных обработчиков обновления через раздел Администрирование -> Обслуживание -> Результаты обновления и дополнительная обработка данных.

← На главную