В процессе работы с программой 1С:Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с досадной проблемой: при формировании унифицированных печатных форм (например, приказа о приеме на работу Т-1) поле «Наименование организации» остается пустым. При этом в карточке организации все данные заполнены корректно: есть и полное, и сокращенное, и краткое наименование. Эта проблема может затрагивать не только форму Т-1, но и приказы о переводе (Т-5), увольнении (Т-8), отпусках (Т-6) и премировании (Т-11).
В данной статье мы разберем причины возникновения этой ситуации, проанализируем техническую составляющую проблемы и рассмотрим способы ее решения, включая официальные исправления от разработчиков фирмы «1С».
Прежде чем переходить к программному анализу, нам необходимо исключить вероятность человеческого фактора или ошибок в данных. Рассмотрим пошагово, что следует проверить в первую очередь:
Проанализируем ситуацию глубже. Если визуально данные в порядке, выполним техническую проверку данных в базе с помощью запроса. Это поможет исключить наличие непечатных символов. Рассмотрим пример запроса к базе данных:
ВЫБРАТЬ
Организации.Ссылка КАК Ссылка,
Организации.Наименование КАК Наименование,
Организации.НаименованиеСокращенное КАК НаименованиеСокращенное,
Организации.НаименованиеПолное КАК НаименованиеПолное
ИЗ
Справочник.Организации КАК Организации
ГДЕ
Организации.Ссылка = &СсылкаНаОрганизацию
Если в результате запроса мы видим корректные строки, значит, данные в базе хранятся правильно, и причина кроется в алгоритмах формирования печатной формы.
В конфигурации ЗУП 3.1 формирование печатных форм кадровых приказов реализовано через механизмы библиотек кадрового учета. Основная логика подготовки данных часто сосредоточена в общем модуле СотрудникиБазовый или специализированных модулях печати. Разберем, как программа пытается получить название организации.
При выводе формы Т-1 система обращается к переменной СсылкаНаОбъектОрганизацияНаименованиеСокращенное. В нормальных условиях эта переменная заполняется данными из реквизита организации. Однако, в определенных релизах программы был обнаружен сбой: при подготовке коллекции данных для печати запрос к базе данных попросту игнорировал этот реквизит или возвращал пустое значение из-за ошибки в логике соединения таблиц.
Если мы заглянем в отладчик, мы можем увидеть, что объект Организация в контексте печати определен верно, но при обращении к свойствам через точку (например, Шапка.Организация.НаименованиеСокращенное) возвращается NULL или пустая строка. Это верный признак того, что ошибка кроется в коде формирования выборки данных. Для программной корректировки выводимых макетов без снятия с поддержки можно применить расширение для постобработки печатных форм на базе БСП.
Проанализировав обращения пользователей и официальный багборд фирмы «1С», мы находим подтверждение: данная ситуация является официально признанной программной ошибкой с кодом 000101488. Суть ошибки заключается в том, что в кадровых приказах не выводится наименование организации, если используется определенная версия Библиотеки Зарплаты и Кадров (БЗК).
Эта проблема наиболее остро проявилась в следующих ветках обновлений:
Ошибка затрагивает практически все унифицированные формы кадрового учета, так как они используют единый механизм получения данных об организации через общие модули. В качестве альтернативного решения можно использовать комплект внешних печатных форм кадровых приказов для ЗУП 3.1.
Рассмотрим варианты исправления ситуации, начиная от самого правильного и заканчивая временными обходными путями.
Самый надежный метод — обновить вашу программу до актуального релиза, в котором данная ошибка уже исправлена разработчиками. Фирма «1С» оперативно выпустила минорные обновления для веток 3.1.14 и 3.1.16 сразу после обнаружения бага. Проверьте раздел обновлений и установите последнюю доступную версию вашей ветки конфигурации. При наличии нескольких информационных баз этот процесс можно автоматизировать с помощью программы для автоматического обновления баз 1С.
Если по каким-то причинам вы не можете произвести полное обновление конфигурации прямо сейчас (например, база сильно доработана или требуется длительное тестирование), можно воспользоваться механизмом расширений-исправлений. Разработчики выпустили специальный патч с префиксом EF_000101488.
Разберем процесс установки патча по шагам:
EF_000101488 и предложит его установить.После установки патча необходимо перезапустить сеанс работы с программой. Наименование организации должно появиться в печатных формах автоматически.
В некоторых случаях, если патч по каким-то причинам не применяется, пользователи находят временное решение в манипуляции с данными. Проанализируем один из таких приемов: попробуйте зайти в карточку организации, добавить в конец сокращенного наименования один пробел и сохранить изменения. Иногда это инициирует перезапись связанных данных в кэше или регистрах сведений (если они задействованы в печати), и название начинает выводиться. Однако помните, что это не гарантированное решение и оно не устраняет саму причину ошибки в коде.
Мы выяснили, что отсутствие наименования организации в приказе Т-1 в 1С:ЗУП 3.1 — это не ошибка пользователя, а известный технический баг системы. Для его устранения не требуется переписывать код вручную или менять настройки макетов. Достаточно убедиться, что ваша версия программы актуальна, или установить официальный патч EF_000101488. Всегда проверяйте раздел «Исправления» в вашей программе при возникновении подобных странных визуальных дефектов в стандартных формах.