Почему в расчетном листке 1С 8.3 не отображается ФИО сотрудника и как это исправить?

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

При формировании типового отчета «Расчетный листок» в программах «1С:Зарплата и управление персоналом» (ЗУП) или «1С:Зарплата и кадры государственного учреждения» (ЗКГУ) пользователи нередко сталкиваются с ситуацией, когда в шапке документа выводится только табельный номер сотрудника, а поле с фамилией, именем и отчеством остается абсолютно пустым. При этом в кадровых документах и ведомостях на выплату ФИО отображается корректно.

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

Причины возникновения проблемы

Выделим основные факторы, приводящие к отсутствию ФИО в расчетном листке:

  1. Несоответствие имен параметров в коде и макете. В некоторых релизах конфигураций (в частности, ветки 3.1.4) возникло расхождение: в программном модуле использовалось имя параметра ФизическоеЛицоФИО, а в макете печатной формы ожидался параметр СотрудникФизическоеЛицоФИО.
  2. Использование измененного (нетипового) макета печатной формы. Если ранее в информационной базе правился макет расчетного листка, то при последующем обновлении конфигурации он не обновляется автоматически и сохраняет устаревшие ссылки на поля.
  3. Сохраненные пользовательские настройки варианта отчета. В базе данных сохраняются индивидуальные настройки структуры группировок схемы компоновки данных (СКД), которые ссылаются на устаревший путь к реквизиту (например, Сотрудник.Физическое лицо.ФИО вместо прямого Физическое лицо.ФИО).
  4. Некорректная дата в регистре сведений «ФИО физических лиц». ФИО получается срезом последних на дату формирования отчета. Если запись в регистре датирована будущим числом, алгоритм возвращает пустую строку.

Способ 1. Сброс макета печатной формы к стандартному

Самый быстрый и безопасный способ, не требующий изменения конфигуратора. Даже если макет не редактировался вручную, в базе могла зафиксироваться его пользовательская версия.

Выполним следующие шаги:

  1. Перейдем в раздел Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм.
  2. Найдем в списке общий макет Расчетный листок (настраиваемый).
  3. Если пиктограмма макета отличается от стандартной (макет был изменен), нажмем кнопку Использовать стандартный макет (или Еще → Удалить измененный макет).
  4. Если макет выглядит типовым, откроем его для редактирования и сразу принудительно восстановим по умолчанию, нажав кнопку сброса к стандартному виду.
  5. Заново сформируем расчетный листок и проверим вывод ФИО.

Способ 2. Редактирование параметров в пользовательском макете и настройках отчета

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

  1. Откроем пользовательский макет расчетного листка через форму макетов печатных форм.
  2. Найдем ячейку с параметром вывода сотрудника и заменим устаревшее выражение на следующее: [ФизическоеЛицоФИО] ([СотрудникКод]).
  3. Сохраним изменения.
  4. В самом отчете «Расчетный листок» откроем Настройки (в режиме «Расширенный»), перейдем на вкладку Структура.
  5. В группировке Сотрудник, Должность на конец периода проверим выбранные поля: заменим поле Сотрудник.Физическое лицо.ФИО на Физическое лицо.ФИО, а поле Сотрудник на Физическое лицо.

Способ 3. Программное исправление через расширение конфигурации

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

Разберем доработку общего модуля ЗарплатаКадрыОтчеты в процедуре ВывестиСотрудникаРасчетныйЛисток. Добавим в структуру параметров шапки оба варианта наименования поля, чтобы отчет корректно отрабатывал с любыми макетами:


// В общем модуле ЗарплатаКадрыОтчеты (в процедуре ВывестиСотрудникаРасчетныйЛисток)
ПараметрыШапки = Новый Структура("Месяц,ФизическоеЛицоФИО,СотрудникФизическоеЛицоФИО,СотрудникКод,КВыплате");
ЗаполнитьЗначенияСвойств(ПараметрыШапки, СтрокаШапки);
ПараметрыШапки.СотрудникФизическоеЛицоФИО = ПараметрыШапки.ФизическоеЛицоФИО;

Такой подход гарантирует передачу значения ФИО как в старые варианты макетов, так и в обновленные типовые формы.

Способ 4. Очистка пользовательских настроек и проверка регистра ФИО

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

  1. Очистим серверные настройки пользователей: перейдем в Администрирование → Настройки пользователей и прав → Персональные настройки пользователей → Очистка настроек. Выберем проблемных пользователей и очистим настройки отчета «Расчетный листок».
  2. Проверим регистр сведений «ФИО физических лиц»: через меню «Функции для технического специалиста» откроем периодический регистр РегистрСведений.ФИОФизическихЛиц. Убедимся, что для физического лица создана запись, поля «Фамилия», «Имя», «Отчество» заполнены, а дата записи не превышает дату расчетного периода.
  3. Проверим права доступа (RLS): если в программе включено ограничение прав на уровне записей, убедимся, что у пользователя есть доступ к справочнику «Физические лица», а не только к справочнику «Сотрудники».
← На главную