Можно я тоже со своим примером?

"Заслушав показания свидетелей и проведя другие следственные мероприятия", я понял так:
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- >
5. после выбора конкретного значения во втором контроле (ctrlItemGroupId) из таблицы InventTable будут выбраны (и отображены в гриде на форме) записи, соответствующие такому запросу:
X++:
select * from InventTable
where InventTable.ItemType == < 1- >
&& InventTable.ItemGroupId == < 2- >
Правильно?
Цитата:
Сообщение от
Shakr
таблица InventItemGroup расширена полем KV_itemType, которое определяет к какой области относится группа номенклатура
а у нас такое поле прямо в InventTable есть (поэтому я выбирал в первом селекте из InventTable, а не из InventItemGroup, в котором у нас, кстати, оно тоже есть

)
Ну, уффф... вроде, разобрались...