Администрирование · 12 мин
Номер не уникален в 1С: почему возникает ошибка и как её исправить
Почему 1С пишет «номер не уникален» и как исправить: причины ошибки, обновление нумерации, работа с префиксами, ручная правка номеров и профилактика сбоев.
Ошибка «Номер не уникален» появляется в 1С при попытке записать документ, элемент справочника или другой объект, номер которого уже занят внутри заданного периода нумерации. Программа контролирует уникальность номеров, чтобы в учёте не было двух одинаковых накладных, счетов-фактур или приказов с одним и тем же идентификатором. Когда механизм нумерации «сбивается», пользователь видит сообщение об ошибке и не может провести документ.
Чаще всего проблема возникает после переноса данных из другой базы, обмена между конфигурациями, ручного изменения номеров или сбоя во время записи. В типовых конфигурациях есть штатные средства восстановления нумерации, но в ряде случаев понадобится ручная корректировка. Ниже разобраны причины ошибки, способы диагностики и безопасные методы исправления для разных ситуаций.
Почему 1С сообщает, что номер не уникален
Каждый документ и многие справочники в 1С имеют номер, уникальный в пределах периода нумерации — обычно в рамках года, а для некоторых объектов — в пределах всей базы. Когда создаётся новый объект, система берёт последний использованный номер и увеличивает его. Если внутренний счётчик нумерации отстал от реально существующих номеров, программа предложит уже занятое значение и выдаст ошибку при записи.
Типовые причины рассинхронизации:
- загрузка документов из другой базы или конфигурации, где были свои номера;
- ручное редактирование номера у уже записанного документа;
- обмен данными с филиалами, где действуют разные префиксы;
- прерывание записи документа из-за сбоя сети или отключения электричества;
- смена периода нумерации (начало нового года) при наличии документов, введённых «задним числом»;
- доработки конфигурации, изменившие длину номера или правила формирования префикса.
Проверьте, не менялся ли номер вручную, и попробуйте обновить нумерацию
Нужно обновить нумерацию для всего вида документов
Проверьте префиксы информационных баз в настройках обмена
Проверьте документы, введённые задним числом в новом периоде
Подготовка: что сделать перед исправлением
Любые операции с нумерацией выполняйте в базе, где нет активной работы других пользователей, либо предупредите коллег о кратковременной паузе. В клиент-серверном варианте желательно установить монопольный режим, если планируется массовое обновление номеров.
Обязательно создайте резервную копию. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельную папку при закрытой программе. Для серверной базы сделайте выгрузку через конфигуратор (Администрирование → Выгрузить информационную базу) или штатную копию средствами СУБД. Это займёт несколько минут, но позволит откатить изменения, если что-то пойдёт не так.
Способ 1. Штатное обновление нумерации
Самый безопасный метод — встроенная команда обновления нумерации. Она пересчитывает максимальный использованный номер и выставляет счётчик правильно, не изменяя существующие документы.
Порядок действий в типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP):
- Откройте список документов того вида, где возникает ошибка (например, «Реализации товаров и услуг»).
- Нажмите кнопку «Ещё» в командной панели списка.
- Выберите пункт «Обновить нумерацию объектов» (в некоторых конфигурациях — «Обновить номера»).
- Дождитесь завершения операции и создайте новый документ для проверки.
Если такого пункта нет в меню, возможны два варианта: у вашей роли недостаточно прав (нужны права администратора или настройки нумерации) либо конфигурация сильно доработана. В первом случае обратитесь к администратору базы, во втором — используйте ручной способ, описанный ниже.
- 1Сделайте резервную копию базы
- 2Откройте список проблемного вида документов
- 3Нажмите «Ещё» → «Обновить нумерацию объектов»
- 4Создайте тестовый документ и проверьте присвоенный номер
- 5Убедитесь, что документ записывается без ошибок
- 6Удалите тестовый документ, если он не нужен
Способ 2. Ручное исправление номера документа
Когда ошибка возникает у конкретного документа, проще всего присвоить ему свободный номер вручную. Откройте документ, очистите поле «Номер» и начните записывать — программа предложит следующий свободный номер. Либо впишите номер, которого точно нет в базе: например, увеличьте последний известный номер на единицу.
Узнать занятые номера можно, отсортировав список документов по колонке «Номер» в порядке убывания — сверху окажутся последние использованные значения. Учтите, что номера с разными префиксами сортируются отдельно, поэтому проверяйте номера внутри своего префикса.
Если документ уже проведён и участвует в движениях по регистрам, менять номер можно — это не влияет на проводки, так как учёт ведётся по внутренней ссылке объекта, а не по номеру. Но помните об ограничении: для документов, ушедших контрагентам или в отчётность, номер менять нельзя.
Способ 3. Исправление через конфигуратор и обработки
Если штатные средства недоступны или сбой массовый, задачу решают инструментами администратора. В конфигураторе у объекта метаданных (документа или справочника) на закладке «Нумерация» проверьте свойства: длину номера, периодичность (в пределах года, месяца или непериодический), контроль уникальности и автонумерацию. Некорректная длина номера — частая причина проблем после доработок: например, при длине 6 символов и префиксе из 2 символов на собственно номер остаётся 4 знака, и после 9999 нумерация «упирается» в предел.
Для массового обновления нумерации существуют универсальные обработки (например, «Обновление нумерации объектов» с диска ИТС и аналогичные). Они перебирают объекты выбранного вида и восстанавливают счётчик. Запускайте такие обработки только на копии базы сначала, чтобы оценить результат.
// Пример: обновить нумерацию документов программно
ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг);Программный вызов метода ОбновитьНумерациюОбъектов() доступен из встроенного языка и выполняет ту же операцию, что и штатная команда. Его удобно использовать в регламентных заданиях или обработках для пакетного исправления нескольких видов документов сразу.
Проблемы с префиксами в распределённых базах
В базах с обменом данными (РИБ, обмен между БП и УТ, синхронизация с сайтом) у каждого узла должен быть свой уникальный префикс. Если два узла имеют одинаковый префикс или префикс пуст в обеих базах, документы из разных узлов получают одинаковые номера, и при загрузке возникает конфликт уникальности.
Проверьте настройки: в типовых конфигурациях префикс информационной базы задаётся в разделе настройки синхронизации данных или в параметрах учёта. Префиксы узлов плана обмена должны различаться. После изменения префикса обновите нумерацию проблемных видов документов и выполните обмен повторно.
Отдельный случай — обмен с внешними системами, где нумерация ведётся независимо. Здесь обычно настраивают правила конвертации так, чтобы загружаемые документы получали новые номера по правилам текущей базы, а исходный номер сохранялся в отдельном реквизите для сверки.
Как выбрать действие
Проверка результата и профилактика повторов
После любого исправления проверьте результат: создайте новый документ проблемного вида, запишите и проведите его. Номер должен присвоиться автоматически и не совпадать с существующими. Отсортируйте список по номеру и убедитесь, что нумерация продолжается последовательно.
Чтобы ошибка не возвращалась, придерживайтесь простых правил:
- не редактируйте номера документов вручную без необходимости;
- после каждого обмена или переноса данных обновляйте нумерацию затронутых видов объектов;
- следите, чтобы префиксы узлов обмена были уникальны;
- в начале нового года проверяйте нумерацию видов документов с годовой периодичностью, особенно если вводите документы задним числом;
- при доработках конфигурации контролируйте длину номера и настройки нумерации.
Как проверить результат
Номер присваивается автоматически, документ записывается без ошибок
Снова появляется сообщение «номер не уникален»
Номера идут последовательно, без дублей внутри префикса
Есть документы с одинаковыми номерами
Синхронизация завершается без ошибок нумерации
В протоколе обмена есть конфликты номеров
Номер на печати совпадает с номером в базе
Расхождения с ранее выданными документами
Частые ошибки при исправлении нумерации
Самая распространённая ошибка — перенумерация всего массива документов «для красоты», включая документы прошлых периодов, по которым уже сдана отчётность и выданы печатные формы контрагентам. Это приводит к расхождениям при сверках и вопросам при проверках. Исправлять нужно счётчик нумерации, а не сами номера существующих документов.
Вторая типичная ошибка — попытка исправить ситуацию удалением «лишних» документов. Удаление проведённых документов нарушает целостность учёта и последовательность проведения. Если документ создан ошибочно, его помечают на удаление штатным способом, а не стирают напрямую.
Третья ошибка — игнорирование префиксов при ручной правке. Пользователь смотрит на максимальный номер без учёта префикса и присваивает номер, который занят в другом префиксном диапазоне. Всегда фильтруйте список по своему префиксу перед ручным назначением номера.
Что важно запомнить
Ошибка «номер не уникален» лечится обновлением нумерации через «Ещё» в списке документов или ручным присвоением свободного номера. Перед исправлением сделайте копию базы, не трогайте номера документов, ушедших в отчётность и к контрагентам, а в базах с обменом проверяйте уникальность префиксов узлов.
Частые вопросы
Почему ошибка появилась сразу после нового года?
У многих документов нумерация ведётся в пределах года и с 1 января начинается заново. Если в новом периоде уже есть документы, введённые задним числом или загруженные обменом, счётчик может отставать. Обновите нумерацию нужного вида документов через «Ещё» → «Обновить нумерацию объектов».
Можно ли изменить номер проведённого документа?
Технически да: номер не участвует в проводках, учёт ведётся по внутренней ссылке объекта. Но если документ уже выдан контрагенту, отправлен по ЭДО или вошёл в отчётность, менять его номер нельзя — возникнут расхождения с внешними данными.
Нет пункта «Обновить нумерацию объектов» в меню «Ещё». Что делать?
Скорее всего, у вашей роли недостаточно прав — команда доступна пользователям с административными правами. Обратитесь к администратору базы. Если права полные, но пункта нет, конфигурация доработана, и нумерацию обновляют программно через метод ОбновитьНумерациюОбъектов().
Ошибка возникает при каждом обмене между базами. В чём причина?
Почти наверняка у узлов обмена одинаковые или пустые префиксы. Проверьте настройки синхронизации в обеих базах: префиксы должны различаться. После исправления префиксов обновите нумерацию конфликтующих видов документов и повторите обмен.
Нумерация дошла до предела и новые номера не присваиваются. Как быть?
Увеличьте длину номера в конфигураторе: свойства вида документа, закладка «Нумерация», поле «Длина номера». После изменения обновите конфигурацию базы данных и выполните обновление нумерации. Учтите, что увеличение длины может потребовать корректировки печатных форм.
Поможет ли тестирование и исправление базы при этой ошибке?
Обычно нет: проблема не в повреждении данных, а в расхождении счётчика нумерации с фактическими номерами. Тестирование и исправление имеет смысл запускать только если есть признаки физической порчи базы — вылеты, ошибки СУБД, пропавшие записи. Начните с обновления нумерации штатными средствами.