Как убрать лишний префикс АР в номерах документов при обмене между 1С:УНФ и 1С:Бухгалтерия?

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

При настройке обмена данными между конфигурациями «1С:Управление нашей фирмой» (УНФ) и «1С:Бухгалтерия предприятия 3.0» (БП) пользователи часто сталкиваются с неприятной ситуацией: номера документов, приходящие из источника, внезапно меняются. Типичный пример — номер ЛБНФ-013361 после загрузки превращается в ЛБНФ-АР3361. Это не просто косметическая проблема: искажение нумерации может привести к «затыкам» в системе, когда новые номера упираются в максимально допустимую длину или создают дубли.

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

Разберем механику префиксации в Библиотеке стандартных подсистем (БСП)

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

  1. Префикс организации: задается непосредственно в карточке организации (например, ЛБ).
  2. Префикс информационной базы: устанавливается в настройках синхронизации данных (например, НФ).
  3. Функциональный префикс: может добавляться для специфических операций или обособленных подразделений.

Когда мы видим замену цифр на буквы АР, это означает, что система подставляет префикс информационной базы или специфический код узла обмена, который «затирает» часть значащего номера из-за ограничений по длине строки.

Способ 1: Проверка настроек в интерфейсе (карточка организации и регистры)

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

Шаг 1. Карточка организации. Перейдем в справочник Организации в базе БП. Проверим поле Префикс. Если там указано АР, система будет принудительно добавлять его ко всем новым документам. Однако при обмене это поле чаще всего влияет на документы, созданные «на месте», поэтому идем дальше.

Шаг 2. Настройки синхронизации. Зайдем в раздел Администрирование — Синхронизация данных. Посмотрим на настройки узла обмена с УНФ. Обратим внимание на поле Префикс этой информационной базы. Если в БП или в УНФ в качестве префикса базы указано АР, механизм БСП автоматически внедрит эти символы в номер при миграции объекта.

Шаг 3. Регистр сведений «Префиксы информационных баз». Рассмотрим этот малозаметный регистр. В нем хранятся соответствия префиксов для различных узлов. Если для узла, через который приходят данные из УНФ, прописан префикс АР, система пересчитает номер, чтобы избежать коллизий (дублей) с документами Бухгалтерии.

Способ 2: Анализ «Универсального формата» (Enterprise Data)

Если обмен настроен через Enterprise Data, за обработку номера отвечает Менеджер обмена через универсальный формат. Проанализируем ситуацию: иногда префикс АР встречается в старых или кастомных правилах как сокращение для «Агентских Расчетов». Для отслеживания работы алгоритмов в менеджере обмена можно использовать расширение для отладки обмена через универсальный формат.

Если алгоритм системы считает, что номер документа не соответствует регулярному выражению целевой базы, он может попытаться «нормализовать» его. Рассмотрим программную точку возникновения проблемы. Часто это происходит в общем модуле ПрефиксацияОбъектовСобытия в процедуре УстановитьПрефиксИнформационнойБазыИОрганизации. При загрузке вызывается метод УстановитьНомерНовогоОбъекта. Если номер в УНФ короче 11 символов, система «дозабивает» его префиксом узла.

Способ 3: Поиск и правка в конфигураторе

Если настройки в интерфейсе чисты, значит префикс «зашит» в коде или правилах обмена. Посмотрим, как найти «ноги» этой проблемы через глобальный поиск.

  1. Откроем конфигуратор УНФ (так как префикс часто добавляется именно в момент выгрузки).
  2. Выполним Глобальный поиск по строке "АР" (в кавычках).
  3. Особое внимание уделим Общим модулям, связанным с обменом данными и выгрузкой (например, модули с именами МенеджерОбменаЧерезУниверсальныйФормат или ОбменДаннымиСобытия).

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


// Пример возможной доработки, вызывающей проблему
Процедура ПриОбработкеНомераПриВыгрузке(Объект, Номер) Экспорт
    Если ТипЗнч(Объект) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
        // Ошибка: принудительная вставка префикса АР
        Номер = СтрЗаменить(Номер, "00", "АР");
    КонецЕсли;
КонецПроцедуры

Если вы обнаружили подобную конструкцию в модуле выгрузки УНФ, ее необходимо закомментировать или переписать так, чтобы она не портила существующий префикс организации.

Проблема «отрезания» значащих цифр

Выясним, почему ЛБНФ-013361 становится ЛБНФ-АР3361. В платформе 1С длина номера ограничена (обычно 11 символов). Механизм БСП резервирует определенные позиции под префиксы. Если суммарная длина префикса организации (ЛБ), префикса базы (НФ) и внезапного префикса АР превышает лимит, система «съедает» нули и первые цифры основного номера, чтобы втиснуть буквенный код. Это критически важно исправить, так как при достижении номера 9999 нумерация может просто остановиться.

Как исправить уже загруженные документы?

Простое удаление префикса в коде или настройках не изменит номера уже созданных документов в базе БП. Рассмотрим план действий по очистке базы:

  1. Исправить настройки: Удалите АР из регистра Префиксы информационных баз и настроек синхронизации.
  2. Воспользоваться обработкой: Для массового изменения номеров используйте стандартную обработку «Групповое изменение реквизитов» или специальную обработку «Редактирование номера».
  3. Перепроведение: Помните, что обычное перепроведение документов в 1С не меняет номер. Номер устанавливается только в момент создания или принудительного вызова УстановитьНовыйНомер().

Важный совет: Проверьте в разделе Администрирование, не включена ли опция Добавлять префикс информационной базы к номерам документов. Иногда ее отключение помогает решить проблему «на лету» без глубокого погружения в код конфигурации.

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

← На главную