Как исправить ошибку «Среди кадровых данных сотрудников нет данных с именем ВоинскийУчетДатаСнятияСВоинскогоУчета» при печати приказов в 1С:ЗУП?

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

Рассмотрим ситуацию, с которой массово сталкиваются пользователи после обновления программы 1С:Зарплата и управление персоналом до релизов 3.1.22.86 и выше (а также в ветке 3.1.23). При попытке распечатать стандартные кадровые приказы, такие как Приказ об увольнении (Т-8), Приказ о приеме (Т-1), Перевод (Т-5) или Личную карточку (Т-2), система выдает критическую ошибку: Среди кадровых данных сотрудников нет данных с именем "ВоинскийУчетДатаСнятияСВоинскогоУчета". Печать прерывается, и стандартные формы перестают формироваться.

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

Выясним причину возникновения ошибки

Корень проблемы кроется в масштабном обновлении подсистемы «Воинский учет», которое разработчики 1С включили в новые релизы. В типовой конфигурации изменился состав запрашиваемых кадровых данных для формирования печатных форм. Теперь в пакете данных появился новый обязательный реквизит — ВоинскийУчетДатаСнятияСВоинскогоУчета. В карточках сотрудников форма Воинского учета также визуально обновилась, получив новую графу с датой.

Сама по себе типовая база 1С обрабатывает это поле корректно. Ошибка возникает исключительно из-за конфликта обновленной конфигурации с вашими доработками. Если в базе подключены расширения конфигурации, внешние печатные формы или отчеты, которые переопределяют работу общих модулей (в первую очередь КадровыйУчет, КадровыйУчетРасширенный или КадровыйУчетБазовый), происходит сбой.

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

Разберем шаги по диагностике и решению проблемы

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

  1. Временное отключение расширений. Зайдите в список расширений конфигурации и отключите их (снимите галочки активности). Перезапустите сеанс 1С и попробуйте распечатать проблемный приказ Т-8. Если ошибка ушла, значит, проблема гарантированно локализована в одном из расширений.
  2. Проверка внешних печатных форм. Пользователи часто забывают, что кастомные приказы или личные карточки подключаются через раздел «Дополнительные отчеты и обработки». Временно деактивируйте внешние печатные формы приказов. Зачастую именно они содержат устаревшие запросы к кадровым данным, вызывая аналогичный сбой.
  3. Поиск проблемы в коде (для программистов). Если виновником оказалось расширение, откройте его в конфигураторе. Проанализируйте перенесенные процедуры получения кадровых данных. Вам необходимо найти массив или структуру КадровыеДанные, которая была жестко задана программистом в расширении. В этот массив нужно добавить новые поля воинского учета, появившиеся в релизе 3.1.22.86.
  4. Удаление избыточного кода. Часто бывает так, что процедура была перенесена в расширение ошибочно или ее модификация больше не актуальна. Попробуйте просто удалить переопределение функции из расширения. Если логика вашей кастомной доработки позволяет опираться на типовой механизм 1С без вмешательства в базовые кадровые запросы, это станет самым надежным решением, которое убережет от подобных ошибок при будущих обновлениях.

Что делать с покупными доработками?

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

Важное замечание про патчи от 1С: Не стоит ждать официального исправления от фирмы 1С для данной конкретной ошибки. Вендор выпускает патчи только для исправления ошибок в типовом коде программы. Так как сбой вызывается неадаптированным пользовательским кодом в расширении или внешней форме, никакой официальный патч эту проблему не устранит. Решать ее придется исключительно силами ваших программистов или специалистов сопровождения путем актуализации доработок.

← На главную