Отдел продаж:
Значение поля номер не уникально

Значение поля номер не уникально – ошибка в 1С

Значение поля номер не уникально – почему появляется данная ошибка?

Итак, почему же появляется эта ошибка? Чаше всего проблема заключается в сбившемся нумераторе. Если вы вручную исправляете номер и используете дополнительные символы, то нумератор может “не понять”, какой номер должен быть следующим. На обложке статьи приведена ситуация, когда использование знака “/” в номерах привела к указанной ошибки. Когда после слеша номер доходит до цифры 9, то автоматическая нумерация дает сбой. Какой номер сформировать дальше? Поставить цифру 10 после слеша или повысить цифру до него?

Также эта ошибка может появится после восстановления базы данных через СУБД SQL. Если говорить поверхностно, то выдаваемые номера хранятся в специализированных механизмах 1С. При восстановлении указанным способом кэш не соответствует занятым номерам в базе. Из за этого нумератор может выдавать номера, которые уже фактически заняты в восстановленной базе данных.

Возможные решения проблемы

Номера меняются вручную

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

Для того, чтобы убрать ошибку здесь и сейчас можно просто изменить последний проблемный номер. Например, если в ошибки значится, что номер 0001/9 не уникален, то находим документ или справочник с этим номером и изменяем его. Можно задать простой номер по типу 0010. Тогда следующий документ автоматически продолжится с 0011. Стоит отметить, что нумератор считает занятыми и те номера, которые присвоены объектам, помеченным на удаление. Поэтому может потребоваться их удаление. Как это сделать вы можете почитать в одной из наших прошлых статей – “Как в 1С ЗУП удалить помеченные объекты”.

Также стоит сказать, что не всегда однозначно можно понять, в каком именно документе проявляется ошибку. Дело в том, что при создании одного документа может автоматически программно создаваться другой, при этом ошибка будет показываться в родительском. Допустим, что проблема нумерации существует в документах Счет фактуры. Тогда при создании и записи документа Корректировка реализации появится ошибка – Значение поля номер не уникально. Но дело то не в корректировки реализации, а в счет фактуре, которая создается программно “за кулисами”. Поэтому стоит быть внимательным в этом вопросе.

Сбился нумератор

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

Но прежде чем пробовать все эти методы стоит попробовать вначале запустить процедуру обновления номеров. Она запускается функцией ОбновитьНумерациюОбъектов([Метаданные]). Эта функция выполняет обновление нумераторов в соответствии с номерами, записанными в базе данных. Как видно из синтаксиса у этой функции есть необязательный параметр. В качестве параметра выступает объект метаданных или массив объектов метаданных, для которых будет выполнено обновление нумерации. Если значение параметра не указано, то обновление будет выполнено для всех типов объектов. Но как запустить эту функцию? Самый простой вариант – сделать внешнюю обработку, которой и запускать функцию. Если вам незнакомы эти слова, то лучше обратиться к специалистам. Как вы помните, вы всегда можете получить консультацию по номеру в шапке сайте.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *