Как выводить префиксы и лидирующие нули в номере счета-фактуры при печати в 1С:Бухгалтерии 3.0

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

При работе в типовой конфигурации 1С:Бухгалтерия предприятия 3.0 пользователи часто сталкиваются с ситуацией, когда номер документа в интерфейсе программы не совпадает с номером, выводимым на печатную форму. Например, если в базе номер счета-фактуры зарегистрирован как АЛ00-Д000100, то на печать формируется номер Д100. Разберем, почему платформа 1С так преобразует номера, какие нормативные правила заложены в этот механизм и как настроить правильный вывод печатных форм.

Причины преображения номера при печати

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

  1. Префикс организации и узла информационной базы (например, АЛ00) — служебная часть, которая предназначена для разделения нумерации между филиалами, организациями или узлами распределенной информационной базы (РИБ). По умолчанию при печати этот префикс отбрасывается.
  2. Пользовательский префикс (например, буквенный индекс Д) — часть номера, которую пользователь задает для обозначения специфики операций. Этот префикс сохраняется системой.
  3. Числовая часть с лидирующими нулями (например, 000100) — служебные нули, необходимые платформе для поддержания фиксированной длины строки в базе данных и корректной сортировки документов. При выводе на печать лидирующие нули автоматически удаляются.

В результате работы алгоритма из номера АЛ00-Д000100 отсекается префикс АЛ00-, а из оставшейся части Д000100 убираются незначащие нули, что дает итоговый номер Д100.

Методологические и законодательные требования

Выясним, почему реализовано именно такое поведение системы. Алгоритмы 1С созданы с учетом требований действующего законодательства Российской Федерации:

  1. Согласно Постановлению Правительства РФ № 1137 и разъяснениям Минфина РФ, в строке 1 счета-фактуры указывается порядковый номер документа согласно хронологии его составления. Префиксы организации и технические нули программы являются внутренними реквизитами информационной системы.
  2. Разногласия в наличии или отсутствии лидирующих нулей у продавца и покупателя при представлении декларации по НДС (Разделы 8 и 9) не являются критическими. На основании абз. 2, 3 п. 2 ст. 169 НК РФ такие расхождения не препятствуют идентификации налогоплательщика и не дают налоговым органам оснований для отказа в налоговом вычете.

Технические варианты решения проблемы

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

Способ 1. Использование расширения конфигурации

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

Проанализируем фрагмент кода, где система определяет необходимость стандартной обработки номера:


ПозицияРазделителя = Найти(НомерОбъекта, "-");
Если ПозицияРазделителя = 3 ИЛИ ПозицияРазделителя = 5 Тогда
    // Включается стандартная обработка удаления нулей
Иначе
    СтандартнаяОбработка = Ложь;
КонецЕсли;

Для переопределения этого поведения в расширении используется процедура ПриПолученииНомераНаПечать общего модуля ПрефиксыОбъектовКлиентСерверПереопределяемый. Установив параметр СтандартнаяОбработка = Ложь, мы отключаем стандартный срез префиксов и нулей, выводя номер в его исходном виде.

Способ 2. Внешняя печатная форма (ВПФ)

Если требуется изменить печать только одного конкретного документа (например, счета-фактуры выданного), разрабатывается внешняя печатная форма. В коде модуля внешней формы вместо вызова функции ПолучитьНомерНаПечать(Номер, Истина, Ложь) выводится непосредственно реквизит Номер объекта или применяется собственная функция форматирования строки.

Способ 3. Переход на электронный документооборот (ЭДО)

При использовании ЭДО документы передаются контрагентам в утвержденном ФНС формате XML. В этом случае считывание номера учетными системами происходит автоматически по правилам формата ЭДО, что полностью снимает проблему визуального разногласия печатных форм.

Риски ручной корректировки номера

Иногда пользователи пытаются обойти удаление нулей путем добавления специальных символов или дефисов непосредственно в поле номера (например, задавая номер вида -АЛ00-Д00100). Посмотрим, к чему это приводит: добавление нетиповых символов нарушает работу механизма автонумерации платформы 1С. В результате система теряет способность автоматически вычислять следующий порядковый номер для новых документов, и нумерацию приходится вести вручную.

← На главную