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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.04.2011, 19:25   #16  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
тоже не очень понимаю что нужно.
Geo, может сформулируете на человеческом языке исходную задачу?
Цитата:
Сообщение от Geo Посмотреть сообщение
Я думал, что QeuryRun это по сути и есть табличная переменная
Query - запрос
QueryRun - результаты, которые SQL-сервер отдает в ответ на Query
QueryRun - позволяет обратится к текущей полученной позиции (одна запись, если таблица одна, или по одной записи на каждую таблицу в запросе).
QueryRun.get() - метод, который возвращает данные в табличную переменную
табличная переменная - хранит данные из одной записи таблицы
внимание! если табличная переменная получена в результате select, то к ней можно применить next.

типичный пример работы с query
X++:
void job1(Args args)
{
    MyTable myTable;
    Query q = new Query(queryStr(myAOTQuery); // внутри что-то вроде select * from myTable;
    QueryRun qr = new QueryRun(q);

    while( qr.next() ) // в первый проход запрос отправляется на SQL-сервер
    {
        myTable = qr.get(myTable.TableId);
        ///....
    }
}
в форме:
myTable_ds.query() - запрос, который создал программист в AOT
myTable_ds.queryRun() - результаты, которые выводятся в форму. Будьте внимательны с позиционированием и next.
myTable_ds.queryRun().Query() - запрос, который действует в данный момент для данного экземпляра формы. Может отличаться от первоначального, если пользователь задаст фильтры, сортировку и т.п.

Цитата:
Сообщение от Geo Посмотреть сообщение
- а вот поди ж ты, никак не вытащить в явном виде, только по одной записи...
Что именно?

Цитата:
Сообщение от Geo Посмотреть сообщение
Это не то. Я хотел не пробежаться по записям, а сформировать одну табличную переменную, а-ля вызов "Select xTable Where ...", и потом хTable передать в метод, чтобы он с ней работал.
Что вы называете табличной переменной?
в следующем выражении
LedgerTrans ltr;

переменная ltr является табличной в вашем понимании?

надо отметить, что в Аксапте query и select-написанный-в-коде никогда не пересекаются. и никогда друг в друга не преобразуются. это два совершенно разных инструмента. Query никогда не преобразуется в select, а select никогда не преобразуется в Query.


Цитата:
Сообщение от Geo Посмотреть сообщение
Жаль; мне казалось, что табличная переменная - это удобно.
нет. это сильно устаревший и унаследованный от старых версий механизм, от которого никак не могут отказаться.

в "табличных переменных" и в select'ах не работают пользовательские фильтры с запятыми, восклицательными знаками и прочими символами.
кроме того, select нельзя динамически модифицировать.


Цитата:
Сообщение от Geo Посмотреть сообщение
Так мне выделенность и не нужна, мне фильтры нужны.
фильтры из Query не работают в select.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Geo (1).
Теги
grid, query, датасорс (datasource), табличный курсор, фильтр

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Dynamics AX – Query-Ranges und Filtereinstellungen des Benutzers Blog bot DAX auf Deutsch 0 04.02.2010 00:05
Query на Datasource в LookUp-форме. dynamax DAX: Программирование 26 09.10.2009 15:58
Как удалить DataSource из Query??? Maxim Gorbunov DAX: Программирование 17 01.09.2008 14:00
axcoder: Tabax 0.2.14: View query of the active datasource Blog bot DAX Blogs 2 02.02.2007 12:10
How do I delete a datasource from a query ? (by stelsig) Maxim Gorbunov DAX in English 0 22.03.2006 12:21

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

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

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