12.08.2013, 14:10 | #1 |
MCT
|
Как найти номерную серию документа или справочника Dynamics AX 2012
Коллеги, в нашем перегруженном фреймворками и прочими воркэраундами мире иногда хочется получить ответ на достаточно простые вопросы
Ну например, где та номерная серия, которая генерит подразделения (операционные единицы). Начинаем исследовать наследование таблиц.... Так вот, что бы не тратить много времени на изыскания предлагаю достаточно, на мой взгляд простой путь - поставить breakpoint в метода класса NumberSeqReference.findReference(). В этот метод мы попадаем по любому при генерации нового номера документа или справочника. Далее в на значение поля NumberSequenceId. В случае генерации подразделения мы попадем в этот метод два раза. Нам нужен именно второй вызов.
__________________
Axapta book for developer |
|
|
За это сообщение автора поблагодарили: mazzy (2), slava (1), macklakov (1), Atar (1). |
13.08.2013, 12:47 | #2 |
Участник
|
Мне кажется, это частное решение. Ведь NumberSeqReference.findReference() предполагает поиск через таблицу ссылок. Через EDT. Но, выбор номерной серии может выполняться и прямым указанием кода этой самой номерной серии (складские журналы, кассовые операции)
По-моему, лучше ловить собственно код номерной серии в методе NumberSeq.getNumInterval(). Входной параметр этого метода именно то, что мы ищем. Собственно код номерной серии. Впрочем, это я по Ax2009. Может, в Ax2012 что-то изменилось...
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: mazzy (2), Atar (1). |
13.08.2013, 19:15 | #3 |
Участник
|
В AX 2012 для номерных серий появился scope - эдакая область действия. Как и многое другое в 12-ке, scope обычно формируется "опосредованно" вне рамок кода, которому нужно сгенерить номер, через всякие там фабрики, и зачастую проблема даже не найти код конкретной номерной серии, а отладить то, почему для того или иного EDT не находится ссылка на номерную серию, и с каким scope'ом ее надо настроить, чтобы ссылка-таки находилась. Иными словами, если в 12-ке дело дошло до NumberSeq.getNumInternal(), то обычно уже искать ничего и не нужно.
Последний раз редактировалось gl00mie; 13.08.2013 в 19:18. |
|
Теги |
как найти, как правильно, полезное |
|
|