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