|
![]() |
#1 |
MCTS
|
Цитата:
Eldar9x как в итоге решили вопрос с 'удалением' ведущих нулей?
X++: BrendId genBrendId() { NumberSeq NumberSeq; str 4 prefx = "ПОС."; Num num; ; do { numberSeq = NumberSeq::newGetNum(CompanyInfo::tmn_numRefBrendId(), true); if (!numberSeq) throw checkFailed("Не задана номерная серия для Бренда в параметрах УЗ."); num = numberSeq.num(); numberSeq.used(); } while (BrendTable::exist(prefx + num)); return prefx + num; } Формат номерной серии - пустой. |
|
![]() |
#2 |
Участник
|
Цитата:
Как-то не совсем красиво, если только нет твердой уверенности что ничего не поменяется в политике формирования номеров. Может есть еще какие-то варианты?
__________________
Dynamics AX 4.0 SP2 |
|
![]() |
#3 |
Участник
|
Все нижеследующее можно считать в некоторой степени оффтопом относительно номерных серий в контексте данной темы. Не затрагивая вопрос практической необходимости такого поведения номерных серий (аргументы изложены участниками выше по теме), в качестве одного из вариантов решения такой задачи можно рассматривать расширение числа спец.символов формата(шаблона) с которыми работает номерная серия. В штатной функциональности класса NumberSeq использованы 2 символа:
Можно расширить набор специальных символов формата(шаблона) 'необязательными' знаками, к примеру:
![]() Как уже упоминалось выше по теме нужно будет внести некоторые модификации в код ряда методов класса NumberSeq. на вскидку это:
Для упрощения обработки в классе NumberSeq можно допустить некоторую условность: необязательные символы шаблона должны находиться левее обязательных в шаблоне номерной серии ('PREFIX_$$$$$#') - проверку пользовательского ввода можно организовать на NumberSequenceTable.validateField() или NumberSequenceTable.validateWrite() В целях тестового примера подобной реализации набросал в первом приближении небольшой проект по описанным выше пунктам. В проект выгружены только изменения на USR слое с приложения Axapta 3.0 SP5 (адаптировать для Dynamics Ax 4.0, если кому-то потребуется, думаю не составит труда - изменений не много, помечены комментариями 'NumberSeqOptional'). P.S. Проект НЕ претендует на 'готовое' решение. |
|
|
За это сообщение автора поблагодарили: petr (3), aidsua (1), in.dc (1). |
Теги |
download, faq, законченный пример, номерная серия, нули, нумерация, полезное, пример |
|
![]() |
||||
Тема | Ответов | |||
Номерная серия,,, превышена. | 28 | |||
Номерная серия | 11 | |||
Номерная серия общая для всех компаний! | 13 | |||
Номерная серия в виртуальной компании | 2 | |||
Номерная серия требование-накладная | 2 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|