05.05.2015, 16:41 | #1 |
Участник
|
Кнопка Выбрать в окне диалога.
Если есть InitQuery
Query query = new Query(); ; query.addDataSource(tablenum(InventTable)); queryRun = new SysQueryRun(query); queryRun.promptLoadLastUsedQuery(false); то как потом получить значения выбранные пользователем? не пойму по похожим примерам pack, unpack... а где же результат считывают |
|
05.05.2015, 17:05 | #2 |
Участник
|
Лучше вот так:
X++: queryRun = new QueryRun() Пользователь редактирует существующий квери, просто используйте его. Также можете заглянуть в Tutorial_RunbaseForm и Tutorial_RunbaseReport классы. Последний раз редактировалось Cardagant; 05.05.2015 в 17:11. |
|
|
За это сообщение автора поблагодарили: Морковка (1). |
05.05.2015, 19:28 | #3 |
Участник
|
В методе RunBase.QueryRun() Вы должны вернуть переменную типа QueryRun (или ее наследника SysQueryRun), которая будет использована в диалоге с пользователем. Не сформировать значение, а просто вернуть саму переменную.
Инициализация значений этой переменной (создание QueryRun) должны выполняться в двух местах
Собственно обработка запроса (организация цикла по queryRun) - это уже метод RunBase.run() Если метод RunBase.showQueryValues() возвращает true, то будет отображена кнопка "Выбрать" и сделанные настройки. В классе Tutorial_RunbaseForm это все наглядно демонстрируется. Хотя без собственно обработки результата Для классов-наследников от RunBaseReport метод QueryRun() уже перекрыт и в нем используется фиксированная переменная с именем queryRun, которая формируется на основе настроек отчета, имя которого указывается в методе RunBaseReport.LastValueElementName() Пример в классе Tutorial_RunbaseReport
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: Морковка (1). |
06.05.2015, 09:03 | #4 |
Участник
|
Большое спасибо! все работает)
|
|
|
|