При использовании штатной синхронизации данных или сторонних обработок обмена в 1С:Бухгалтерии 3.0 нередко возникает ситуация, когда платформа начинает присваивать новым документам некорректные номера. Даже если исправить номер вручную или с помощью специализированных обработок, при создании следующего документа система снова генерирует неправильный номер. Рассмотрим подробнее, почему возникают подобные сбои и какими способами можно восстановить правильную автонумерацию.
Проанализируем ситуацию: в конфигурации 1С:Бухгалтерия 3.0 полный номер документа формируется из нескольких составляющих — префикса организации, префикса узла информационной базы (префикса базы) и самого порядкового номера с ведущими нулями.
Основные причины, по которым нумератор платформы теряет последовательность:
Как показывает практика, наиболее распространенной причиной появления «кривой» нумерации после отключения или перенастройки синхронизации является установленный префикс информационной базы.
Разберем по шагам, как исправить ситуацию:
0000-000001).Если причиной сбоя стал застрявший кэш номеров в сеансе работы, можно обновить нумерацию объектов программным путем. В платформе 1С предусмотрена глобальная процедура ОбновитьНумерациюОбъектов().
Рассмотрим пример использования данного метода. Выполнить команду можно во внешней обработке или через консоль кода под правами администратора:
// Обновление нумерации для всех объектов информационной базы
ОбновитьНумерациюОбъектов();
Если необходимо обновить нумерацию только для конкретного типа документов (например, для документа «Поступление (акты, накладные)»), в параметр передается массив с соответствующими метаданными:
МассивМетаданных = Новый Массив;
МассивМетаданных.Добавить(Метаданные.Документы.ПоступлениеТоваровУслуг);
ОбновитьНумерациюОбъектов(МассивМетаданных);
Обратите внимание: вызов метода ОбновитьНумерациюОбъектов() сбрасывает текущий кэш зарезервированных номеров на сервере и сверяет автонумерацию с фактически записанными в базе данными.
Посмотрим на пример, когда в базу попал документ с номером 999 вместо 0000-000001. В этом случае алгоритм платформы берет за основу наибольшее числовое значение и последующим документам присваивает номера 1000, 1001 и так далее, игнорируя формат с нулями.
Для исправления последовательности рекомендуются следующие действия:
rphost) для полной очистки серверного кэша автонумерации в клиент-серверном варианте работы.