19.11.2015, 10:23 | #1 |
Участник
|
Фильтр на поле диалога
Поле диалога- расширенный тип по таблице.
Задача накладывать на него фильтр в зависимости от другого поля. Событие изменения другого поля знаю, а фильтр как наложить? |
|
19.11.2015, 10:26 | #2 |
Гость
|
Например можно lookup сделать свой на фильтруемое поле.
|
|
19.11.2015, 10:33 | #3 |
MCITP
|
Цитата:
Множество подобных примеров можно найти в системе. Более точный ответ зависит от используемого вами инструмента (RunBase, SysOperation, просто Dialog?).
__________________
Zhirenkov Vitaly |
|
19.11.2015, 10:36 | #4 |
Участник
|
|
|
19.11.2015, 10:39 | #5 |
Участник
|
|
|
19.11.2015, 10:50 | #6 |
Участник
|
Для DAX 2012:
Метод registerOverrideMethod для DialogField. Dynamics AX custom lookup in dialog Для предыдущих версий - не верю, чтобы этой информации не было ранее изложено на форуме: Перекрыть dialogPostRun X++: public void dialogPostRun(DialogRunbase _dialog) { ; super(_dialog); _dialog.dialogForm().formRun().controlMethodOverload(true); _dialog.dialogForm().formRun().controlMethodOverloadObject(this); } X++: dlgFld = new DialogField(dialog, IdentifierName, FieldId); // где FieldId выдуманный ID поля dlgFld.init(dialog); X++: protected boolean fld***_1_modified() // где *** это выдуманный FieldId { ... return true; } Последний раз редактировалось Товарищ ♂uatr; 19.11.2015 в 11:01. |
|
|
За это сообщение автора поблагодарили: Alucardkds (1). |
19.11.2015, 11:00 | #7 |
Участник
|
|
|
19.11.2015, 11:03 | #8 |
Участник
|
Цитата:
Сообщение от Товарищ ♂uatr
Для DAX 2012:
Метод registerOverrideMethod для DialogField. Dynamics AX custom lookup in dialog Для предыдущих версий - не верю, чтобы этой информации не было ранее изложено на форуме: Перекрыть dialogPostRun X++: public void dialogPostRun(DialogRunbase _dialog) { ; super(_dialog); _dialog.dialogForm().formRun().controlMethodOverload(true); _dialog.dialogForm().formRun().controlMethodOverloadObject(this); } X++: dlgFld = new DialogField(dialog, IdentifierName, FieldId); // где FieldId выдуманный ID поля dlgFld.init(dialog); X++: protected boolean fld***_1_modified() // где *** это выдуманный FieldId { ... return true; } |
|
19.11.2015, 11:08 | #9 |
MCITP
|
Можно делать это двумя способами
Если у вас 2012, то примеры: - Class BudgetTransactionMultiPost - способ, более привычный для старых версий, ключевой метод dialogPostRun() - Class CustPaymReconciliationImport_SE_BGAG - более модный способ через регистрацию обработчиков
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: Start (1). |
19.11.2015, 11:10 | #10 |
MCITP
|
Очевидно не там. Это делается один раз после создания диалога.
__________________
Zhirenkov Vitaly |
|
19.11.2015, 11:10 | #11 |
Участник
|
Цитата:
Исходя из описания задачи: http://devexpp.blogspot.com.br/2012/...om-lookup.html и добавить условия по значению ключевого поля. Последний раз редактировалось Товарищ ♂uatr; 19.11.2015 в 11:21. |
|
|
За это сообщение автора поблагодарили: Start (1). |
19.11.2015, 16:32 | #12 |
Участник
|
|
|