![]() |
#4 |
Участник
|
Цитата:
Сообщение от Zabr
![]() Вариант 1: сделать редактируемое поле фильтра прямо на форме - не удается сделать, т.к. не ясно какой расширенный тип данных использовать для выбора группы из выпадающего списка. Ведь таблица UserGroupInfo - системная, и в свойстах тип данных не отображается. В списке расширенных типов ничего подходящего не нашел. Косвенное подтверждение невозможности это сделать - отсутствие в интерфейсе каких-либо мест, где бы группа пользователей именно выбиралась в поле из выпадающего списка, а не перетаскивалась мышкой, как в настройке прав.
Цитата:
Сообщение от Zabr
![]() Вариант 2: использовать стандартный расширенный фильтр. Для этого добавляю на форму еще 2 датасорса: sysuserinfo и usergroupinfo, но ничего не выходит. Как их нужно связать, чтобы можно было использовать стандартный фильтр? В фильтре эти датасорсы видны, только если джойнить их по inner-join, но тогда в гриде полная фигня ("размножаются" записи), а если джойнить другими способами - в расширенном фильтре этих таблиц не видно.
Связано это с тем, что для определения названия таблиц используется функция tableId2Name(), которая для системных возвращает пустую строку. Собственно, допиливание заключается в замене вызова этой функции на использование DictTable, т.е. X++: DictTable dt; ... dt = new DictTable(relatedTableId); xRefTableRelation.relatedTableName = dt.name(); //вместо //xRefTableRelation.relatedTableName = tableId2Name(relatedTableId); Для корректной работы формы расширенного фильтра, такую же процедуру необходимо проделать в методе tableLabel() таблицы TmpSysTableField X++: static public LabelType tableLabel(TableId _tableId) { LabelType labelType = tableId2pName(_tableId); DictTable dt; ; if (!labelType) { dt = new DictTable(_tableId); labelType = dt.name(); // labelType = tableId2Name(_tableId); } return labelType; } Добавлять новые датасорсы на существующие формы не надо. Достаточно будет сделать это стандартным способом: непосредственно в фильтре по правой кнопке мышки
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: Zabr (2), sukhanchik (5), Logger (3), plumbum (1). |