Почему в отчете «Штатное расписание Т-3» не выводятся коды ОКПДТР и ОКЗ и как это исправить?

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

При попытке вывести коды классификаторов ОКПДТР и ОКЗ в печатную форму унифицированной формы Т-3 пользователи конфигураций «1С:Комплексная автоматизация 8» и «1С:Зарплата и управление персоналом 8» часто сталкиваются с ситуацией, когда вместо значений в строке отображается лишь череда запятых после наименования должности. Разберем по шагам, почему возникает эта ошибка и какими способами можно получить необходимые классификаторы.

Причины некорректного вывода данных

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

  1. Жесткая структура макета Т-3. Форма «Штатное расписание (Т-3)» является регламентированной унифицированной печатной формой Госкомстата. В отличие от стандартных отчетов на СКД (Системе компоновки данных), макет этой формы зашит программно. Колонки заполняются строго определенными параметрами, прописанными в коде формирования отчета. Любая попытка добавить пользовательские поля через настройки СКД внутрь строки группировки приводит к тому, что платформа объединяет значения через разделитель. Если поле возвращает пустое значение, программа просто рисует запятые.
  2. Изменение структуры хранения кодов. В современных редакциях программ коды ОКЗ и ОКПДТР больше не хранятся напрямую в реквизитах справочника Должности. Они вынесены в подчиненные объекты и справочник ТрудовыеФункции. Кроме того, в связи с изменениями классификаторов данные разделяются по периодам действия (например, ОКПДТР2026). Обращение к старым реквизитам возвращает пустое значение.
  3. Разрыв связи между должностью и штатным расписанием. Отчет Т-3 строится не по справочнику Должности, а по позициям справочника ШтатноеРасписание. Если в самой позиции штатного расписания на вкладке «Дополнительно» не указана конкретная ТрудоваяФункция, отчет физически не может получить значения классификаторов, даже если в карточке должности что-то заполнено.

Способ 1. Получение кодов через гибкие типовые отчеты без доработки программы

Если цель заключается в получении списка позиций или сотрудников с сопоставленными кодами ОКПДТР и ОКЗ, использовать регламентированную форму Т-3 необязательно. Рассмотрим, как настроить типовые отчеты конфигурации.

Вариант через отчет «Штатные сотрудники»:

  1. Перейдем в раздел Кадры → Кадровые отчеты → Штатные сотрудники.
  2. Нажмем кнопку Настройки и переключим вид в режим Расширенный.
  3. На закладке Поля и сортировки найдем ветку Работа → Трудовая функция (или Должность → Трудовая функция).
  4. Отметим флажками поля Код по ОКЗ и Код ОКПДТР.
  5. Нажмем Закрыть и сформировать. Отчет выведет классификаторы в отдельных понятных колонках.

Вариант через «Универсальный отчет»:

  1. Откроем Администрирование → Печатные формы, отчеты и обработки → Универсальный отчет.
  2. В шапке отчета выберем тип объекта Справочник, а в качестве имени объекта зададим Штатное расписание.
  3. В настройках отчета добавим поля: Подразделение, Должность, а также через точку развернем поле Трудовая функция и выберем Код по ОКЗ и Код ОКПДТР.
  4. Сформируем отчет и получим полную выгрузку штатного расписания с кодами классификаторов без модификации конфигурации.

Способ 2. Проверка и заполнение трудовых функций в штатном расписании

Чтобы коды гарантированно попадали в любые выборки, проверим корректность заполнения информационной базы:

  1. Откроем справочник ШтатноеРасписание.
  2. Зайдем в нужную позицию и перейдем на закладку Дополнительно.
  3. Убедимся, что реквизит Трудовая функция заполнен. Откроем карточку этой трудовой функции и проверим наличие кодов ОКЗ и ОКПДТР.
  4. Для автоматизации проверки воспользуемся сервисным механизмом: перейдем в раздел Кадры → Сервис → Помощник заполнения трудовых функций. Этот инструмент позволяет массово сопоставить позиции с классификаторами и записать актуальные данные сразу во все позиции штатного расписания.

Способ 3. Доработка макета формы Т-3 (для программистов)

Если руководство требует вывод кодов именно в печатную форму Т-3, типовыми пользовательскими настройками ограничиться не получится. Выясним, как решается эта задача технически:

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

Такой подход сохраняет типовую конфигурацию на поддержке и решает проблему вывода классификаторов в требуемом виде.

← На главную