Найти в Дзене
1С заметки

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

Предположение, почему может возникать такая ситуация. Сервер “1С:Предприятие” хранит в памяти для каждого объекта метаданных в памяти максимальный номер для каждого использованного префикса и периода. Затем на SQL-сервере восстанавливается база данных из копии, а в ней – другие номера документов. Сервер “1С:Предприятие” не знает о том, что данные изменились, получается, что кэш не соответствует данным в базе. Можно перезапустить сервер “1С:Предприятие”, тогда данная ошибка тоже не должна возникать, а можно воспользоваться методом ОбновитьНумерациюОбъектов, чтобы обновить закэшированные данные. ОбновитьНумерациюОбъектов(Метаданные.Документы.ПриходныйКассовыйОрдер); ОбновитьНумерациюОбъектов(); Если же вызвать этот метод без параметров, то обновление будет выполнено для всех типов объектов метаданных. Важно, что этот метод не изменяет данные в базе, речь идет о “кэше” в памяти сервера “1С:Предприятие”.

Предположение, почему может возникать такая ситуация. Сервер “1С:Предприятие” хранит в памяти для каждого объекта метаданных в памяти максимальный номер для каждого использованного префикса и периода. Затем на SQL-сервере восстанавливается база данных из копии, а в ней – другие номера документов. Сервер “1С:Предприятие” не знает о том, что данные изменились, получается, что кэш не соответствует данным в базе. Можно перезапустить сервер “1С:Предприятие”, тогда данная ошибка тоже не должна возникать, а можно воспользоваться методом ОбновитьНумерациюОбъектов, чтобы обновить закэшированные данные.

ОбновитьНумерациюОбъектов(Метаданные.Документы.ПриходныйКассовыйОрдер);

ОбновитьНумерациюОбъектов();

Если же вызвать этот метод без параметров, то обновление будет выполнено для всех типов объектов метаданных.

Важно, что этот метод не изменяет данные в базе, речь идет о “кэше” в памяти сервера “1С:Предприятие”.