Почему представление номера документа в 1С:УНФ 3.0 отличается в разных базах (с префиксом/лидирующими нулями или без), и как это настроить?

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

Мы часто сталкиваемся с ситуацией, когда однотипные документы в разных информационных базах 1С:УНФ 3.0 отображаются по-разному. Например, в одной базе "Расходная накладная 78 от 13.10.2025", а в другой — "Расходная накладная АА-00078 от 13.10.2025". Такое различие в представлении номера документа, будь то наличие префиксов или лидирующих нулей, может вызывать вопросы и неудобства. Давайте вместе разберем, почему это происходит и как мы можем управлять этим поведением.

Что такое номер документа в 1С и из чего он состоит?

Прежде чем перейти к настройкам, давайте выясним, из чего вообще формируется номер документа в системе 1С. Стандартный номер документа — это не просто порядковое число, а сложная структура, обеспечивающая его уникальность и информативность. Рассмотрим его основные компоненты:

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

Типовой формат номера может выглядеть как AABB-СС000123, где AA — префикс организации, BB — префикс информационной базы, CC — дополнительный префикс, а 000123 — порядковый номер с лидирующими нулями.

Причины различий в представлении номеров

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

Подробные решения и настройки

Давайте рассмотрим подробнее, как мы можем контролировать представление номера документа.

1. Управление представлением через процедуру ОбработкаПолученияПредставления

Это один из наиболее мощных механизмов для настройки представления любого объекта в 1С. Система вызывает эту процедуру каждый раз, когда требуется получить строковое представление объекта (например, в списках, отчетах, при выборе ссылки в табличной части другого документа). Как это работает:

  1. Откройте конфигуратор.
  2. Найдите нужный документ (например, "РасходнаяНакладная") в дереве объектов конфигурации.
  3. Разверните ветку документа и откройте его Модуль менеджера.
  4. Найдите или создайте процедуру ОбработкаПолученияПредставления.

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


Процедура ОбработкаПолученияПредставления(СтандартноеПредставление, ДополнительныеПараметры) Экспорт

    // Получаем текущую ссылку на объект
    СсылкаНаДокумент = ДополнительныеПараметры.Ссылка;

    // Получаем стандартное представление, которое система сформировала бы по умолчанию.
    // Это представление обычно уже включает префиксы и лидирующие нули,
    // если они настроены в конфигурации.
    // Если мы хотим изменить его, например, убрать или добавить префиксы/нули:

    // Пример: Получим номер документа без префиксов с помощью типовых функций БСП.
    // Для этого нам потребуется общий модуль ПрефиксацияОбъектовКлиентСервер.
    // Убедимся, что модуль доступен и используется.
    Если ОбщегоНазначенияБСП.ПодсистемаСуществует("СтандартныеПодсистемы.ПрефиксацияОбъектов") Тогда
        // Используем функцию из БСП для получения номера без префиксов
        СтандартноеПредставление = СсылкаНаДокумент.Метаданные().Представление() + " "
                                 + ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(СсылкаНаДокумент.Номер);
        // Если нужно добавить дату, можно сделать это так:
        СтандартноеПредставление = СтандартноеПредставление + " от " + Формат(СсылкаНаДокумент.Дата, "ДФ=dd.MM.yyyy");
    Иначе
        // Если БСП не используется или функция недоступна, можем попробовать
        // убрать префиксы вручную, но это менее надежно.
        // Или оставить стандартное представление, если его нужно просто получить.
        СтандартноеПредставление = СсылкаНаДокумент.Метаданные().Представление() + " " + СсылкаНаДокумент.Номер
                                 + " от " + Формат(СсылкаНаДокумент.Дата, "ДФ=dd.MM.yyyy");
    КонецЕсли;

    // Важно: если вы хотите, чтобы ваше представление использовалось,
    // вы должны присвоить его параметру СтандартноеПредставление.
    // Если вы ничего не измените, будет использовано представление,
    // которое система сформировала бы по умолчанию.

КонецПроцедуры

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

2. Использование общего модуля ПрефиксацияОбъектовКлиентСервер (БСП)

В типовых конфигурациях, построенных на Библиотеке Стандартных Подсистем (БСП), функционал по работе с префиксами централизован в общем модуле ПрефиксацияОбъектовКлиентСервер. Он содержит полезные функции, которые мы можем использовать:

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

3. Стандартные настройки 1С:УНФ 3.0

Помимо программного кода, есть и пользовательские настройки, которые влияют на отображение номеров:

  1. Настройка префикса организации:
    • Перейдите в раздел НСИ и Администрирование -> Настройка НСИ ->

      Организации

      .
    • Откройте карточку нужной организации.
    • Убедитесь, что поле

      Префикс

      (обычно находится на вкладке "Реквизиты") заполнено корректно. Если стандартных возможностей недостаточно, может помочь доработанная нумерация счетов для УНФ, позволяющая гибко управлять префиксами.
  2. Настройка префикса информационной базы:
    • Перейдите в раздел НСИ и Администрирование -> Настройка интеграции ->

      Синхронизация данных

      .
    • В окне настроек синхронизации данных найдите поле

      Префикс этой информационной базы

      и установите его значение.
  3. Управление отображением префикса ИБ в печатных формах (специфично для УНФ 3.0):
    • Иногда в УНФ требуется явно указать, нужно ли выводить префикс информационной базы в печатных формах.
    • Для этого может понадобиться включить Функции для технического специалиста (через Сервис и настройки ->

      Параметры

      ).
    • Затем в общих настройках или в настройках конкретного вида документа можно найти флажок типа

      Представление номера документа без префикса информационной базы

      . Снятие этого флажка может привести к отображению префикса ИБ.
  4. Константы для лидирующих нулей:
    • В некоторых конфигурациях могут быть константы, например, Представление номера документа с лидирующими нулями. Проверьте их значения через Все функции ->

      Константы

      .
    • Если такая константа установлена в

      Ложь

      , лидирующие нули могут обрезаться.

Пошаговый анализ и решение проблемы

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

  1. Проверяем настройки префиксов в обеих базах:
    • Сначала мы посмотрим на настройки префиксов организации и информационной базы в каждой из баз, где наблюдаются различия. Убедимся, что они заданы одинаково, если это необходимо для единообразного представления.
  2. Изучаем Модуль менеджера документа:
    • Далее, мы откроем конфигуратор и перейдем к Модулю менеджера того документа, представление которого нас интересует (например, Расходная накладная).
    • Мы будем искать процедуру ОбработкаПолученияПредставления. Если она существует, проанализируем ее код.
  3. Анализируем использование ПрефиксацияОбъектовКлиентСервер:
    • Если в

      ОбработкаПолученияПредставления

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

Заключение

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

← На главную