|
![]() |
#1 |
Участник
|
Цитата:
К слову сказать в версии AX2012 появились временные таблицы уровня БД. Цитата:
Сообщение от Narayana
![]() Ведь View, это ведь просто способ вывести результаты запроса.
Ну, допустим, временная таблица пустая, ну и путь бы запрос давал пустой результат. Ну, инициализировали значения во временной таблице внутри какого-нибудь метода запроса или таблицы, тогда б и строки отобразились? Зачем не давать использовать временную таблицу стандартным образом во View??? Для вывода результатов запроса на форме или отчёте View не требуется. Просто укажите в свойстве Query узла "Data Sources" имя вашего запроса. Если по каким-то причинам нужен именно View, то в качестве workaround можно попробовать в RunTime делать постоянную таблицу временной (см. метод xRecord.setTmp()). Либо для промежуточных вычислений использовать постоянные таблицы (потребуется самостоятельно изолировать данные между пользовательскими сессиями). Последний раз редактировалось S.Kuskov; 09.11.2012 в 09:45. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() Нет View это не способ вывести результат запроса (куда вывести?). View это реализация принципа повторного использования кода. Так сказать макрос уровня запросов.
Для вывода результатов запроса на форме или отчёте View не требуется. Просто укажите в свойстве Query узла "Data Sources" имя вашего запроса. Ну, типа, подготовил то, что можно подставить в Data Set для портала и забыл. В этом случае этот кусочек данных может использоваться и внутри Аксапты, и на портале. Только внутри это выведется в форме, а на портале в контроле ШейрПоинта. |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от Narayana
![]() Для меня View, это возможность представить данные на очередном шаге бизнес-процесса. В частности, подготовить баланс расчета с агентами, для того чтобы вывести результаты на портале, куда агенты могут заходить в личный кабинет.
Ну, типа, подготовил то, что можно подставить в Data Set для портала и забыл. В этом случае этот кусочек данных может использоваться и внутри Аксапты, и на портале. Только внутри это выведется в форме, а на портале в контроле ШейрПоинта. Цитата:
![]() Представьте, что в результате "компиляции" код X++ переводится на некий псевдокод, который потом ядро системы (интерпретатор) способно интерпретировать (выполнить). Так вот и команда "select" и вызов QueryRun.next() компилируется компилятором в "одинаковый" псевдокод. Это моё личное восприятие действительности. Вы можете воспринимать как захотите. Один интересный факт сейчас вспомнил. В версии AX2009 появилась возможность реализовать UNION. Но возможность эта реализуется только посредством Query. Через синтаксис "select" реализовать UNION не получится. Это так, к слову о первопричинности ![]() Оператор select языка X++ применённый к временной таблице действительно НЕ инициирует реальный SQL запрос к БД. Последний раз редактировалось S.Kuskov; 09.11.2012 в 12:57. |
|
![]() |
#4 |
Участник
|
угу. разработчики аксапты постоянно забывали синхронизировать возможности оператора и Query. Так, долгое время в операторе нельзя было использовать элемент типа-массива. Пичалька.
Не только оператор. Query тоже не инициирует (до версии ax2012) |
|
Теги |
query, архитектура, как правильно |
|
|