Нередко после настройки даже стандартной односторонней синхронизации данных между конфигурациями (например, «Управление торговлей» и «Бухгалтерия предприятия») пользователи сталкиваются с неприятной ситуацией: создаваемые документы внезапно меняют привычный префикс. Если раньше документы нумеровались с префиксом организации (например, СТ000001), то после подключения обмена они начинают создаваться с префиксом информационной базы УТ000001 или с составным префиксом УТСТ0000001.
Разберем детально, почему так происходит, как устроен механизм автонумерации в типовых конфигурациях 1С и как вернуть корректную последовательность номеров.
Рассмотрим основные факторы, которые приводят к изменению формата номеров:
УТ). Этот префикс записывается в соответствующую константу (ПрефиксИнформационнойБазы или ПрефиксУзлаРаспределеннойИнформационнойБазы), даже если настраивается только выгрузка в одну сторону. До настройки обмена константа часто оставалась пустой.УТ, а в справочнике Организации задан префикс СТ, система автоматически формирует составной префикс УТСТ.ЭтотУзел в используемом плане обмена.Проанализируем текущие настройки конфигурации и приведем их к необходимому виду:
СТ), перейдем в общие настройки программы или откроем список констант и очистим значение константы Префикс информационной базы.Организации и убедимся, что в реквизите Префикс установлено значение СТ.ЭтотУзел. Если в нем прописан префикс, который подставляется в документы программно, скорректируем или очистим его в зависимости от используемых правил обмена.После изменения настроек новые документы могут продолжать создаваться с ошибками, пока в базе присутствуют документы с префиксами УТ или УТСТ, нарушающие сквозную нумерацию. Для восстановления порядка выполним следующие действия:
УТ, УТСТ и прочими некорректными значениями.СТ и восстановим порядок номеров.СТ000000001. Если случайно сократить количество нулей, платформа зафиксирует номер как максимальный и автонумерация снова нарушится.Платформа 1С кэширует пространство номеров в памяти сервера. После ручного или программного изменения номеров автонумерация может продолжать выдавать неверные значения до сброса кэша.
Для принудительного обновления пространства номеров выполним программный вызов встроенного метода платформы ОбновитьНумерациюОбъектов. Для этого можно создать внешнюю обработку или выполнить код в консоли кода:
// Сброс кэша нумерации для конкретного вида документов:
ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг);
// Либо сброс кэша нумерации сразу для всех объектов метаданных базы:
ОбновитьНумерациюОбъектов();
После выполнения данной команды платформа заново пересчитает максимальные номера по всем таблицам документов с учетом установленных префиксов организаций, и документы будут создаваться с корректным префиксом СТ.