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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.08.2003, 15:49   #1  
MIkeFW is offline
MIkeFW
Участник
 
20 / 10 (1) +
Регистрация: 30.01.2002
Адрес: Санкт-Петербург
? Как задать несколько складов в условии?
Для отчета делаю форму условий формирования.

Например для одного склада

создаю new Dialog
и вызываю метод AddField,
таким образом я могу выбрать (задать) один склад.

А как мне сразу же в одном условии задавать несколько складов,
как это делается в стандартном окне параметров (перечисление через запятую)?
Старый 28.08.2003, 20:17   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Япона мать. Ну почему же вы опять программируете то?!!!
Извините.

Можно вопрос?
Чем вас не устраивает стандартная фича запроса по query?
Почему вы решили диалог свой делать?
Если даже вы решились на диалог, то почему вам не хватает стандартной кнопки выбрать?


К чему это я.
1. Создайте query в отчете.
2. В datasource положите две таблицы InventTrans и InventDim
3. Задайте relation
3. Укажите поля для фильтрации в таблицах datasource'ов.
3.1. В том числе укажите поле InventLocationID в таблице InventDim
ВСЕ. Стандартный фильтр работает.
Наверняка, с гораздо большими возможностями, чем у вас сейчас напрограммировано.

Зачем вам понадобилось программирование? Объясните, христа ради.
Старый 29.08.2003, 10:34   #3  
MIkeFW is offline
MIkeFW
Участник
 
20 / 10 (1) +
Регистрация: 30.01.2002
Адрес: Санкт-Петербург
Дело в том, что у меня по ходу дела необходимо использовать несколько select`ов.

И если уж использовать стандартное окно параметров, то как из него вытащить в какую-нибудьпеременную значение "для поля фильтрации", чтобы потом подставить в select?
Старый 29.08.2003, 10:59   #4  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
QueryRun vs select
Предлагаю попробовать использовать классы Query & QueryRun вместо select-ов, а для задания условий использовать queryRun.prompt()
Старый 29.08.2003, 14:29   #5  
MIkeFW is offline
MIkeFW
Участник
 
20 / 10 (1) +
Регистрация: 30.01.2002
Адрес: Санкт-Петербург
Как я знаю класс Query используют для стандартного запроса, но если таблицу накак туда не подцепить, то приходится использовать select.

Поэтому мне и приходится по-другому задавать условия.
Отсюда и интерес, - есть ли у класса Dialog метод, позволяющий задавать группу значений в условии?
Старый 29.08.2003, 14:34   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
Как я знаю класс Query используют для стандартного запроса, но если таблицу накак туда не подцепить, то приходится использовать select
Поясни - что куда нельзя подцепить?
Старый 02.09.2003, 11:33   #7  
MIkeFW is offline
MIkeFW
Участник
 
20 / 10 (1) +
Регистрация: 30.01.2002
Адрес: Санкт-Петербург
Цитата:
Изначально опубликовано Wamr

Поясни - что куда нельзя подцепить?
Вот например, в отчете требуются таблицы

InventTable,
InventTrans,
InventSum,
InventTableModule,
...

и нужны подобного вида условия


select sum(Qty), sum(CostAmountPosted), sum(CostAmountAdjustment) from searchInventTrans
group by ItemId
where searchInventTrans.DatePhysical < dateStart &&
searchInventTrans.ItemId == inventTable.ItemId &&
(searchInventTrans.StatusIssue == StatusIssue::Sold ||
searchInventTrans.StatusIssue == StatusIssue:educted ||
searchInventTrans.StatusIssue == StatusIssue::FaAcquisition_RU ||
searchInventTrans.StatusReceipt == StatusReceipt::Purchased ||
searchInventTrans.StatusReceipt == StatusReceipt::Received ||
searchInventTrans.StatusReceipt == StatusReceipt::FaDisposalScrap_RU)
join inventDim
where inventDim.inventDimId == searchInventTrans.inventDimId &&
inventDim.InventLocationId like inventLocationId;

и таких запросов нужно несколько с разными условиями

кроме как при помощи select я не смог их реализовать ...

Что скажете?
Старый 02.09.2003, 13:23   #8  
MIkeFW is offline
MIkeFW
Участник
 
20 / 10 (1) +
Регистрация: 30.01.2002
Адрес: Санкт-Петербург
Постараюсь конкретизировать вопрос
Как в Dialog задать несколько складов,
если заранее не известно их количество?
Старый 02.09.2003, 14:15   #9  
Arsen is offline
Arsen
Участник
 
14 / 10 (1) +
Регистрация: 20.09.2002
Дело в том, что в selecte нельзя использовать перечислимые типы например:
in [a, b, ...]
а в Query такую строку задать можно, Query сам потом создаст select через ||
в твоем случае можно сделать так:
через кнопку выбрать задавать нужные склады в условии (диалоговая форма)
либо сделать отчет через обычную форму, на которой либо задавать склады через
stringedit (свойство ReplaceOnLookup = No, и перекрыть метод Lookup this.hasChanged(false)), либо задавать склады через ListBox чеками
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Выделить несколько диапазонов одновременно (в Excel) MironovI DAX: Программирование 31 23.12.2016 15:12
Задать критерий типа !="" bobski DAX: Программирование 3 29.12.2008 08:23
Пополнение склада из нескольких складов-источников? Lz_ DAX: Функционал 5 20.09.2007 15:14
Отчет SalesInvoice "несколько раз" в одном окне Delfins DAX: Программирование 2 16.10.2006 14:33
Несколько вопросов по Проектам Посторонний V DAX: Функционал 2 20.10.2005 06:59

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

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

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