Как отобразить Не предусмотрен для должности главного бухгалтера в форме документа, сохранив пустое поле в печатной форме

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

В практике ведения учета в 1С:Предприятие часто возникает ситуация, когда штатное расписание организации не предусматривает должность главного бухгалтера. В таких случаях функции ведения учета и подписания документов возлагаются на руководителя. С точки зрения интерфейса пользователю удобно видеть в поле "Главный бухгалтер" текст "Не предусмотрен", однако в официальных печатных формах (счетах-фактурах, ТОРГ-12, актах) это поле должно оставаться либо пустым для ручной подписи, либо содержать данные руководителя. Рассмотрим подробно, как решить эту задачу несколькими способами, от самых простых до технологичных.

Метод 1. Редактирование макетов печатных форм в режиме Предприятие

Этот способ является наиболее предпочтительным, если вы не хотите вносить изменения в конфигурацию и использовать расширения. Платформа 1С позволяет изменять визуальное представление печатных форм непосредственно в пользовательском режиме. Проанализируем, как это реализовать.

  1. Перейдем в раздел Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм.
  2. Найдем в списке нужный документ (например, "Счет на оплату покупателю" или "Реализация (акт, накладная, УПД)").
  3. Откроем макет для редактирования. Система создаст пользовательскую копию макета.
  4. Разберем ситуацию с параметрами. В подвале документа обычно находятся ячейки с параметрами типа ГлавныйБухгалтер или ФИОГлавногоБухгалтера.
  5. Существует "хитрый" визуальный прием: если вы создали физическое лицо с именем "Не предусмотрен" и выбрали его в настройках организации, то для того, чтобы оно не выводилось на печать, можно просто выделить соответствующую ячейку в макете и установить белый цвет шрифта. Текст останется в параметрах, но не будет виден на бумаге.
  6. Более надежный вариант: в свойствах ячейки вместо Параметр выбрать Текст и оставить ячейку пустой. Однако стоит учитывать, что в типовых конфигурациях программный код может проверять наличие параметра в макете. Если код написан через Область.Параметры.Заполнить(СтруктураДанных), то отсутствие параметра в макете не вызовет ошибки. Если же идет прямое обращение к параметру, возможен сбой.

Метод 2. Использование расширения конфигурации для программной подмены

Если печатных форм очень много (более 100), править каждый макет вручную — трудоемкая задача. В этом случае целесообразно использовать механизм расширений. Мы можем перехватить процедуру заполнения ответственных лиц перед выводом на печать. Посмотрим на пример реализации.

В типовых конфигурациях (например, БП 3.0, ERP, КА) за получение данных об ответственных лицах отвечает общий модуль ОтветственныеЛица или ОбщегоНазначенияБП. Нам необходимо создать расширение и добавить в него метод-обертку.


&После("СведенияОбОтветственныхЛицах")
Процедура Расш_СведенияОбОтветственныхЛицах(СтруктураСведений, Организация, Дата, Подразделение = Неопределено)
    // Проверяем, заполнено ли поле Главного бухгалтера
    Если СтруктураСведений.Свойство("ГлавныйБухгалтер") И ЗначениеЗаполнено(СтруктураСведений.ГлавныйБухгалтер) Тогда
        // Проверяем наименование физического лица
        Если СокрЛП(СтруктураСведений.ГлавныйБухгалтер.Наименование) = "Не предусмотрен" Тогда
            // Очищаем значения для вывода в печатную форму
            СтруктураСведений.ГлавныйБухгалтер = "";
            СтруктураСведений.ГлавныйБухгалтерФИО = "";
            СтруктураСведений.ГлавныйБухгалтерДолжность = "";
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Такой подход позволяет один раз написать код, который будет работать для всех стандартных печатных форм, использующих общую подсистему печати БСП (Библиотека стандартных подсистем).

Метод 3. Штатная настройка через Ответственные лица организации

Прежде чем создавать фиктивные элементы в справочнике ФизическиеЛица, проанализируем штатные возможности программы. В современных версиях 1С:Бухгалтерия в карточке организации есть вкладка Подписи.

Согласно законодательству (ФЗ №402 "О бухгалтерском учете"), если должность главного бухгалтера не предусмотрена, документы подписывает руководитель. В 1С можно настроить так называемую смену ответственных лиц:

  1. Откройте карточку организации, перейдите по ссылке Подписи.
  2. Для роли "Главный бухгалтер" укажите физическое лицо, являющееся руководителем.
  3. В поле "Должность" можно указать "Руководитель" или оставить поле пустым, если конфигурация это позволяет.

Важное предостережение: создание в справочнике физического лица с наименованием "Не предусмотрен" несет в себе скрытые риски. Выясним их причину. Это "лицо" может начать попадать в кадровые отчеты, в отчетность по персонифицированному учету (ЕФС-1, СЗВ-М) или в банковские выгрузки. Система будет воспринимать его как реального сотрудника, что приведет к ошибкам при проверке контрольных соотношений в налоговой отчетности.

Метод 4. Настройка представления объекта

Если вы все же решили использовать пустое физическое лицо или специальный элемент "Не предусмотрен", можно поработать с его Представлением. Рассмотрим, как это сделать программно через обработку события ОбработкаПолученияПредставления в модуле менеджера справочника ФизическиеЛица (также через расширение).

Разберем логику: в экранных формах документов 1С обычно отображает Представление объекта. Мы можем сделать так, чтобы для конкретной ссылки (нашего элемента "Не предусмотрен") представление возвращало нужный текст, а при печати, где алгоритмы часто собирают ФИО из отдельных полей (Фамилия, Имя, Отчество), результат оставался пустым, так как эти поля у физлица не заполнены.


Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    Если Данные.Ссылка = Справочники.ФизическиеЛица.НайтиПоНаименованию("Не предусмотрен") Тогда
        Представление = "Не предусмотрен";
        СтандартнаяОбработка = Ложь;
    КонецЕсли;
КонецПроцедуры

Выводы и рекомендации

Выбор метода зависит от ваших компетенций и количества изменяемых документов:

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

← На главную