![]() |
#21 |
Axapta
|
Энум - конкретный. В "контроле ЕДТ" выбираются записи в какой-то таблице (таблицах), но в лукапе отображаются не все записи, а отобранные по какому-то алгоритму исходя из значения, выбранного в поле с энумом. А потом уже по значению, выбранному в "контроле ЕДТ", фильтруем записи на форме. Вот как-то так.
Пример: энум - тип номенклатуры. В лукапе должны отображаться только номенклатуры выбранного в энуме типа. При выборе номенклатуры на форме показываем только записи по ней.
__________________
С уважением, Олег. |
|
![]() |
#22 |
Гость
|
Иван, всё проще, всё именно так, как описывает oip.
Вот пример: Enum={Кредит, Депозит, Займ} EDT = штатный EDT ItemGroupId таблица InventItemGroup расширена полем KV_itemType, которое определяет к какой области относится группа номенклатура. Соответсвтвенно, человек выбирает какойто-енум, который подрезает EDT до выбранной группы номенклатуры, после чего человек выбирает группу номенклатуры, а уже по этой группе фильтруются данные на форме Последний раз редактировалось Shakr; 20.08.2008 в 17:26. |
|
![]() |
#23 |
Moderator
|
Можно я тоже со своим примером?
![]() "Заслушав показания свидетелей и проведя другие следственные мероприятия", я понял так: 1. есть таблица InventTable (справочник номенклатуры), в которой и будут искаться записи 2. в этой таблице есть поля: - ItemType - на енуме ItemType (со значениям: ItemType::Item (0), ItemType::BOM (1), ItemType::Service (2) и т.д.) - ItemGroupId - со значениями из справочника ном. групп (из таблицы InventItemGroup) - на EDT ItemGroupId 3. для этих двух полей и построены несвязанные контролы ctrlItemType и ctrlItemGroupId - для выбора конкретных значений-фильтров для последующей выборки записей из таблицы InventTable 4. после выбора конкретного значения (например, ItemType::Item) в первом контроле (ctrlItemType) значения для выпадающего списка во втором (ctrlItemGroupId) могут быть представлены запросом: X++: select ItemGroupId from InventTable group by ItemGroupId where InventTable.ItemType == < 1- > X++: select * from InventTable where InventTable.ItemType == < 1- > && InventTable.ItemGroupId == < 2- > ![]() Цитата:
![]() Ну, уффф... вроде, разобрались... |
|
![]() |
#24 |
Гость
|
Цитата:
Правильно?
|
|