Подскажите как программно установить проверку уникальности кода в справочни #12510


#0 by Platon
Необходимо изменить коды в одной из групп справочника но чтобы они были уникальны для всего справочникавопрос как это сделать. Метод УстановитьНовыйКод(<префикс>) не проверяет на уникальность во всём справочнике по крайней мере если цикл внутри группы
#1 by Diter
Не может такого быть. чтобы УстановитьНовыйКод давал дубль кода. Проверь ещё раз.
#2 by Diter
Может у тебя уже выбрана разрядность кода (число символов в коде)?
#3 by Platon
Я проверил и УстановитьНовыйКоддействительно присвоил существующий код. Наверное дело в том что если присваиваеш код после ИспользоватьРодителя то он и контролирует уникальность внутри родителя. Но как с этим боротся? :(
#4 by Diter
Как у тебя стоит уникальность кода в конфигураторе? В пределах подчинения или сквозная?
#5 by Diter
Всётаки проверь
#6 by Platon
Разрядность кода по моему устанавливается толи по коду группы толи по коду первого элемента. Я меняю коды у уже существующих элементов с кодом тоже на 52.
#7 by Шмисный
у тя проблемы....
#8 by Diter
Ты не понял. Сколько у тебя символов разрешено в коде? Сколько занято сейчас? Может у тебя просто некуда добавлять "52" с сохранением уникальности.
#9 by F427
фигня какая то (с) Бекас...
#10 by Platon
Да нет хватит. В справочнике элементов примерно 8000 из них чуть меньше 3000 с префиксом 52  а общая длина кода 8 символов т.е. ещё примерно 7000 кодов можно сгенерить с сохранением уникальности  только с префиксом 52 т.е. 52****
#11 by Diter
Тип кода?
#12 by Platon
Текстовый
#13 by Diter
Раз тип текстовый, то разрядность у тебя  при вводе префикса номера уменьшается на два символа. Т.е. вместо 8 получается 6. если первые две цифры не "00" то будет возникать косяк с кодом (точнее с его уникальностью).
#14 by Platon
Похоже остаётся один вариант я сперва отключу контроль уникальности потом назначу всем элементам код равный "" затем в новом цикле назначу новый код как мне надо и потом в новом цикле проверю уникальность т.е если в друих родителях попадётся ещё одинаковый код то я снова изменяю код только у одного элемента Может можно проще?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям