При формировании типового отчета «Расчетный листок» в программах «1С:Зарплата и управление персоналом» (ЗУП) или «1С:Зарплата и кадры государственного учреждения» (ЗКГУ) пользователи нередко сталкиваются с ситуацией, когда в шапке документа выводится только табельный номер сотрудника, а поле с фамилией, именем и отчеством остается абсолютно пустым. При этом в кадровых документах и ведомостях на выплату ФИО отображается корректно.
Проанализируем причины возникновения этой ошибки и подробно разберем все способы ее устранения: от простых действий в режиме пользователя до программной корректировки через расширение.
Причины возникновения проблемы
Выделим основные факторы, приводящие к отсутствию ФИО в расчетном листке:
Несоответствие имен параметров в коде и макете. В некоторых релизах конфигураций (в частности, ветки 3.1.4) возникло расхождение: в программном модуле использовалось имя параметра ФизическоеЛицоФИО, а в макете печатной формы ожидался параметр СотрудникФизическоеЛицоФИО.
Использование измененного (нетипового) макета печатной формы. Если ранее в информационной базе правился макет расчетного листка, то при последующем обновлении конфигурации он не обновляется автоматически и сохраняет устаревшие ссылки на поля.
Сохраненные пользовательские настройки варианта отчета. В базе данных сохраняются индивидуальные настройки структуры группировок схемы компоновки данных (СКД), которые ссылаются на устаревший путь к реквизиту (например, Сотрудник.Физическое лицо.ФИО вместо прямого Физическое лицо.ФИО).
Некорректная дата в регистре сведений «ФИО физических лиц». ФИО получается срезом последних на дату формирования отчета. Если запись в регистре датирована будущим числом, алгоритм возвращает пустую строку.
Способ 1. Сброс макета печатной формы к стандартному
Самый быстрый и безопасный способ, не требующий изменения конфигуратора. Даже если макет не редактировался вручную, в базе могла зафиксироваться его пользовательская версия.
Выполним следующие шаги:
Перейдем в раздел Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм.
Найдем в списке общий макет Расчетный листок (настраиваемый).
Если пиктограмма макета отличается от стандартной (макет был изменен), нажмем кнопку Использовать стандартный макет (или Еще → Удалить измененный макет).
Если макет выглядит типовым, откроем его для редактирования и сразу принудительно восстановим по умолчанию, нажав кнопку сброса к стандартному виду.
Заново сформируем расчетный листок и проверим вывод ФИО.
Способ 2. Редактирование параметров в пользовательском макете и настройках отчета
Если используется индивидуальный дизайн расчетного листка и сбрасывать его нельзя, скорректируем имена параметров вручную:
Откроем пользовательский макет расчетного листка через форму макетов печатных форм.
Найдем ячейку с параметром вывода сотрудника и заменим устаревшее выражение на следующее: [ФизическоеЛицоФИО] ([СотрудникКод]).
Сохраним изменения.
В самом отчете «Расчетный листок» откроем Настройки (в режиме «Расширенный»), перейдем на вкладку Структура.
В группировке Сотрудник, Должность на конец периода проверим выбранные поля: заменим поле Сотрудник.Физическое лицо.ФИО на Физическое лицо.ФИО, а поле Сотрудник на Физическое лицо.
Способ 3. Программное исправление через расширение конфигурации
Если необходимо быстро решить проблему для всех пользователей без снятия типовой конфигурации с поддержки, применим переопределение процедуры через расширение.
Разберем доработку общего модуля ЗарплатаКадрыОтчеты в процедуре ВывестиСотрудникаРасчетныйЛисток. Добавим в структуру параметров шапки оба варианта наименования поля, чтобы отчет корректно отрабатывал с любыми макетами:
// В общем модуле ЗарплатаКадрыОтчеты (в процедуре ВывестиСотрудникаРасчетныйЛисток)
ПараметрыШапки = Новый Структура("Месяц,ФизическоеЛицоФИО,СотрудникФизическоеЛицоФИО,СотрудникКод,КВыплате");
ЗаполнитьЗначенияСвойств(ПараметрыШапки, СтрокаШапки);
ПараметрыШапки.СотрудникФизическоеЛицоФИО = ПараметрыШапки.ФизическоеЛицоФИО;
Такой подход гарантирует передачу значения ФИО как в старые варианты макетов, так и в обновленные типовые формы.
Способ 4. Очистка пользовательских настроек и проверка регистра ФИО
Если предыдущие действия не дали результата на конкретных рабочих местах, проверим корректность данных в информационной базе:
Очистим серверные настройки пользователей: перейдем в Администрирование → Настройки пользователей и прав → Персональные настройки пользователей → Очистка настроек. Выберем проблемных пользователей и очистим настройки отчета «Расчетный листок».
Проверим регистр сведений «ФИО физических лиц»: через меню «Функции для технического специалиста» откроем периодический регистр РегистрСведений.ФИОФизическихЛиц. Убедимся, что для физического лица создана запись, поля «Фамилия», «Имя», «Отчество» заполнены, а дата записи не превышает дату расчетного периода.
Проверим права доступа (RLS): если в программе включено ограничение прав на уровне записей, убедимся, что у пользователя есть доступ к справочнику «Физические лица», а не только к справочнику «Сотрудники».