В процессе работы с программой 1С:Бухгалтерия предприятия 3.0 пользователи часто сталкиваются с ситуацией, когда в печатных формах документов (например, в «Счете на оплату») факсимильная подпись и печать отображаются корректно в новых документах, но отсутствуют в тех, что были созданы ранее. Рассмотрим подробнее механизмы работы системы, проанализируем причины такого поведения и разберем по шагам, как восстановить отображение подписей для всех периодов.
Основная причина, по которой подпись (особенно бухгалтера или руководителя) «привязана» к дате, кроется в архитектуре хранения данных 1С. Сведения о том, кто именно занимает ту или иную должность в организации, хранятся в регистре сведений ОтветственныеЛицаОрганизации. Этот регистр является периодическим. Это означает, что каждая запись в нем имеет дату начала действия.
Проанализируем ситуацию: если вы загрузили факсимиле в карточку организации сегодня, а запись о назначении Главного бухгалтера в регистре создана, скажем, от 01.01.2024, то во всех документах от 2023 года поле «Главный бухгалтер» с точки зрения системы будет пустым. Программа просто не знает, чью подпись ей выводить на печать, так как на дату документа ответственное лицо не назначено.
Для исправления этой ситуации выполним следующие действия:
Важно понимать, что программа не просто выводит «картинку из настроек». Она сопоставляет физическое лицо, указанное в регистре ответственных лиц, с настройками, заданными в блоке «Логотип и печать». Разберем, как это работает программно. В типовых конфигурациях для вывода используется специальный механизм. Посмотрим на пример кода, который отвечает за заполнение параметров подвала документа:
Область = Макет.ПолучитьОбласть("ПодвалСчета");
СтруктураДанныхПодвал = Новый Структура;
СтруктураДанныхПодвал.Вставить("ФИОРуководителя", ДанныеПечати.Руководитель);
СтруктураДанныхПодвал.Вставить("ДолжностьРуководителя", ДанныеПечати.ДолжностьРуководителя);
СтруктураДанныхПодвал.Вставить("ФИОБухгалтера", ДанныеПечати.ГлавныйБухгалтер);
Область.Параметры.Заполнить(СтруктураДанныхПодвал);
ФормированиеПечатныхФорм.ВывестиФаксимилеВТабличныйДокумент(Макет, Область, ДанныеПечати.Организация, ПараметрыПечати);
Обратим внимание на метод ФормированиеПечатныхФорм.ВывестиФаксимилеВТабличныйДокумент. Этот метод ищет актуальные подписи на дату документа. Если на ДанныеПечати.Дата в системе нет информации о физическом лице ДанныеПечати.ГлавныйБухгалтер, метод не сможет определить, какую именно картинку из справочника прикрепить к области макета.
Иногда причина кроется не в общих настройках организации, а в конкретном документе. В «Счете на оплату» есть гиперссылка Подписи (или «Реквизиты продавца и покупателя»). Если в старом документе эти поля были заполнены вручную или очищены, автоматический подбор факсимиле может не сработать.
Выясним, как проверить это массово:
ГлавныйБухгалтер и Руководитель непосредственно в табличной части или скрытых полях документа.Часто подпись руководителя выводится, а бухгалтера — нет. Это связано с тем, что для должности «Главный бухгалтер» система проверяет не только наличие записи в регистре, но и ее соответствие настройкам в справочнике Сотрудники или ОсновныеСотрудникиФизическихЛиц.
Рассмотрим пошаговый алгоритм проверки:
Проанализируем ситуацию, когда все настройки верны, но подписи всё равно нет. В окне предварительного просмотра печатной формы (кнопка «Печать») обязательно должен быть установлен флаг Подпись и печать.
Важно: программа запоминает выбор этого флага для каждого пользователя. Однако, если на дату документа ответственное лицо не найдено в регистре, 1С может автоматически «снять» этот флаг или просто проигнорировать его для конкретной области макета, так как объект ДанныеПечати.ГлавныйБухгалтер вернет Неопределено или пустую ссылку.
Для решения проблемы с отображением подписей до определенной даты, мы рекомендуем следующий порядок действий:
1. Проверьте регистр ОтветственныеЛицаОрганизации. Создайте запись для Главного бухгалтера и Руководителя с датой, которая будет заведомо раньше самого старого документа в базе (например, 01.01.2000).
2. Убедитесь, что в карточке организации в разделе Логотип и печать подписи загружены и привязаны к корректным физическим лицам.
3. Если вы используете доработанную печатную форму, проверьте код формирования. Функция ФизическиеЛицаУТ.ФамилияИнициалыФизЛица или аналогичные в БП должны получать актуальную дату документа, чтобы правильно определить данные ответственного лица.
Таким образом, правильная настройка периодических данных — залог корректного формирования документов за любые периоды.