Как убрать префикс информационной базы из номера документа в 1С:Бухгалтерии?

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

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

Понимание механизма префиксации

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

Способ №1: Использование регистра сведений «Префиксы информационных баз»

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

  1. Откройте раздел Администрирование или Настройки.
  2. Перейдите к списку регистров сведений и найдите Префиксы информационных баз.
  3. Добавьте запись для нужного префикса базы-источника.
  4. Снимите флаг Печатать для этой записи (по такому принципу работает пример внешней печатной формы с возможностью типового изменения макета).
  5. Сохраните изменения.

Важно: После внесения изменений в настройки регистра, сам по себе номер в старых документах не изменится. Чтобы изменения вступили в силу для Книги продаж и печатных форм, необходимо выполнить перепроведение всех счетов-фактур за соответствующий период. Это необходимо, так как номер фиксируется в регистрах НДС в момент проведения документа.

Способ №2: Использование кода для управления представлением

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


Функция ПолучитьНомерНаПечать(Знач НомерОбъекта, УдалитьПрефиксИнформационнойБазы = Ложь) Экспорт
    // Выполняем очистку от префикса ИБ
    Если УдалитьПрефиксИнформационнойБазы Тогда
        НомерОбъекта = УдалитьПрефиксыИзНомераОбъекта(НомерОбъекта, Истина, Истина);
    КонецЕсли;
    
    // Удаляем лидирующие нули, если это предусмотрено логикой
    НомерОбъекта = УдалитьЛидирующиеНулиИзНомераОбъекта(НомерОбъекта);
    
    Возврат НомерОбъекта;
КонецФункции

Вы можете внедрить вызов подобных процедур через Расширение конфигурации, перехватив событие ПриПолученииПредставленияСчетаФактуры. Это позволит «на лету» формировать правильное представление номера в Книге продаж (в чем поможет постобработка печатных форм на основе методов БСП), не затрагивая при этом исходный номер документа в базе данных.

Риски и рекомендации

При работе с номерами документов помните о следующих рисках:

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

← На главную