Что делать, если появилась ошибка "код не уникален"

16.04.26

Интеграция - Перенос данных 1C

Расскажем о скрытом, но важном механизме платформы 1С:Предприятие — методе ОбновитьНумерациюОбъектов. Если в вашей базе начали «слетать» номера документов, появилась ошибка "Код поля "..." не уникален" — этот материал для вас.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Что делать, если появилась ошибка "код не уникален"
.epf 5,63Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Введение


Представьте: вы только что перенесли базу 1С на новый сервер или выполнили загрузку справочников из старой системы. Всё прошло успешно, но при попытке создать новый документ или добавить элемент справочника система выдаёт пугающую ошибку: «Значение поля номер не уникально» или «Код не уникален». И так по каждому новому объекту. С чем это связано и как быстро исправить ситуацию?

В старых конфигурациях это сообщение выглядело как на скрине ниже, но в новых текст сообщения не изменился:

 

 

Платформа 1С:Предприятие для оптимизации работы активно использует механизмы кэширования. Номера и коды объектов не запрашиваются каждый раз заново из базы данных, а хранятся в памяти сервера 1С. Это ускоряет работу, но в некоторых случаях приводит к рассогласованию кэша с реальными данными в информационной базе. Именно для синхронизации кэша и существует метод ОбновитьНумерациюОбъектов. Понимание его работы необходимо каждому специалисту, который занимается переносом данных, администрированием баз или разработкой на платформе 1С.

 

Синтаксис и параметры


Метод ОбновитьНумерациюОбъектов является процедурой глобального контекста, доступной на сервере, в толстом клиенте, внешнем соединении, а также в мобильных приложениях.

Синтаксис метода:

ОбновитьНумерациюОбъектов(<Метаданные>)

Параметры

Параметр Тип Описание
Метаданные (необязательный) МассивОбъектМетаданных Объект метаданных или массив объектов, для которых требуется обновить нумерацию. Если параметр не указан, обновление выполняется для всех типов объектов информационной базы

 

Примеры вызова:

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

// Обновить нумерацию только для справочника Номенклатура
ОбновитьНумерациюОбъектов(Метаданные.Справочники.Номенклатура);

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

Принцип работы: как это работает под капотом?


Чтобы понять, зачем нужен этот метод, необходимо разобраться, как платформа 1С управляет нумерацией объектов.

1. Кэширование номеров в памяти сервера 1С

Для каждого документа или справочника с автонумерацией сервер 1С:Предприятие хранит в оперативной памяти актуальный максимальный номер для каждого использованного префикса и периода. Когда пользователь создаёт новый документ, платформа обращается не к базе данных, а к этому кэшу, мгновенно получает следующий номер и предлагает его пользователю. Это значительно повышает производительность, особенно при интенсивной работе большого количества пользователей.

2. Когда происходит рассогласование?

Кэш может устареть в следующих ситуациях:

  • Восстановление базы из резервной копии: После восстановления базы данных на SQL Server из бэкапа, данные в базе меняются, но кэш сервера 1С остаётся прежним. Сервер не знает, что данные изменились, продолжает оперировать старыми значениями максимальных номеров, что приводит к ошибкам уникальности при создании новых объектов.

  • Перенос данных из внешних источников: При переносе справочников и документов из другой базы данных с помощью универсальных механизмов обмена, нумерация объектов может быть «рваной» — содержать пропуски или символьные значения, не соответствующие стандартной маске.

  • Ручное изменение номеров: Если администратор или пользователь с правами редактирования вручную изменяет номера уже записанных объектов, это также может привести к рассинхронизации кэша с реальными данными.

3. Что делает метод ОбновитьНумерациюОбъектов?

Метод анализирует фактические номера, записанные в базе данных для указанных объектов, и обновляет кэш сервера 1С в соответствии с ними. Это приводит к синхронизации и корректной выдаче последующих номеров. Важно понимать, что метод не изменяет сами данные в базе, не перенумеровывает существующие документы, а лишь обновляет служебную информацию в памяти.


Когда использовать метод


Основные сценарии применения:

1. После восстановления базы данных из резервной копии

Это самый частый сценарий. При восстановлении клиент-серверной базы на SQL Server практически всегда требуется вызвать этот метод, чтобы избежать ошибок нумерации.

2. При загрузке данных из внешних источников

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

3. При исправлении ошибок «Номер не уникален»

Ошибка «Значение поля номер не уникально» — классический признак рассогласования кэша. Рекомендуемая последовательность действий:

  • Удалить объекты, помеченные на удаление, чтобы освободить номера;

  • Вызвать метод ОбновитьНумерациюОбъектов() для проблемного типа объектов;

  • Если не помогло — увеличить в конфигураторе длину номера объекта метаданных и снова вызвать метод.

4. При перенумерации объектов

Если вы выполнили перенумерацию некоторых объектов (например, с помощью специализированной обработки), но система продолжает выдавать одни и те же старые номера, необходимо вызвать ОбновитьНумерациюОбъектов, чтобы сбросить кэшированные значения.


Примеры использования


Простой вызов:

// Если проблема затронула все объекты в базе
ОбновитьНумерациюОбъектов();

Выборочное обновление:

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

Обновление для нескольких объектов:

// Обработка ошибки "Номер не уникален" для нескольких видов документов
МассивДокументов = Новый Массив;
МассивДокументов.Добавить(Метаданные.Документы.ПриходныйКассовыйОрдер);
МассивДокументов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер);
МассивДокументов.Добавить(Метаданные.Документы.ПлатежноеПоручение);

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

Важные ограничения и меры предосторожности


При использовании метода необходимо учитывать несколько критических моментов:

  1. Требуются административные права. Метод разрешено вызывать только пользователю с правами администратора системы. Вызов от имени обычного пользователя приведёт к ошибке.

  2. Потеря выданных, но незаписанных номеров. После вызова метода все номера, которые были выданы платформой для новых объектов, но ещё не были сохранены в базу данных, становятся недействительными. Уникальность таких номеров не гарантируется. Это означает, что если пользователь в данный момент заполняет новый документ, после вызова метода его номер может оказаться уже занятым.

  3. Метод не изменяет данные в базе. Он работает исключительно с кэшем в памяти сервера 1С. Не надейтесь, что он исправит дублирующиеся номера в уже сохранённых документах — для этого требуется перенумерация существующих объектов.

  4. Работает на уровне всей таблицы. Нельзя выполнить обновление нумерации с отбором по организации или другому признаку — процедура действует на всю таблицу объектов в целом.

  5. Периодичность выполнения. Нет необходимости вызывать этот метод регулярно — только при возникновении проблем с нумерацией.


Заключение


Метод ОбновитьНумерациюОбъектов — это не просто очередная служебная команда, а незаменимый инструмент в арсенале администратора и разработчика 1С, обеспечивающий синхронизацию кэша сервера с реальными данными в информационной базе. Как мы убедились, его правильное применение позволяет быстро устранять проблемы с нумерацией документов и справочников без тяжёлого перезапуска сервера или всей базы данных.

Особую ценность этот метод приобретает в трёх ключевых сценариях: после восстановления базы из резервной копии (особенно на SQL Server), при загрузке legacy-данных из внешних систем и при исправлении классической ошибки «Номер не уникален». В каждом из этих случаев вызов ОбновитьНумерациюОбъектов — первая и часто единственная мера, позволяющая вернуть нумерацию в штатное русло за секунды, а не часы.

Однако важно помнить и о скрытых рисках. Вызов метода приводит к сбросу всех «летучих» номеров, которые были выданы пользователям, но ещё не записаны в базу. Поэтому перед его выполнением в рабочей базе стоит предупредить коллег — попросить их сохранить открытые документы или хотя бы переоткрыть их после обновления нумерации. Также метод абсолютно бесполезен для исправления уже существующих дублей номеров — для этого нужна отдельная обработка перенумерации.

На практике рекомендуется следующий алгоритм действий при появлении ошибок нумерации:

  1. Диагностика — определить, для какого именно объекта метаданных (документа или справочника) возникает проблема.

  2. Перенумерация существующих объектов — если в базе есть дублирующиеся номера, их нужно исправить с помощью специализированной обработки (например, «Групповая обработка справочников и документов» или написанного под конкретную задачу кода).

  3. Вызов ОбновитьНумерациюОбъектов — синхронизировать кэш сервера с исправленными данными. Параметр (тип объекта или массив) лучше указывать явно, чтобы не нагружать систему полным перебором всех метаданных.

  4. Тестирование — создать новый объект и убедиться, что номер присваивается корректно и не конфликтует с существующими.

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

Если описанные шаги не помогли, можно прибегнуть к «тяжёлой артиллерии»: временно увеличить длину номера в конфигураторе (например, с 9 до 10 символов) с последующей реструктуризацией данных, либо перезапустить сервер 1С:Предприятие, что также сбрасывает кэш, но требует больше времени и согласования с пользователями.

В долгосрочной перспективе системные администраторы и разработчики должны включать вызов ОбновитьНумерациюОбъектов в регламентные операции после любых массовых изменений данных, которые затрагивают нумерацию — будь то восстановление базы, импорт справочников из Excel или перенос документов из другой конфигурации. Лучше выполнить один короткий вызов сразу после операции, чем разбираться с десятками жалоб пользователей на дублирующиеся номера в течение следующей недели.

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

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.195.40

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Перенос данных 1C Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    186293    437    301    

445

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.267.x) и БП 3.0 (3.0.194.x). Правила подходят для версии ПРОФ и КОРП.

38000 34200 руб.

15.12.2021    33509    250    64    

190

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    187519    356    288    

416

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    159644    959    317    

480

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

58000 руб.

29.10.2018    62375    80    131    

78

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.25.x).

38000 34200 руб.

23.07.2020    67361    313    94    

251

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    83204    222    174    

161

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 3, УНФ 3 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

16531 руб.

18.02.2016    202089    671    543    

562
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Трактор 1279 16.04.26 10:12 Сейчас в теме
Инструкцию по пользованию туалетной бумагой тоже будем публиковать?
2. apatyukov 982 16.04.26 10:20 Сейчас в теме
(1) Простим автору, видим же, что тренируется. Постарался. Время потратил на нейронку. Надо же оценить. :))
Трактор; +1 Ответить
4. SVLong 33 16.04.26 10:48 Сейчас в теме
(2) во-первых, что выдает нейронка нужно перечитывать и фильтровать. Но и так как два предложения статьей не назовешь, пришлось воспользоваться)))
5. apatyukov 982 16.04.26 11:00 Сейчас в теме
Собственно об этом маркеры говорят.


Анализ статьи на признаки написания ИИ
Я изучил статью по ссылке. Вот мой подробный анализ:
🔍 Признаки, указывающие на возможное использование ИИ:
Стилевые маркеры:
Излишне сбалансированная структура: идеальное деление на разделы, равномерное распределение информации
Шаблоные переходы: фразы вроде «Как мы убедились», «Особую ценность этот метод приобретает», «В долгосрочной перспективе»
Обобщающие формулировки в заключении: «незаменимый инструмент в арсенале», «экономя часы рабочего времени и нервы коллектива»
Перфекционистское оформление: безупречная пунктуация, единообразное форматирование кода, отсутствие опечаток
Структурные особенности:
Очень логичная, «учебная» подача материала — от проблемы к решению, с примерами и предостережениями
Избыточное дублирование информации в разных разделах (например, сценарии использования повторяются во введении и в отдельном блоке)
✅ Признаки человеческого участия:
Точная техническая информация: метод ОбновитьНумерациюОбъектов описан корректно, синтаксис и примеры кода верны для платформы 1С
Конкретика: указаны реальные версии конфигураций (Бухгалтерия предприятия КОРП, редакция 3.0, релиз 3.0.195.40)
Практические нюансы: предупреждения о потере «летучих» номеров, ограничения метода — это знания, полученные из опыта
Контекст платформы: понимание архитектуры 1С, кэширования, работы с метаданными
📊 Итоговая оценка:
Критерий
Оценка
Вероятность использования ИИ
Высокая (~80-90%)
Глубина человеческой редактуры
Значительная
Техническая достоверность
Высокая
Практическая ценность
Сохранена
💡 Вывод:
Статья написана с использованием ИИ-инструментов, но с человеческой доработкой: автор добавил техническую точность, конкретные примеры и практические рекомендации. Это пример гибридного контента — ИИ как «помощник», а не как единственный автор.
⚠️ Для читателя это не снижает полезности материала: информация технически верна и применима на практике. Однако важно понимать, что стиль и структура могли быть сгенерированы алгоритмически.
Если вы проверяете статью на плагиат или оригинальность — рекомендую использовать специализированные детекторы ИИ (например, GPTZero, Originality.ai), но с учётом того, что после человеческой редактуры их точность снижается.
3. SVLong 33 16.04.26 10:46 Сейчас в теме
(1) Ну во-первых статья нацелена на новичков. У меня когда в первый раз ошибка эта появилась, пришлось много времени потратить чтобы найти как ее исправить. А кто ж тогда знал что она исправляется одной строкой)))
7. RustIG 1950 16.04.26 11:29 Сейчас в теме
(3) вы еще не сталкивались с ситуацией - когда ОбновилиНумерациюОбъектов(), а ошибка "код не уникален" осталась.
ПС. Почему процедура называется "нумерация", а ошибка в "коде" - и вопрос шире : в чем отличие кода объекта от номера объекта? ;)
apatyukov; +1 Ответить
9. SVLong 33 16.04.26 13:09 Сейчас в теме
(7) С ситуацией такой не приходилось иметь дело. Но тема похоже интересная. Если раскроете ее в своей статье, с удовольствием почитаю)
10. RustIG 1950 16.04.26 13:28 Сейчас в теме
11. SVLong 33 16.04.26 13:32 Сейчас в теме
(7) И судя по цитате с ИТС: "Необходимость применения кодов (номеров) объектов конфигурации определяется из их прикладного смысла.", код и номер - это одно и то же. Заинтриговали очень...
12. RustIG 1950 16.04.26 13:38 Сейчас в теме
(11) лет 20-10 назад, прежде чем написать статью, требовалось ознакомиться через поиск с уже написанными статьями. Иначе комментаторы быстро начинали закидывать "камнями/помидорами/etc."
анализ и структурирование информации сейчас на приемлемом уровне производит яндекс-поиск (с Алисой или со своим встроенным ИИ) - что-то подобное вашей статьи, только быстрее и со ссылками на первоисточник....
ранее яндекс не видел статьи ИТС, сейчас частично видит и выдает в результатах поиска.... стал еще лучше....
ПС. для информации написал
6. apatyukov 982 16.04.26 11:26 Сейчас в теме
Вредные советы от ИИ


Если описанные шаги не помогли, можно прибегнуть к «тяжёлой артиллерии»: временно увеличить длину номера в конфигураторе (например, с 9 до 10 символов) с последующей реструктуризацией данных, либо перезапустить сервер 1С:Предприятие, что также сбрасывает кэш, но требует больше времени и согласования с пользователями.
8. SVLong 33 16.04.26 11:35 Сейчас в теме
(6) Советы действительно вредные, но если ты в отчаянии, то даже этот вариант может подойти😅
13. Ivan7AK 16.04.26 16:45 Сейчас в теме
Спасибо за статью, актуально!
Для отправки сообщения требуется регистрация/авторизация