1с при обновлении код счета не уникален

Ошибка в 1С: Значение поля Код не уникально

Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

Причиной является неправильная нумерация в справочнике. Происходит это когда пользователи вручную редактирует поле “Код” в элементах справочника.

Принцип нумерации справочника в 1С такой:

Код = Префикс+числовой код предыдущего элемента + 1.

Допустим код справочника состоит из 4-х символов, есть префикс “А” — он ставиться во всех элементах, остальные 3 знака используются под числовую составляющую кода. Если пользователь изменит код любого элемента справочника на “А999”, то при создании следующего элемента возникнет ошибка Значение поля “Код” не уникально, потому что система пытается прибавить к числовой составляющей кода единица, но разрядов для создания элемента с кодом А1000 не хватает. Такого рода ошибки могут всплыть не сразу, например если пользователь изменить код какого нибудь элемента на А990, то не уникальный код появится на десятом созданном впоследствии элементе.

Решить проблему можно, либо найдя неверно пронумерованный элемент и исправив его “Код” на корректный(а также перенумеровав все созданные после него элементы), либо если вручную эту работу проделать невозможно, то можно воспользоваться обработкой УниверсальныеПодборИОбработкаОбъектов (скачать можно по ссылке), при помощи нее перенумеровав все элементы справочника

Источник

Ошибка “значение поля Код не уникально”

Попробуем разобраться, почему появляется и как исправить ошибку: значение поля Код не уникально при обновлении 1С 8.3 (разновидности ошибки могут быть со значениями 002024, 002071 либо другими).

Она появляется когда мы создадим новый документ в 1с 8.3. Cистема присваивает новое значение элементу в автоматически, то есть в режиме автонумерации.

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

1с при обновлении код счета не уникален. 2019 11 20 22 20 58. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-2019 11 20 22 20 58. картинка 1с при обновлении код счета не уникален. картинка 2019 11 20 22 20 58. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

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

В случае, если вручную элементу справочника будет присвоено значение «А999», при попытке создания следующего элемента отобразится ошибка «значение 999 поля код не является уникальным».

Причина заключается в том, что система пытается прибавить единицу к числу 999, но для получающегося в результате прибавления значения «А1000» не достает разрядов.

Данный вид ошибки может проявиться не сразу. Например, пользователь создал значение «А985». В таком случае, сообщение об не уникальном коде появиться на пятнадцатом по счету элементе, после упомянутого.

Решение проблемы заключается в поиске ошибочно пронумерованного элемента и исправления его на адекватный. Этот способ подразумевает смену нумерации кода и у всех последующих за ним элементов.

Упростить задачу, можно используя автоматическую обработку справочника, исправляющую коды нужных элементов, об этом ниже.

Как починить?

Для устранения используем обработку вида «УниверсальныеПодборкиИОбработкаОбъектов» (нужен диск ИТС).

Выберем вкладку «Перенумерация объектов». Нужно указывается наименование настройки и стартовое значени, с которого нужно нумеровать. Нажать “Выполнить” и запустить обработки нумерации. Все должно работать!

1с при обновлении код счета не уникален. 2021 04 20 19 11 03. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-2021 04 20 19 11 03. картинка 1с при обновлении код счета не уникален. картинка 2021 04 20 19 11 03. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

Если все же ошибку устранить не получается – звоните мы поможем!

Источник

Значение поля Номер не уникально

Посмотрите что за номер 1с генерит перед записью документа, может станет ясно куда смотреть

Глобальный контекст (Global context)
ОбновитьНумерациюОбъектов (RefreshObjectsNumbering)
Синтаксис:

Тип: Массив; Объекты метаданных.
Объект метаданного или массив объектов метаданных, для объектов которого будет выполнено обновление. Если значение параметра не указано, то обновление будет выполнено для всех типов объектов.
Описание:

Выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность. Данный метод разрешено вызывать только администратору системы.

Сервер, толстый клиент, внешнее соединение.

(плюс заполнение всех необходимых реквизитов, не стал писать)
И до некоторых пор это работало без сбоев.

Да, и сбой проявлялся последовательно.
Сначала в одной из обработок создавалась пара Списание-Оприходование, Оприходование стало отказывать в записи с этой ошибкой.
Затем еще одна обработка, которая создавала Реализацию-Поступление, Реализация стала вылетать.
Закономерность не ясна.
Оприходование после подобного передергивания глючить перестало. Надо попробовать, может и реализацию тоже уже не нужно так дергать.

Коллеги, столкнулся с этим и нашел возможное решение.

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

Источник

Особенности кода счета в 1С:Предприятии 8


Код счета

Код счета хранится в информационной базе в том виде, в котором был введен. Исключение составляет хранение кода счета в условиях, когда маска кода счета содержит символы “@”. В этом случае группа знаков кода, для которой в маске стоят символы “@”, упаковывается – из нее вырезаются пробелы.

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

Перед началом редактирования счета в плане счетов, код счета распаковывается до вида, подходящего под маску. После окончания редактирования код счета упаковывается.

Рассмотрим пример упаковки – распаковки кода счета. Пусть есть некоторый план счетов, для которого указано:

Выполним следующие действия:

Порядок счета

В информационной базе порядок счета хранится в том виде, в котором был задан. Задавать порядок счета можно только в том случае, если длина поля Порядок больше нуля.

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

Если маска кода счета состоит только из символов «@» и «.», можно автоматически сформировать поле Порядок. Это можно сделать в обработчике события ПередЗаписью() с помощью метода ПолучитьПорядокКода():

Процедура ПередЗаписью(Отказ)
Порядок = ПолучитьПорядокКода();
КонецПроцедуры

При формировании порядка счета функция ПолучитьПорядокКода() за основу берет код счета. В пределах групп номера счета символы кода счета сдвигаются вправо, дополняясь слева необходимым количеством пробелов.

Рассмотрим два примера:
1) Код счета: «10.12»
Маска кода счета: «@@@.@@@.@@»
Сформированный прядок счета: » 10. 12″

2) Код счета: «10.5»
Маска кода счета: «@@@.@@@.@@»
Сформированный прядок счета: » 10. 5″

Свойство АвтоПорядокПоКоду

Свойство АвтоПорядокПоКоду используется для подмены упорядочивания по полю Код упорядочиванием по полю Порядок. Упорядочивание по полю Порядок в этом случае используется как, например, в формах списков счетов, так и в процессе формирования запросов.

Пример использования свойства АвтоПорядокПоКоду в форме списка счетов

1с при обновлении код счета не уникален. i800031. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-i800031. картинка 1с при обновлении код счета не уникален. картинка i800031. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.
На рисунке видно, что в качестве колонки, по которой идет сортировка, отмечена колонка Код. Однако реально для сортировки используются данные из поля Порядок.

1с при обновлении код счета не уникален. i800032. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-i800032. картинка 1с при обновлении код счета не уникален. картинка i800032. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.
На рисунке видно, что сортировка данных не изменилась. Это действительно так, поскольку свойство АвтоПорядокПоКоду включено.

Если же свойство АвтоПорядокПоКоду выключить, то сортировка будет выполняться иначе:

1с при обновлении код счета не уникален. i800034. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-i800034. картинка 1с при обновлении код счета не уникален. картинка i800034. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.
На рисунке видно, что сортировка выполнена по полю Порядок.

1с при обновлении код счета не уникален. i800035. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-i800035. картинка 1с при обновлении код счета не уникален. картинка i800035. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.
На рисунке видно, что порядок следования счетов сменился и упорядочивание происходит по полю Код.

Пример использования свойства АвтоПорядокПоКоду в запросе

Пусть есть следующие счета:

Код Наименование Порядок
3.3.3 Счет 3.3.3 1
2.2.2 Счет 2.2.2 2
1.1.1 Счет 1.1.1 3

Выполним следующий запрос:

ВЫБРАТЬ
ПланСчетов1.Код КАК Код,
ПланСчетов1.Наименование,
ПланСчетов1.Порядок
ИЗ
ПланСчетов.ПланСчетов1 КАК ПланСчетов1

УПОРЯДОЧИТЬ ПО
Код

1с при обновлении код счета не уникален. i8000313. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-i8000313. картинка 1с при обновлении код счета не уникален. картинка i8000313. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

На этом примере видно, что в случае упорядочивания по полю Код вместо него используется поле Порядок.

Источник

Значение поля «Код» («Номер») не уникально

Что делать, если при создании объектов информационной базы встречается ошибка «Значение поля «Код» не уникально» (для документов – значение поля «Номер»)?

1с при обновлении код счета не уникален. image001. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-image001. картинка 1с при обновлении код счета не уникален. картинка image001. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

1с при обновлении код счета не уникален. image002. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-image002. картинка 1с при обновлении код счета не уникален. картинка image002. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

Обычно это связано с тем, что код редактируемого справочника (номер документа) был некорректно отредактирован вручную.

Рассмотрим для наглядности пример. Для некоего справочника допустимая длина кода – 9 символов. В справочнике были созданы и стандартным образом пронумерованы элементы «000000001», «000000002», …, «000000086». Если в следующем элементе указать, например, номер «90», то программа, во-первых, автоматически дополнит указанный номер справа пробелами до 9 символов (получится «90_______» – справа 7 пробелов), во-вторых, «поймет» новый способ нумерации и следующим элементам присвоит коды «91_______», «92_______» и т.д. (те же 7 пробелов справа). После записи элемента с кодом «99_______» последующая автоматическая нумерация будет невозможна, поскольку следующий номер, сформированный по этому правилу («100_______»), не будет умещаться в допустимые 9 символов.

Для устранения ошибки необходимо воспользоваться обработкой «УниверсальныеПодборкиИОбработкаОбъектов» (можно найти на диске ИТС).

1с при обновлении код счета не уникален. image003. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-image003. картинка 1с при обновлении код счета не уникален. картинка image003. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

В поле «Объект поиска» необходимо указать нужный объект (справочник/документ). На закладке «Отбор по значениям реквизитов» можно осуществить отбор (в нашем случае установим отбор по коду):

1с при обновлении код счета не уникален. image004. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-image004. картинка 1с при обновлении код счета не уникален. картинка image004. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

При нажатии кнопки «Найти объекты» закладка «Найденные объекты» заполнится объектами, удовлетворяющими условиям отбора:

1с при обновлении код счета не уникален. image005. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-image005. картинка 1с при обновлении код счета не уникален. картинка image005. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

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

1с при обновлении код счета не уникален. image006. 1с при обновлении код счета не уникален фото. 1с при обновлении код счета не уникален-image006. картинка 1с при обновлении код счета не уникален. картинка image006. Такая ошибка возникает при добавлении нового элемента справочника, система автоматически присваивает элементу новый “Код”, но не дает сохранить объект.

После завершения обработки можно проверить измененный код в справочнике «Жильцы», а также добавить для проверки новые записи.

Источник

Добавить комментарий

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