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

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

Что значит ошибка «Значение поля номер не уникально» в 1С и как её исправить

Разбираем ошибку «Значение поля номер не уникально» в 1С: почему возникает, как найти дубль номера документа и исправить нумерацию без потери данных.

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

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

Материал подходит для типовых конфигураций (Бухгалтерия, Управление торговлей, ЗУП, ERP) и для самописных решений на управляемых и обычных формах. Действия описаны так, чтобы их мог выполнить пользователь с правами администратора без привлечения программиста, а там, где без специалиста не обойтись, это указано отдельно.

Как устроена нумерация в 1С и почему возникает конфликт

Каждый документ и большинство справочников в 1С имеют поле «Номер». Для него в конфигураторе задаются свойства: длина, тип (числовой или строковый), признак автонумерации и периодичность — в пределах чего номер обязан быть уникальным. Типовые варианты периодичности: в пределах года, месяца, дня или без ограничения периода (в пределах всей базы). Например, счета-фактуры обычно нумеруются в пределах года, а некоторые справочники — в пределах всей информационной базы.

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

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

Типичные сценарии появления ошибки

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

Третий сценарий — сбой нумератора после восстановления базы из резервной копии, нештатного завершения работы или массовой загрузки. Нумератор «застревает» на старом значении и начинает выдавать номера, которые фактически уже использованы. Четвёртый сценарий — программное создание объектов: обработки и доработки, которые присваивают номер методом УстановитьНовыйНомер() с неверными параметрами или вручную через свойство Номер.

Ошибка после обмена между базами

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

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

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

Ошибка у одного документаЛокальный конфликт

Скорее всего, номер изменён вручную или документ загружен обменом — достаточно присвоить новый номер

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

Нумератор выдаёт занятые номера — требуется восстановление нумерации

Ошибка после обменаПересечение префиксов

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

Ошибка в справочникеДубль кода или номера

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

Быстрое решение: присвоить новый номер

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

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

Порядок действий
  1. 1
    Откройте документ, который не записывается, и запомните его текущий номер
  2. 2
    Откройте журнал этого вида документов и отфильтруйте по тому же номеру — найдите дубль
  3. 3
    Определите, какой из двух документов должен сохранить номер (обычно — более ранний или уже использованный в отчётности)
  4. 4
    Второму документу присвойте новый номер: очистите поле и запишите объект либо введите свободное значение вручную
  5. 5
    Перепроведите документ, если он проводится, и проверьте печатную форму
  6. 6
    Если ошибка повторяется у новых документов — переходите к восстановлению нумератора

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

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

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

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

Что проверить в настройках конфигурации

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

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

Сравнение вариантов

Новый номер конфликтующему объекту

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

Исправление номера у старого дубля

Сохраняет «правильный» номер у нужного документа. Ограничение: старый документ мог участвовать в отчётах — менять его номер рискованно

Восстановление нумератора

Решает проблему системно при массовых ошибках. Ограничение: требует монопольного доступа и резервной копии

Настройка префиксов баз

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

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

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

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

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

Как проверить, что проблема решена

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

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

Контрольные точки

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

Запись нового документа
Норма

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

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

Снова появляется сообщение о неуникальности

Журнал документов за период
Норма

Каждый номер встречается один раз

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

Два и более документа с одинаковым номером

Обмен между базами
Норма

Загруженные документы имеют префикс своей базы

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

Номера из разных баз пересекаются

Печатная форма документа
Норма

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

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

Номер изменился после формирования отчётности

Итог

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

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

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

Можно ли вообще отключить контроль уникальности номера?

Технически в конфигураторе у объекта можно снять признак контроля уникальности, но делать этого не стоит: появятся документы с одинаковыми номерами, что нарушит поиск, отчёты и печатные формы. Правильнее устранить причину конфликта, а не отключать защиту.

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

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

Номер выглядит свободным, но 1С всё равно ругается. Почему?

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

Что делать, если документ с «правильным» номером уже ушёл в отчётность?

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

Ошибка возникает у элементов справочника, а не у документов. Это то же самое?

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

Когда без программиста не обойтись?

Если ошибка возникает в доработанной конфигурации при работе обменов или обработок, если номера присваиваются программно, или если восстановление нумератора штатными средствами не помогает. Также специалист нужен, когда дублей много и требуется массовая перенумерация с сохранением связей между объектами.