Как добавить дату выплаты и комментарий ведомости в отчет «Свод зарплаты организации» в 1С:ЗУП 2.5?

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

При работе с конфигурацией 1С:Зарплата и управление персоналом 2.5 пользователи часто сталкиваются с 필요стью детализировать типовой отчет «Свод зарплаты организации». Например, вывести дату конкретного документа выплаты, отсортировать данные по этой дате или отобразить текстовый комментарий из ведомости.

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

Выясним причину проблемы

Проанализируем, почему платформа не позволяет развернуть поле Документ или Ведомость в режиме пользователя. В регистре накопления ВзаиморасчетыСРаботникамиОрганизаций измерение Ведомость имеет составной тип данных. Оно может ссылаться на разные типы документов выплат (например, Документ.ЗарплатаКВыплатеОрганизаций, Документ.ПлатежноеПоручениеИсходящее и др.).

При обращении через точку к реквизитам поля составного типа в Схеме компоновки данных (СКД) без указания конкретного типа возникает ошибка, либо в интерфейсе пользователя блокируется возможность выбирать подчиненные поля (такие как Дата или Комментарий). Чтобы платформа «поняла», к какому именно документу и его реквизитам идет обращение, требуется явное приведение типа в запросе.

Доработка отчета через приведение типов в СКД

Разберем основной и наиболее корректный способ решения задачи. Для этого откроем отчет как внешний в Конфигураторе и отредактируем запрос в Схеме компоновки данных.

  1. Сохраним отчет «Свод зарплаты организации» как внешний отчет (.erf).
  2. Откроем Схему компоновки данных отчета и перейдем к редактированию текста запроса в наборе данных.
  3. Найдем место формирования полей выплат из регистра ВзаиморасчетыСРаботникамиОрганизаций.
  4. Добавим явное приведение типа с помощью функции ВЫРАЗИТЬ для получения нужных реквизитов документа:

ВЫРАЗИТЬ(ВзаиморасчетыСРаботникамиОрганизаций.Ведомость КАК Документ.ЗарплатаКВыплатеОрганизаций).Дата КАК ДатаВедомости,
ВЫРАЗИТЬ(ВзаиморасчетыСРаботникамиОрганизаций.Ведомость КАК Документ.ЗарплатаКВыплатеОрганизаций).Комментарий КАК КомментарийВедомости

После добавления этих выражений в текст запроса поля ДатаВедомости и КомментарийВедомости станут полноправными полями набора данных.

Настройка вывода и форматирования полей

Теперь настроим корректное отображение и сортировку полученных данных на вкладках СКД:

  1. Перейдем на вкладку «Поля» и зададим понятные пользовательские представления для новых полей (например, «Дата выплаты» и «Комментарий ведомости»).
  2. На вкладке «Настройки» в структуре отчета добавим новые поля в выбранные поля вывода.
  3. Для поля ДатаВедомости откроем настройки оформления и укажем формат даты, например ДФ=dd.MM.yyyy, чтобы скрыть ненужное время документа.
  4. Перейдем на вкладку «Сортировка» и добавим поле ДатаВедомости для упорядочивания выплат по хронологии.

Альтернативные способы без изменения запроса отчета

Если нет возможности редактировать СКД внешнего отчета, рассмотрим альтернативные варианты получения нужных данных:

  1. Использование отчета «Анализ взаиморасчетов с сотрудниками»: Данный типовой отчет в ЗУП 2.5 строится на базе того же регистра взаиморасчетов, но его схема компоновки изначально поддерживает детализацию по документам расчетов и позволяет выводить их реквизиты.
  2. Использование «Универсального отчета»: Сформируем отчет по первичному документу. Выберем тип объекта Документ, имя объекта Зарплата к выплате организаций, таблица Основные данные. В таком отчете сразу доступны все реквизиты шапки документа (дата, комментарий, подразделение, способ выплаты) с возможностью гибкой группировки.

Таким образом, явное приведение типов с помощью конструкции ВЫРАЗИТЬ в языке запросов 1С позволяет полностью обойти ограничение составного типа данных и вывести любые реквизиты ведомости в отчет.

← На главную