Значение поля Код не уникально или Значение поля Номер не уникально
При работе в 1С, особенно когда много документов или номера редактируются ручками, можно получить ошибки вида:
Значение поля “Код” не уникально или Значение поля “Номер” не уникально
Что делать? Перенумеровывать
Нужно восстановить нумерацию документов или элементов справочника:
Пользователю
Посмотрите: Перенумерация документов, справочников, и сама Обработка Универсальные подбор и обработка объектов
Сбилась автонумерация у документа или справочника с текстовым кодом, что делать?
Программисту
Посмотрите примеры выше и дополнительно: Как сбросить счётчик нумерации документов или справочников
В модуле ПередЗаписью() дописать функционал проверки:
Код 1C v 8.х
Урок №15 Значение поля “КОД” не уникально
(урок подготовлен на основании релиза *.0251)
Рано или поздно вы можете столкнуться с такой вот “проблемой” – Значение поля “КОД” не уникально
но позвольте – в карточке товара (справочник “Номенклатура”) нет на виду поля КОД, что делать ?
Как же так ?
Все очень; просто , на этапе программирования – программе дали указание – АВТОНУМЕРАЦИЯ (т.е. код следующий по порядку присваивается самой программой)
А почему перестала работать АВТОНУМЕРАЦИЯ ?
А вот с этим нужно разбираться – случаи бывают разные !
1. На 99 % кто то “залез ручками” не туда куда следовало (загрузка кодов внешней обработкой например)
откроем форму списка “Справочника Номенклатура” – отключим иерархию – чтобы группы и элементы были в общем списке
Обязательно – добавим сортировку по КОДУ
и теперь листая справочник сверху вниз – мы найдет – коды которые “отличаются” от других
в данном пример , код “999” код справочника у нас “СТРОКА” и программа не может придумать “1000” она всегда будет присваивать “999” ,а он уже занят и поэтому будет ошибка!
1 вариант решения – просто исправить код на правильный и восстановить последовательность кодов (автонумерация будет работать дальше)
Открываем карточку – кликаем по полю НАИМЕНОВАНИЕ (для редактирование кода)
и пишем следующий ПРАВИЛЬНЫЙ КОД по списку (по возрастанию)
а теперь проверим – автонумерация восстановлена. Все работает как нужно.
А если, если – мы много много товара загрузили с “неправильными кодами” – все менять не времени , ни желания уже нет (((
Открываем Служебные ” РИБ – обмен между складами” (даже если вы не работаете с РИБ)
и у Центральной (ТЕКУЩАЯ база (иконка с шариком) меняем префикс (для справочников или для документов)
Сохраняем и проверяем. Программа начала новый отсчет !
первый признак – номер документа постоянно один и то же присваивается для НОВОГО документа и не дает записать (только если вручную код изменить)
Обновить нумерацию объектов ()
Начиная с *.0262 релиза – данная обработка в составе конфигурациии
теперь одним кликом – если у вас есть права АДМИНИСТРАТОРА(и не нужно никого звать и решать данную “проблему”)
ГЛАВНОЕ ОКНО – АДМ.ПАНЕЛЬ
Значение поля “Код” (“Номер”) не уникально
Что делать, если при создании объектов информационной базы встречается ошибка «Значение поля «Код» не уникально» (для документов – значение поля «Номер»)?
Обычно это связано с тем, что код редактируемого справочника (номер документа) был некорректно отредактирован вручную.
Для устранения ошибки необходимо воспользоваться обработкой «УниверсальныеПодборкиИОбработкаОбъектов» (можно найти на диске ИТС).
В поле «Объект поиска» необходимо указать нужный объект (справочник/документ). На закладке «Отбор по значениям реквизитов» можно осуществить отбор (в нашем случае установим отбор по коду):
При нажатии кнопки «Найти объекты» закладка «Найденные объекты» заполнится объектами, удовлетворяющими условиям отбора:
На закладке «Обработки» необходимо выбрать обработку «Перенумерация объектов». В шапке обработки указывается наименование настройки и начальный номер, с которого будет выполнена нумерация. Запуск обработки производится по нажатию кнопки «Выполнить».
После завершения обработки можно проверить измененный код в справочнике «Жильцы», а также добавить для проверки новые записи.
Материалы по теме
Ошибка возникает в том случае, когда выполняется попытка сохранить объект (элемент или группу справочника, плана видов характеристик и т.п.) с кодом, который уже имеется в информационной базе. В большинстве случаев при интерактивной работе, достаточно изменить код объекта вручную (увеличив на единицу) и попытаться сохранить его снова.
Но есть особые случаи, когда такой способ решения проблемы не поможет: например, когда диапазон номеров, выделенных для данного справочника, закончился. В этом случае текст ошибки будет выглядеть так: «Значение 999 поля код не уникально». В этом случае рекомендуется выполнить следующие действия:
- Попытаться высвободить свободные коды, удалив помеченные на удаление объекты;
- Затем, выполнить процедуру перенумерации объектов (справочника, плана видов характеристик и т.п.) и вызвать программно метод ОбновитьНумерациюОбъектов() для проблемного объекта метаданных;
- Если не помогло, увеличить в конфигураторе длину кода объекта метаданных (справочника, плана видов характеристик и т.п.) и также программно вызвать метод ОбновитьНумерациюОбъектов() для проблемного объекта метаданных;