Мы часто сталкиваемся с ситуацией, когда однотипные документы в разных информационных базах 1С:УНФ 3.0 отображаются по-разному. Например, в одной базе "Расходная накладная 78 от 13.10.2025", а в другой — "Расходная накладная АА-00078 от 13.10.2025". Такое различие в представлении номера документа, будь то наличие префиксов или лидирующих нулей, может вызывать вопросы и неудобства. Давайте вместе разберем, почему это происходит и как мы можем управлять этим поведением.
Прежде чем перейти к настройкам, давайте выясним, из чего вообще формируется номер документа в системе 1С. Стандартный номер документа — это не просто порядковое число, а сложная структура, обеспечивающая его уникальность и информативность. Рассмотрим его основные компоненты:
Типовой формат номера может выглядеть как AABB-СС000123, где AA — префикс организации, BB — префикс информационной базы, CC — дополнительный префикс, а 000123 — порядковый номер с лидирующими нулями.
Различия в отображении номеров документов (с префиксами, лидирующими нулями или без них) в разных базах могут быть обусловлены несколькими факторами, которые мы сейчас проанализируем:
ОбработкаПолученияПредставления в модуле менеджера объекта документа. Эта процедура позволяет переопределить стандартное представление объекта.ПрефиксацияОбъектовКлиентСервер: В типовых конфигурациях, использующих Библиотеку Стандартных Подсистем (БСП), этот модуль содержит функции для работы с префиксами. Подробно изучить возможности этой библиотеки поможет справочник по методам БСП (с примерами использования).Давайте рассмотрим подробнее, как мы можем контролировать представление номера документа.
ОбработкаПолученияПредставленияЭто один из наиболее мощных механизмов для настройки представления любого объекта в 1С. Система вызывает эту процедуру каждый раз, когда требуется получить строковое представление объекта (например, в списках, отчетах, при выборе ссылки в табличной части другого документа). Как это работает:
Модуль менеджера.ОбработкаПолученияПредставления.Внутри этой процедуры мы можем получить стандартное представление и модифицировать его по своему усмотрению. Вот пример того, как это может быть реализовано:
Процедура ОбработкаПолученияПредставления(СтандартноеПредставление, ДополнительныеПараметры) Экспорт
// Получаем текущую ссылку на объект
СсылкаНаДокумент = ДополнительныеПараметры.Ссылка;
// Получаем стандартное представление, которое система сформировала бы по умолчанию.
// Это представление обычно уже включает префиксы и лидирующие нули,
// если они настроены в конфигурации.
// Если мы хотим изменить его, например, убрать или добавить префиксы/нули:
// Пример: Получим номер документа без префиксов с помощью типовых функций БСП.
// Для этого нам потребуется общий модуль ПрефиксацияОбъектовКлиентСервер.
// Убедимся, что модуль доступен и используется.
Если ОбщегоНазначенияБСП.ПодсистемаСуществует("СтандартныеПодсистемы.ПрефиксацияОбъектов") Тогда
// Используем функцию из БСП для получения номера без префиксов
СтандартноеПредставление = СсылкаНаДокумент.Метаданные().Представление() + " "
+ ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(СсылкаНаДокумент.Номер);
// Если нужно добавить дату, можно сделать это так:
СтандартноеПредставление = СтандартноеПредставление + " от " + Формат(СсылкаНаДокумент.Дата, "ДФ=dd.MM.yyyy");
Иначе
// Если БСП не используется или функция недоступна, можем попробовать
// убрать префиксы вручную, но это менее надежно.
// Или оставить стандартное представление, если его нужно просто получить.
СтандартноеПредставление = СсылкаНаДокумент.Метаданные().Представление() + " " + СсылкаНаДокумент.Номер
+ " от " + Формат(СсылкаНаДокумент.Дата, "ДФ=dd.MM.yyyy");
КонецЕсли;
// Важно: если вы хотите, чтобы ваше представление использовалось,
// вы должны присвоить его параметру СтандартноеПредставление.
// Если вы ничего не измените, будет использовано представление,
// которое система сформировала бы по умолчанию.
КонецПроцедуры
В этом примере мы используем функцию НомерНаПечать() из модуля ПрефиксацияОбъектовКлиентСервер, которая предназначена для формирования номера документа для вывода без префиксов ИБ и организации. Этот подход является более надежным, чем попытки вручную обрезать строки.
ПрефиксацияОбъектовКлиентСервер (БСП)В типовых конфигурациях, построенных на Библиотеке Стандартных Подсистем (БСП), функционал по работе с префиксами централизован в общем модуле ПрефиксацияОбъектовКлиентСервер. Он содержит полезные функции, которые мы можем использовать:
УдалитьПрефиксыИзНомераОбъекта(НомерОбъекта): Эта функция позволяет удалить префиксы из переданного номера документа.НомерНаПечать(СсылкаНаОбъект): Возвращает номер объекта в формате, предназначенном для печати, то есть без префиксов организации и ИБ, но с лидирующими нулями, если это необходимо.Эти функции часто используются внутри процедуры ОбработкаПолученияПредставления или в модулях печатных форм для единообразного вывода номеров.
Помимо программного кода, есть и пользовательские настройки, которые влияют на отображение номеров:
НСИ и Администрирование -> Настройка НСИ -> Организации
Префикс
НСИ и Администрирование -> Настройка интеграции -> Синхронизация данных
Префикс этой информационной базы
Функции для технического специалиста (через Сервис и настройки -> Параметры
Представление номера документа без префикса информационной базы
Представление номера документа с лидирующими нулями. Проверьте их значения через Все функции -> Константы
Ложь
Теперь, когда мы знаем о возможных причинах и способах настройки, давайте разберем по шагам, как мы можем выяснить причину различий и привести представление номеров к желаемому виду.
Модуль менеджера документа:
Модулю менеджера того документа, представление которого нас интересует (например, Расходная накладная).ОбработкаПолученияПредставления. Если она существует, проанализируем ее код.ПрефиксацияОбъектовКлиентСервер:
ОбработкаПолученияПредставления
Мы выяснили, что различие в представлении ссылок документов в 1С:УНФ 3.0 может быть вызвано как пользовательскими настройками префиксов, так и программным кодом в процедуре ОбработкаПолученияПредставления или функциями общего модуля ПрефиксацияОбъектовКлиентСервер. Путем последовательного анализа настроек и кода в обеих информационных базах, мы можем точно определить причину расхождений и настроить желаемое представление номеров документов, обеспечив единообразие и удобство работы.