Как отключить удаление префиксов в номерах документов 1С с определенной даты?

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

В типовых конфигурациях 1С («Бухгалтерия предприятия» 2.0 и 3.0) при формировании печатных форм, отчетов и выгрузке данных в регламентированную отчетность происходит автоматическое удаление лидирующих нулей и служебных префиксов организаций. Это сделано для того, чтобы на бумажных бланках номер выглядел лаконично. Однако на практике возникает необходимость сохранять префиксы в номерах документов — например, при наличии нескольких подразделений с обособленной нумерацией или для предотвращения дублирования номеров при сверке с контрагентами и налоговой службой (АСК НДС).

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

Выясним причину обрезки префиксов и возможные последствия

Разберем, почему штатные настройки программы не позволяют решить эту задачу без корректировки кода и чем грозит несовпадение номеров в учете и отчетности:

  1. Требования налогового контроля: При сдаче декларации по НДС и Книги продаж в налоговые органы выгружаются представления номеров счетов-фактур и УПД. Если покупатель отразит у себя в Книге покупок номер с префиксом (так, как написано на полученной бумаге), а у продавца из-за стандартной обрезки 1С в Книгу продаж попадет номер без префикса, автоматизированная система АСК НДС зафиксирует расхождение и выставит требование о предоставлении пояснений.
  2. Ограничения типовой архитектуры: Константы и настройки 1С не предусматривают переключателя «выводить префикс с заданной даты». Служебные префиксы отсекаются вызовом стандартных функций платформы и конфигурации.
  3. Использование внешних печатных форм: Создание внешней печатной формы (ВПФ) решит проблему только для бумажного документа. Номер для деклараций и книг учета НДС берется из движений по регистрам учета (например, Журнал учета счетов-фактур или НДС Продажи, реквизиты ПредставлениеНомера), поэтому изменение исключительно бланка печати не решит проблему с налоговой отчетностью.

Анализируем механизмы обработки номеров в 1С

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


НомерНаПечать = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Реквизиты.Номер, Истина, Ложь);

Данная функция принимает исходный номер документа (например, "БП-000000123") и параметры, управляющие удалением префикса и лидирующих нулей. При стандартных флагах на выходе получается строка "123".

Реализуем доработку с условием по дате

Чтобы отменить обрезку префиксов с определенной даты, внесем изменения в логику обработки номера. Разберем по шагам порядок действий для решения этой задачи.

  1. Найдем общую функцию обработки номеров ПрефиксацияОбъектовКлиентСервер.НомерНаПечать или место вызова формирования печатных форм и печатных представлений в модулях документов.
  2. Добавим проверку даты документа относительно пороговой даты (например, 01.01.2024).
  3. Если дата документа меньше граничной, вызываем функцию в стандартном режиме (с обрезкой префикса). Если дата документа больше или равна граничной — сохраняем префикс в номере.

Рассмотрим пример кода, реализующий такую логику в функции получения номера на печать:


ДатаНачалаВыводаПрефикса = Дата("20240101000000");

Если ДатаДокумента >= ДатаНачалаВыводаПрефикса Тогда
    // Не удаляем префикс организации, оставляем полный номер
    УдалитьПрефикс = Ложь;
Иначе
    // Для прошлых периодов сохраняем стандартное поведение
    УдалитьПрефикс = Истина;
КонецЕсли;

НомерНаПечать = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ИсходныйНомер, УдалитьПрефикс, Ложь);

Для конфигурации 1С:Бухгалтерия 3.0 ту же логику рекомендуем реализовать через расширение конфигурации, перехватив вызов метода ПрефиксацияОбъектовКлиентСервер.НомерНаПечать с помощью аннотации &Вместо или &После, чтобы сохранить информационную базу на типовой поддержке.

После реализации изменений в коде и перепроведения документов префиксы будут корректно попадать как в печатные формы, так и в реквизиты регистров учета НДС для успешной сдачи налоговой отчетности.

← На главную