08.08.2013, 07:25 | #1 |
Участник
|
Работа отчета "Отчет об анализе расхождений"(InventCostVariances)
Добрый день.
Возникла такая проблема с отчетом. При определенном наборе фильтров: например Начальная дата 29.05.2013 Конечная дата 29.05.2013, стоит галочка Сайт, в запросе в таблице Транзакции стандартных затрат выбрано поле Ссылка и указано значение Заказы на перемещение. При таком наборе параметров отчет начинает строится неприлично долгое время, или напрочь зависает. Копался в отладчике, увидел что еще есть класс который работает с отчетом InventCostReport_Variances, в нем заполняется временная таблица, и он же вызывает методы send(), для заполнения отчета. Так же выяснил, что отчет начинает зависать при выводе группы PageHeader:Item_TransactionHeader. В этой группе находятся текстовые контролы которые залинкованы на поля из отчета. Удалил данную группу для эксперемената, отчет начал зависать на другой группе PageHeader:Item_Header. Выяснил что зависает на данных группах перекрывал методы executeSection, заходит в супер данных секций и виснет. Так же если закоментировать super в fetch отчет вываливает данные за пару секунд (порядка 18ти листов) При других параметрах фильтрации отчет работает на ура. Может быть кто сталкивался с подобной проблемой, дайте совет что можно посмотреть, куда копать. Ax 2009 rollup 8 Спасибо. |
|
08.08.2013, 10:53 | #2 |
Участник
|
Цитата:
Так же если закоментировать super в fetch отчет вываливает данные за пару секунд (порядка 18ти листов)
Потому Вы сами похоже нашли решение... не вызывать fetch... возможно из него нужно вернуть true. |
|
|
За это сообщение автора поблагодарили: irvin (1). |
08.08.2013, 12:00 | #3 |
Участник
|
Спасибо, так и думал попробую, протестирую, как будет результат отпишусь.
Пытался сделать таблицу невременной тоже не помогло. Но все же поведение отчета странное, очень странное. |
|
19.08.2013, 15:01 | #4 |
Участник
|
Привет! сегодня закончили с отчетом. в итоге пофиксили еще одну ошибку в нем. кроме того закомментированного super() в fetch.
ошибка была следующая. если в фильтре указывался код номенклатуры, то имело значенее в каком порядке в фильтре расположены поля. Т.е. отчет выводил данные по номенклатуре если только остальные фильтры были раньше, чем фильтр по коду номенклатуры. Иначе отчет писал что не содержит данных. хотя без фильтра по номенклатуре этаже номенклатура входила в отчет. Ошибка была в классе InventCostReport_Base. в методе addRangesFromDialog(). этот метод переносил фильтры из диалогового окна в запрос, который заполняет временную таблицу. в строка 92-108 переносятся фильтры интересующие нас. если первым переносится фильтр по коду номенклатуры, то в стр. 94 переприсваевается qbds. и при переносе следующих фильтров он так и остается с указателем на таблицу InventTable. и фильтры эти переносятся уже неверно. Если сначала переносятся фильтры другие, то они верно накладываются на нужный datasource и проблем не возникает. Тестирование по самому закомментированию fetch() не выявило никаких отклонений в отчете. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Отчет "Запасы в наличии" | 19 | |||
Доступ к меню "Работа с документами" | 4 | |||
Съехавший отчет "ГЛАВНАЯ КНИГА" | 6 | |||
Отчет "Компонент" | 0 | |||
Русская локализация Axapta 3 ? | 59 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|