поле код не уникально в пределах номенклатура
Значение поля «Код» («Номер») не уникально
Что делать, если при создании объектов информационной базы встречается ошибка «Значение поля «Код» не уникально» (для документов – значение поля «Номер»)?
Обычно это связано с тем, что код редактируемого справочника (номер документа) был некорректно отредактирован вручную.
Рассмотрим для наглядности пример. Для некоего справочника допустимая длина кода – 9 символов. В справочнике были созданы и стандартным образом пронумерованы элементы «000000001», «000000002», …, «000000086». Если в следующем элементе указать, например, номер «90», то программа, во-первых, автоматически дополнит указанный номер справа пробелами до 9 символов (получится «90_______» – справа 7 пробелов), во-вторых, «поймет» новый способ нумерации и следующим элементам присвоит коды «91_______», «92_______» и т.д. (те же 7 пробелов справа). После записи элемента с кодом «99_______» последующая автоматическая нумерация будет невозможна, поскольку следующий номер, сформированный по этому правилу («100_______»), не будет умещаться в допустимые 9 символов.
Для устранения ошибки необходимо воспользоваться обработкой «УниверсальныеПодборкиИОбработкаОбъектов» (можно найти на диске ИТС).
В поле «Объект поиска» необходимо указать нужный объект (справочник/документ). На закладке «Отбор по значениям реквизитов» можно осуществить отбор (в нашем случае установим отбор по коду):
При нажатии кнопки «Найти объекты» закладка «Найденные объекты» заполнится объектами, удовлетворяющими условиям отбора:
На закладке «Обработки» необходимо выбрать обработку «Перенумерация объектов». В шапке обработки указывается наименование настройки и начальный номер, с которого будет выполнена нумерация. Запуск обработки производится по нажатию кнопки «Выполнить».
После завершения обработки можно проверить измененный код в справочнике «Жильцы», а также добавить для проверки новые записи.
Ошибка в 1С: Значение поля Код не уникально
Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.
Причиной является неправильная нумерация в справочнике. Происходит это когда пользователи вручную редактирует поле “Код” в элементах справочника.
Принцип нумерации справочника в 1С такой:
Код = Префикс+числовой код предыдущего элемента + 1.
Допустим код справочника состоит из 4-х символов, есть префикс “А” — он ставиться во всех элементах, остальные 3 знака используются под числовую составляющую кода. Если пользователь изменит код любого элемента справочника на “А999”, то при создании следующего элемента возникнет ошибка Значение поля “Код” не уникально, потому что система пытается прибавить к числовой составляющей кода единица, но разрядов для создания элемента с кодом А1000 не хватает. Такого рода ошибки могут всплыть не сразу, например если пользователь изменить код какого нибудь элемента на А990, то не уникальный код появится на десятом созданном впоследствии элементе.
Решить проблему можно, либо найдя неверно пронумерованный элемент и исправив его “Код” на корректный(а также перенумеровав все созданные после него элементы), либо если вручную эту работу проделать невозможно, то можно воспользоваться обработкой УниверсальныеПодборИОбработкаОбъектов (скачать можно по ссылке), при помощи нее перенумеровав все элементы справочника
1с установитьновыйномер не уникально
Если установка нового номера ( УстановитьНовыйНомер() ) или кода ( УстановитьНовыйКод() ) вызывается в транзакции, то при откате транзакции у объекта происходит возврат к значению номера/кода, соответствующему началу транзакции.
Рассмотрим следующую ситуацию:
Для иллюстрации этой ситуации потребуется выполнить следующий код:
Результат выполнения этого кода в предыдущей и новой версии платформы представлен в следующей таблице:
При работе в 1С, особенно когда много документов или номера редактируются ручками, можно получить ошибки вида:
Значение поля «Код» не уникально или Значение поля «Номер» не уникально
Что делать? Перенумеровывать
Нужно восстановить нумерацию документов или элементов справочника:
Пользователю
Программисту:
В модуле ПередЗаписью() дописать функционал проверки:
Ошибка возникает при создании нового документа. При записи программа 1С 8.3 автоматически присваивает элементу новый номер, но сохранить новые данные не может, где-то в журнале документов уже есть объект с таким же номером.
Причиной этой ошибки чаще всего служит ручное исправление номеров документов.
Значение поля «Номер» не уникально 1с 8.3
Программа 1С сообщает пользователю, что номер 0000-0006 уже существует.
Нумерация документов в программе осуществляется автоматически. При этом, каждому новому документу присваивается номер в хронологическом порядке, который состоит из определенного количества цифр.
В 1С:Бухгалтерия предприятия 3.0, номер состоит из двух частей:
В том случае, если пользователь начинает изменять нумерацию вручную или случайно изменил номер, сбив при этом нумерацию документов, программа продолжает нумерацию от номера, содержащего меньшее количество знаков. Изначально, мы видим, что в 1С заложено для номера документа:
Таким образом, сам номер может принимать значение от 0000-000001 до 0000-999999. Если пользователь вручную сокращает длину номера, то она продолжает нумерацию от нового значения. При внесении изменения в префикс, нумерация все равно продолжается от последнего номера, содержащего наименьшее количество знаков. В нашем примере при сбое в нумерации она продолжилась, используя под номер 4 знака: 0000-0005, 0000-0006 и т.д.
В базе уже есть номер 0000-0006, поэтому при попытке ввести его повторно, программа выдаст сообщение о том, что значение поля номер 0000-0006 не уникально.
Рассмотрим ситуацию далее.
Что произойдет, если пользователь сократит числовой резерв для номера до двух или, куда хуже, до одного знака?
Программа 1С будет присваивать номера до тех пор, пока не будет пройден последний максимальный номер. Например, изменив вручную в документе номер на 0000-01, программа сможет автоматически присвоить всего 99 номеров. После номера 0000-99 возможность автоматической нумерации документов закончится и придется каждый раз исправлять номер вручную
После номера 0000-99 при вводе каждого нового документа будет выдаваться сообщение, что значение номера 0000-99 не уникально.
Когда пользователь сокращает длину номера документа (договора и т.п.) — это приводит к сбою нумерации. Поэтому, если возникает необходимость изменить номер документа вручную, надо использовать максимально допустимое число символов.
Как поступить в случае появления такой ошибки? В первую очередь, необходимо просмотреть нумерацию документов. В случае, если исправленных документов было не много, значение номера можно изменить вручную, добавив нужное количество нулей перед значением. При попытке изменить номер, программа выдаст сообщение о редактировании номера, на что мы отвечаем:
После этого добавляем нули перед значением номера.
После приведения в порядок нумерации, ошибка появляться не будет.
Если исправлений в номерах было много, то можно воспользоваться обработкой для автоматической перенумерации объектов.
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
Разделы: | Законодательство (ЗУП), Зарплата (ЗУП), Кадры (ЗУП), Настройки (ЗУП) |
---|---|
Рубрика: | Ошибки в 1С |
Объекты / Виды начислений: | |
Последнее изменение: | 13.04.2019 |
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться или зарегистрироваться.
Вы можете задать еще вопросов
Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8.
Оформить заявку от имени Юр. или Физ. лица вы можете здесь >>
Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>
Программная запись нового элемента справочника падает с ошибкой: Значение «00-00000680» поля «Код» не уникально
УТ 11.4.
Ситуация: копия базы, тест нового функционала.
В новом функционале есть программное создание партнера (Справочник Партнеры)
При выполнении кода
вылетает исключение: Значение «00-00000680» поля «Код» не уникально.
С интерактивной записью нового партнера такая же проблема.
Ранее такое бывало на копиях баз, при записи новых документов (не уникален номер). Решал простым кодом:
Пока писал вопрос, проблема стала не актуальной. Решил не удалять, мб кому поможет
Пока писал вопрос, проблема стала не актуальной. Решил не удалять, мб кому поможет
У меня именно такая ситуация.
Глобальный контекст (Global context)
ОбновитьНумерациюОбъектов (RefreshObjectsNumbering)
Синтаксис:
ОбновитьНумерациюОбъектов( )
Параметры:
(необязательный)
Видимо не совсем корректно копируется нумерация.
Думаю, что выданные номера лежат где нибудь в кэше и периодически записываются в БД.
и так до номера 101
А проблема в том что последний выданный номер (перед записью документа) 1с ищет в кэше/ таблице_1 БД, а проверка уникальности выданного номера идет по таблица_2 БД.
Грубо говоря, таблица_1 БД это СрезПоследних по таблице_2 БД. И Таблица_1 БД иногда получает рассинхрон с таблицей_2 БД (из за того что не сразу в нее пишется инфа, а в кэш).
Значение поля номер не уникально 1С 8.3: как исправить
Ошибка возникает при создании нового документа. При записи программа 1С 8.3 автоматически присваивает элементу новый номер, но сохранить новые данные не может, где-то в журнале документов уже есть объект с таким же номером.
Причиной этой ошибки чаще всего служит ручное исправление номеров документов.
Значение поля «Номер» не уникально 1с 8.3
Программа 1С сообщает пользователю, что номер 0000-0006 уже существует.
Нумерация документов в программе осуществляется автоматически. При этом, каждому новому документу присваивается номер в хронологическом порядке, который состоит из определенного количества цифр.
В 1С:Бухгалтерия предприятия 3.0, номер состоит из двух частей:
В том случае, если пользователь начинает изменять нумерацию вручную или случайно изменил номер, сбив при этом нумерацию документов, программа продолжает нумерацию от номера, содержащего меньшее количество знаков. Изначально, мы видим, что в 1С заложено для номера документа:
Таким образом, сам номер может принимать значение от 0000-000001 до 0000-999999. Если пользователь вручную сокращает длину номера, то она продолжает нумерацию от нового значения. При внесении изменения в префикс, нумерация все равно продолжается от последнего номера, содержащего наименьшее количество знаков. В нашем примере при сбое в нумерации она продолжилась, используя под номер 4 знака: 0000-0005, 0000-0006 и т.д.
Получите понятные самоучители 2021 по 1С бесплатно:
В базе уже есть номер 0000-0006, поэтому при попытке ввести его повторно, программа выдаст сообщение о том, что значение поля номер 0000-0006 не уникально.
Рассмотрим ситуацию далее.
Что произойдет, если пользователь сократит числовой резерв для номера до двух или, куда хуже, до одного знака?
Программа 1С будет присваивать номера до тех пор, пока не будет пройден последний максимальный номер. Например, изменив вручную в документе номер на 0000-01, программа сможет автоматически присвоить всего 99 номеров. После номера 0000-99 возможность автоматической нумерации документов закончится и придется каждый раз исправлять номер вручную
После номера 0000-99 при вводе каждого нового документа будет выдаваться сообщение, что значение номера 0000-99 не уникально.
Когда пользователь сокращает длину номера документа (договора и т.п.) — это приводит к сбою нумерации. Поэтому, если возникает необходимость изменить номер документа вручную, надо использовать максимально допустимое число символов.
Как поступить в случае появления такой ошибки? В первую очередь, необходимо просмотреть нумерацию документов. В случае, если исправленных документов было не много, значение номера можно изменить вручную, добавив нужное количество нулей перед значением. При попытке изменить номер, программа выдаст сообщение о редактировании номера, на что мы отвечаем:
После этого добавляем нули перед значением номера.
После приведения в порядок нумерации, ошибка появляться не будет.
Если исправлений в номерах было много, то можно воспользоваться обработкой для автоматической перенумерации объектов.
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
(3 оценок, среднее: 4,67 из 5)
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>
Спасибо! Очень подробно и понятно все изложено, ваш труд- это огромная помощь в моей работе. Спасибо вам за это.
Вы можете задать еще вопросов
Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>