AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.08.2008, 17:06   #21  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Энум - конкретный. В "контроле ЕДТ" выбираются записи в какой-то таблице (таблицах), но в лукапе отображаются не все записи, а отобранные по какому-то алгоритму исходя из значения, выбранного в поле с энумом. А потом уже по значению, выбранному в "контроле ЕДТ", фильтруем записи на форме. Вот как-то так.

Пример: энум - тип номенклатуры. В лукапе должны отображаться только номенклатуры выбранного в энуме типа. При выборе номенклатуры на форме показываем только записи по ней.
Старый 20.08.2008, 17:24   #22  
Shakr
Гость
 
n/a
Иван, всё проще, всё именно так, как описывает oip.
Вот пример:
Enum={Кредит, Депозит, Займ}
EDT = штатный EDT ItemGroupId
таблица InventItemGroup расширена полем KV_itemType, которое определяет к какой области относится группа номенклатура.
Соответсвтвенно, человек выбирает какойто-енум, который подрезает EDT до выбранной группы номенклатуры, после чего человек выбирает группу номенклатуры, а уже по этой группе фильтруются данные на форме

Последний раз редактировалось Shakr; 20.08.2008 в 17:26.
Старый 20.08.2008, 17:59   #23  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Можно я тоже со своим примером?
"Заслушав показания свидетелей и проведя другие следственные мероприятия", я понял так:

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, в котором у нас, кстати, оно тоже есть )

Ну, уффф... вроде, разобрались...
Старый 21.08.2008, 09:04   #24  
Shakr
Гость
 
n/a
Цитата:
Правильно?
УУГ
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Можно сделать lookup по полю типа Base Enum? Hidden DAX: Программирование 25 04.10.2017 13:06
gatesasbait: How to define a custom lookup form for an extended datatype Blog bot DAX Blogs 0 09.07.2008 22:05
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
multiselect при lookup-е значения типа enum nebula DAX: Программирование 4 14.12.2006 18:56
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:26.