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