Почему после настройки обмена в 1С изменились префиксы номеров документов и как вернуть правильную нумерацию?

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

Нередко после настройки даже стандартной односторонней синхронизации данных между конфигурациями (например, «Управление торговлей» и «Бухгалтерия предприятия») пользователи сталкиваются с неприятной ситуацией: создаваемые документы внезапно меняют привычный префикс. Если раньше документы нумеровались с префиксом организации (например, СТ000001), то после подключения обмена они начинают создаваться с префиксом информационной базы УТ000001 или с составным префиксом УТСТ0000001.

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

Причины изменения префиксов при настройке обмена

Рассмотрим основные факторы, которые приводят к изменению формата номеров:

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

Шаг 1. Проверяем и корректируем настройки префиксов

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

  1. Проверка константы префикса базы. Если в вашей учетной политике префикс информационной базы не требуется и номера должны содержать только код организации (СТ), перейдем в общие настройки программы или откроем список констант и очистим значение константы Префикс информационной базы.
  2. Проверка справочника «Организации». Откроем карточку вашей организации в справочнике Организации и убедимся, что в реквизите Префикс установлено значение СТ.
  3. Проверка узлов плана обмена. Откроем используемый план обмена через меню «Все функции» (или «Функции для технического специалиста») и проверим код узла ЭтотУзел. Если в нем прописан префикс, который подставляется в документы программно, скорректируем или очистим его в зависимости от используемых правил обмена.

Шаг 2. Исправление номеров уже созданных документов

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

  1. Поиск некорректных документов. Сформируем список документов за период, в котором сбилась нумерация, и отберем объекты с префиксами УТ, УТСТ и прочими некорректными значениями.
  2. Пакетное переименование. Воспользуемся стандартной обработкой «Универсальный подбор и обработка объектов» или специализированной обработкой «Перенумерация документов». Зададим правильный префикс СТ и восстановим порядок номеров.
  3. Контроль длины номера. Критически важно сохранять установленную разрядность номера (количество лидирующих нулей). Если метаданные документа предполагают длину 11 символов, номер должен строго соответствовать формату СТ000000001. Если случайно сократить количество нулей, платформа зафиксирует номер как максимальный и автонумерация снова нарушится.

Шаг 3. Сброс серверного кэша автонумерации

Платформа 1С кэширует пространство номеров в памяти сервера. После ручного или программного изменения номеров автонумерация может продолжать выдавать неверные значения до сброса кэша.

Для принудительного обновления пространства номеров выполним программный вызов встроенного метода платформы ОбновитьНумерациюОбъектов. Для этого можно создать внешнюю обработку или выполнить код в консоли кода:


// Сброс кэша нумерации для конкретного вида документов:
ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг);

// Либо сброс кэша нумерации сразу для всех объектов метаданных базы:
ОбновитьНумерациюОбъектов();

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

← На главную