19.12.2008, 12:09 | #21 |
Участник
|
2 Eldar9x:
извините, а как это сделать? вот сам отчет. Axapta 4.0.2501.116 |
|
19.12.2008, 12:27 | #22 |
Участник
|
сбросил пользовательские настройки, на самой гриде, а в окне фильтра не получается, все заблокированно и кнопка сброс не активна.. не помогает
может я не так сделал, на гриде пр. кн. -> настройки-> кнопка сброс. |
|
19.12.2008, 12:33 | #23 |
Программатор
|
Сервис/параметры/Использование данных/Кнопка сброс.
|
|
|
За это сообщение автора поблагодарили: laxel (1). |
19.12.2008, 12:34 | #24 |
Участник
|
извините, я не внимательно прочитал
|
|
19.12.2008, 12:37 | #25 |
Участник
|
ААААААА!!!!!!!!! Заработало!!!! Спасибо большое!!!
извините за потраченое время... Последний раз редактировалось laxel; 19.12.2008 в 12:43. |
|
19.12.2008, 12:42 | #26 |
Программатор
|
УРАААА!!!!
|
|
19.12.2008, 12:43 | #27 |
MCTS
|
Помоему вы рано радуетесь, я тоже думал, что это работает. Только если перед каждым запуском не делать сброс, будет выводится последнее значение.
|
|
19.12.2008, 12:48 | #28 |
Участник
|
ну вот....
что делать? |
|
19.12.2008, 12:51 | #29 |
MCTS
|
Вариант такой. Курсор ledgerJournalTrans должен быть объявлен в classdeclaration. В init() его получаем
X++: public void init() { ; ledgerJournalTrans = element.args().record(); super(); } X++: public boolean fetch() { ; /* global::findOrCreateRange_W( element.query().dataSourceTable(tablenum(CustTable)), fieldnum(CustTable, AccountNum), SysQuery::value(custtable.AccountNum)); */ element.send(custTable); return true; } LedgerJournalTrans = LedgerJournalTrans::FindRecId(element.args().record().RecId) |
|
19.12.2008, 13:15 | #30 |
Участник
|
Не получается, в фильтре остается первое значение.
перекрыл fetch, изначально с CustTable(подумал так и надо) и действительно заработало, но сам отчет не выводился... писал что нет данных для отображения, поменял custTable на ledgerJournslTrans, отчет выводит, но фильтр не обновляется.... в init какой? (отчета или дата сорса?) если отчета, то весь функционал в датасорс засунуть? |
|
19.12.2008, 13:19 | #31 |
MCTS
|
Кстати, тоже не очень хорошее решение. Потому что на диалоге все равно светится старое значение.
Вот так надо судя по всему: X++: public void init() { LedgerJournalTrans ledgerJournalTrans; ; ledgerJournalTrans = element.args().record(); sysReportRun::getRunbaseReport(this).getLast(); super(); global::findOrCreateRange_W( query.dataSourceTable(tablenum(ledgerJournalTrans)), fieldnum(ledgerJournalTrans, JournalNum), SysQuery::value(ledgerJournalTrans.JournalNum)); global::findOrCreateRange_W( query.dataSourceTable(tablenum(ledgerJournalTrans)), fieldnum(ledgerJournalTrans, AccountNum), SysQuery::value(ledgerJournalTrans.AccountNum)); queryrun = new queryRun(query); queryRun.saveUserSetup(false); } PS: это init отчета, там же, где classdeclaration. Последний раз редактировалось Eldar9x; 19.12.2008 в 13:22. |
|
|
За это сообщение автора поблагодарили: Player1 (1). |
19.12.2008, 13:39 | #32 |
Участник
|
вроде получилось (уже боюсь радоваться....) только я внес кое какие изменения, т.к. у меня международный функционал, надеюсь он никак не влияет на работу.....
public void init() { Query q; QueryRun qr; QueryBuildDatasource qbds; QueryBuildRange qbr,qbr1; LedgerJournalTrans ledgerJournalTrans; ; q = this.query(); LedgerJournalTrans = element.args().record(); sysReportRun::getRunbaseReport(this).getLast(); super(); qbds = q.dataSourceTable(tablenum(LedgerJournalTrans)); qbr = sysQuery::findOrCreateRange(qbds,fieldnum(LedgerJournalTrans, JournalNum)); qbr.value(queryValue(LedgerJournalTrans.JournalNum)); qbds = q.dataSourceTable(tablenum(LedgerJournalTrans)); qbr1 = sysQuery::findOrCreateRange(qbds,fieldnum(LedgerJournalTrans, Voucher)); qbr1.value(queryValue(LedgerJournalTrans.Voucher)); queryrun = new queryRun(q); queryRun.saveUserSetup(false); } а так вроде... УРА! ... )) Спасибо Большое) Последний раз редактировалось laxel; 19.12.2008 в 13:43. |
|
19.12.2008, 13:46 | #33 |
MCTS
|
Ключевое здесь - sysReportRun::getRunbaseReport(this).getLast(). После этого не будет снова вызываться восстановление старых значений.
|
|
19.12.2008, 13:52 | #34 |
Участник
|
Eldar9x еще раз тебе БОЛЬШОЕ человеческое СПАСИБО! )
|
|