Почему представление номера документа в 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 может быть вызвано как пользовательскими настройками префиксов, так и программным кодом в процедуре ОбработкаПолученияПредставления или функциями общего модуля ПрефиксацияОбъектовКлиентСервер. Путем последовательного анализа настроек и кода в обеих информационных базах, мы можем точно определить причину расхождений и настроить желаемое представление номеров документов, обеспечив единообразие и удобство работы.

← К списку