К статье
Практический материал

Администрирование · 12 мин

Номер не уникален в 1С: почему возникает ошибка и как её исправить

Почему 1С пишет «номер не уникален» и как исправить: причины ошибки, обновление нумерации, работа с префиксами, ручная правка номеров и профилактика сбоев.

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

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

Почему 1С сообщает, что номер не уникален

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

Типовые причины рассинхронизации:

  • загрузка документов из другой базы или конфигурации, где были свои номера;
  • ручное редактирование номера у уже записанного документа;
  • обмен данными с филиалами, где действуют разные префиксы;
  • прерывание записи документа из-за сбоя сети или отключения электричества;
  • смена периода нумерации (начало нового года) при наличии документов, введённых «задним числом»;
  • доработки конфигурации, изменившие длину номера или правила формирования префикса.
Ошибка у одного документаЛокальный сбой

Проверьте, не менялся ли номер вручную, и попробуйте обновить нумерацию

Ошибка у всех новых документов видаСбит счётчик нумерации

Нужно обновить нумерацию для всего вида документов

Ошибка после обмена даннымиКонфликт нумераторов узлов

Проверьте префиксы информационных баз в настройках обмена

Ошибка в начале годаСмена периода нумерации

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

Подготовка: что сделать перед исправлением

Любые операции с нумерацией выполняйте в базе, где нет активной работы других пользователей, либо предупредите коллег о кратковременной паузе. В клиент-серверном варианте желательно установить монопольный режим, если планируется массовое обновление номеров.

Обязательно создайте резервную копию. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельную папку при закрытой программе. Для серверной базы сделайте выгрузку через конфигуратор (Администрирование → Выгрузить информационную базу) или штатную копию средствами СУБД. Это займёт несколько минут, но позволит откатить изменения, если что-то пойдёт не так.

Способ 1. Штатное обновление нумерации

Самый безопасный метод — встроенная команда обновления нумерации. Она пересчитывает максимальный использованный номер и выставляет счётчик правильно, не изменяя существующие документы.

Порядок действий в типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP):

  1. Откройте список документов того вида, где возникает ошибка (например, «Реализации товаров и услуг»).
  2. Нажмите кнопку «Ещё» в командной панели списка.
  3. Выберите пункт «Обновить нумерацию объектов» (в некоторых конфигурациях — «Обновить номера»).
  4. Дождитесь завершения операции и создайте новый документ для проверки.

Если такого пункта нет в меню, возможны два варианта: у вашей роли недостаточно прав (нужны права администратора или настройки нумерации) либо конфигурация сильно доработана. В первом случае обратитесь к администратору базы, во втором — используйте ручной способ, описанный ниже.

Порядок действий при штатном исправлении
  1. 1
    Сделайте резервную копию базы
  2. 2
    Откройте список проблемного вида документов
  3. 3
    Нажмите «Ещё» → «Обновить нумерацию объектов»
  4. 4
    Создайте тестовый документ и проверьте присвоенный номер
  5. 5
    Убедитесь, что документ записывается без ошибок
  6. 6
    Удалите тестовый документ, если он не нужен

Способ 2. Ручное исправление номера документа

Когда ошибка возникает у конкретного документа, проще всего присвоить ему свободный номер вручную. Откройте документ, очистите поле «Номер» и начните записывать — программа предложит следующий свободный номер. Либо впишите номер, которого точно нет в базе: например, увеличьте последний известный номер на единицу.

Узнать занятые номера можно, отсортировав список документов по колонке «Номер» в порядке убывания — сверху окажутся последние использованные значения. Учтите, что номера с разными префиксами сортируются отдельно, поэтому проверяйте номера внутри своего префикса.

Если документ уже проведён и участвует в движениях по регистрам, менять номер можно — это не влияет на проводки, так как учёт ведётся по внутренней ссылке объекта, а не по номеру. Но помните об ограничении: для документов, ушедших контрагентам или в отчётность, номер менять нельзя.

Способ 3. Исправление через конфигуратор и обработки

Если штатные средства недоступны или сбой массовый, задачу решают инструментами администратора. В конфигураторе у объекта метаданных (документа или справочника) на закладке «Нумерация» проверьте свойства: длину номера, периодичность (в пределах года, месяца или непериодический), контроль уникальности и автонумерацию. Некорректная длина номера — частая причина проблем после доработок: например, при длине 6 символов и префиксе из 2 символов на собственно номер остаётся 4 знака, и после 9999 нумерация «упирается» в предел.

Для массового обновления нумерации существуют универсальные обработки (например, «Обновление нумерации объектов» с диска ИТС и аналогичные). Они перебирают объекты выбранного вида и восстанавливают счётчик. Запускайте такие обработки только на копии базы сначала, чтобы оценить результат.

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

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

Проблемы с префиксами в распределённых базах

В базах с обменом данными (РИБ, обмен между БП и УТ, синхронизация с сайтом) у каждого узла должен быть свой уникальный префикс. Если два узла имеют одинаковый префикс или префикс пуст в обеих базах, документы из разных узлов получают одинаковые номера, и при загрузке возникает конфликт уникальности.

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

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

Маршрут решения

Как выбрать действие

Ошибка у одного-двух документов, база без обменовВручную присвойте свободный номер проблемным документам
Ошибка у всех новых документов одного видаВыполните «Ещё» → «Обновить нумерацию объектов» в списке документов
Ошибка после обмена или переноса данныхПроверьте префиксы узлов обмена, затем обновите нумерацию
Нумерация упёрлась в предел длины номераВ конфигураторе увеличьте длину номера и обновите нумерацию
Нет пункта обновления нумерации и нет правОбратитесь к администратору базы или специалисту по 1С

Проверка результата и профилактика повторов

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

Чтобы ошибка не возвращалась, придерживайтесь простых правил:

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

Как проверить результат

Создание нового документа
Норма

Номер присваивается автоматически, документ записывается без ошибок

Тревожный признак

Снова появляется сообщение «номер не уникален»

Сортировка списка по номеру
Норма

Номера идут последовательно, без дублей внутри префикса

Тревожный признак

Есть документы с одинаковыми номерами

Обмен данными
Норма

Синхронизация завершается без ошибок нумерации

Тревожный признак

В протоколе обмена есть конфликты номеров

Печатные формы
Норма

Номер на печати совпадает с номером в базе

Тревожный признак

Расхождения с ранее выданными документами

Частые ошибки при исправлении нумерации

Самая распространённая ошибка — перенумерация всего массива документов «для красоты», включая документы прошлых периодов, по которым уже сдана отчётность и выданы печатные формы контрагентам. Это приводит к расхождениям при сверках и вопросам при проверках. Исправлять нужно счётчик нумерации, а не сами номера существующих документов.

Вторая типичная ошибка — попытка исправить ситуацию удалением «лишних» документов. Удаление проведённых документов нарушает целостность учёта и последовательность проведения. Если документ создан ошибочно, его помечают на удаление штатным способом, а не стирают напрямую.

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

Типичные ошибки
01
Перенумерация документов, ушедших в отчётность и к контрагентам — создаёт расхождения при сверках
02
Удаление документов вместо исправления счётчика — нарушает целостность учёта
03
Исправление без резервной копии — нечем откатить неудачное изменение
04
Игнорирование префиксов при ручном назначении номера — дубли внутри другого диапазона
05
Смена настроек нумерации в конфигураторе без обновления нумерации — счётчик остаётся сбитым
Итог

Что важно запомнить

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

Частые вопросы

Почему ошибка появилась сразу после нового года?

У многих документов нумерация ведётся в пределах года и с 1 января начинается заново. Если в новом периоде уже есть документы, введённые задним числом или загруженные обменом, счётчик может отставать. Обновите нумерацию нужного вида документов через «Ещё» → «Обновить нумерацию объектов».

Можно ли изменить номер проведённого документа?

Технически да: номер не участвует в проводках, учёт ведётся по внутренней ссылке объекта. Но если документ уже выдан контрагенту, отправлен по ЭДО или вошёл в отчётность, менять его номер нельзя — возникнут расхождения с внешними данными.

Нет пункта «Обновить нумерацию объектов» в меню «Ещё». Что делать?

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

Ошибка возникает при каждом обмене между базами. В чём причина?

Почти наверняка у узлов обмена одинаковые или пустые префиксы. Проверьте настройки синхронизации в обеих базах: префиксы должны различаться. После исправления префиксов обновите нумерацию конфликтующих видов документов и повторите обмен.

Нумерация дошла до предела и новые номера не присваиваются. Как быть?

Увеличьте длину номера в конфигураторе: свойства вида документа, закладка «Нумерация», поле «Длина номера». После изменения обновите конфигурацию базы данных и выполните обновление нумерации. Учтите, что увеличение длины может потребовать корректировки печатных форм.

Поможет ли тестирование и исправление базы при этой ошибке?

Обычно нет: проблема не в повреждении данных, а в расхождении счётчика нумерации с фактическими номерами. Тестирование и исправление имеет смысл запускать только если есть признаки физической порчи базы — вылеты, ошибки СУБД, пропавшие записи. Начните с обновления нумерации штатными средствами.