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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.11.2010, 12:59   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
что то я не понял в чем тут прелесть использования макроса?
гораздо нагляднее и проще вывести на диалог query, где пользователь спокойно может указать диапазон через "..". Более того, в query пользователь сможет, при желании, добавить ещё и свое поле с условием для выборки.

Вот такой код, ИМХО, проще для понимания и поддержания:
1. Создаем класс для нашего отчета\функции и наследуем его от RunBase.
2. Перекрываем методы: QueryRun - указываем свой queryRun, который определили в ClassDeclaration; ShowQueryValues - возвращаем true; Pack; UnPack; InitParmDefault.
3. Создаем метод InitQuery в котором пишем запрос для нашего диалога:
X++:
Query query = new Query();
QueryBuildDataSource qbds;
;

qbds = query.addDataSource(tableNum(CustInvoiceTable));
qbds.addRange(fieldNum(CustInvoiceTable, CustGroupId));
qbds.addRange(fieldNum(CustInvoiceTable, CustAccount));
qbds.addRange(fieldNum(CustInvoiceTable, InvoiceAccount));
qbds.addRange(fieldNum(CustInvoiceTable, InvoiceDate));
qbds.addRange(fieldNum(CustInvoiceTable, InvoiceId));

queryRun = new QueryRun(query); // queryRun объявлен в ClassDeclarartion класса
4. вызываем метод InitQuery в методе InitParmDefault до вызова super().

и все, при выполнении нашего отчета\функции появиться диалог, в котором пользователь может указать хоть диапазон, хоть одно значение, хоть несколько значений через запятую, хоть вообще добавить свое поле и указать для него значение.

потом в Run будет простой перебор
X++:
while(queryRun.next())
и ничего мудрить не придется
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: mazzy (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: RunBaseBatch Blog bot DAX Blogs 0 04.04.2009 22:05
axaptapedia: RunBaseBatch Blog bot DAX Blogs 0 31.03.2009 06:06
axaptapedia: Macro Blog bot DAX Blogs 1 16.11.2007 09:48
axaptapedia: Adding only one Dimension in Dialog Blog bot DAX Blogs 1 25.10.2007 17:54
Kashperuk Ivan: 3 Dialog extensions Blog bot DAX Blogs 4 28.09.2007 18:56

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

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

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