16.05.2016, 10:42 | #1 |
Участник
|
Сбрасывается query в RunBase после classRun.Promt()
Здравствуйте.
Столкнулся со следующей проблемой. Есть класс наследник от RunBase. Метод main выглядит следующим образом: X++: server static void main(Args args) { MyClass classRun = MyClass::construct(); if (classRun.prompt()) { classRun.run(); } } X++: public boolean showQueryValues() { return true; } Сама проблема заключается в следующем, после настройки запроса и нажатие кнопки ОК, если в методе getFromDialog выполнить код X++: info(strfmt("%1", queryRun.query().dataSourceNo(1).toString())); X++: info(strfmt("%1", queryRun.query().dataSourceNo(1).toString())); Что я делаю не так? Что я упустил? AX2009 |
|
16.05.2016, 10:47 | #2 |
Участник
|
Попробуйте перед prompt вызвать getLast
А лучше сразу после new класса в конструкторе. Если поможет то дальше можно смотреть. |
|
16.05.2016, 11:01 | #3 |
Участник
|
Цитата:
X++: server static void main(Args args) { ReportInventTransGroupByInvoiceAccount classRun = ReportInventTransGroupByInvoiceAccount::construct(); ; classRun.getLast(); if (classRun.prompt()) { classRun.run(); } } |
|
16.05.2016, 11:04 | #4 |
Участник
|
Цитата:
Если на сервере, то pack/unpack реализовывать необходимо (с сериализацией запроса)
__________________
Axapta v.3.0 sp5 kr2 |
|
16.05.2016, 11:09 | #5 |
Участник
|
|
|
17.05.2016, 07:43 | #6 |
Участник
|
Всем спасибо.
Глюк оказался в кэше. Закрыл клиента, удалил кэш и пошло все по маслу. |
|
18.05.2016, 22:39 | #7 |
Участник
|
#CurrentValues макрос не почистили, ага, бывает
|
|
19.05.2016, 07:39 | #8 |
Участник
|
Можно в каждый проект добавлять такой джобик по очистке кэша.
В контейнер добавляем классы, формы, отчеты в строковом формате. X++: static void ClearUserSettings(Args _args) { SysLastValue lastValue; int counter; FormName formName; container names = [classstr(ReportInventTransGroupByInvoiceAccount)]; ; try { ttsbegin; for (counter = 1; counter <= conlen(names); counter++) { formName = strFmt('*%1*', conPeek(names, counter)); delete_from lastValue where lastValue.elementName like formName; } ttscommit; info(strfmt("Job '%1' succeeded.", funcname())); } catch (Exception::Error) { throw error(strfmt("Job '%1' failed.", funcname())); } }
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: S.Kuskov (5). |
19.05.2016, 09:31 | #9 |
Участник
|
А можно менять версию в макросе #CurrentVersion.
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет. |
|
|
За это сообщение автора поблагодарили: Logger (1). |
19.05.2016, 17:35 | #10 |
Участник
|
|
|
20.05.2016, 11:00 | #11 |
Участник
|
У меня в классе не было #CurrentValues . кеш чистил путем удаления файлов в папке пользователя. В SysLastValue не было данных.
|
|
20.05.2016, 17:53 | #12 |
Участник
|
|
|
Теги |
ax2009, queryrun, runbase |
|
|