AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.07.2012, 17:20   #1  
alicedr is offline
alicedr
Участник
 
175 / 43 (2) +++
Регистрация: 06.07.2012
Адрес: Канада
Как работает генерируемый дизайн (последовательность)
Я программист на Делфи, новичек в Аксапте. Возникла проблема при переносе отчета с 4-ки на Ах 2009 . Отчет- кассовая книга для Украины. Отчет переносился копи-пастом с одной машины на другую (методы), а все объекты создавались заново, и свойства менялись вручную на оригинал Ах 4. Отчет запускается из класса, отчет имеет генериремый дизайн из кучи секций.
Проблема следующая: в оригинале отчет выводит проведенные записи из журнала ордеров, каждая дата-в новом листе. Если за один день было 5 кассовых ордеров --то на одном листе список ордеров кассы из 5 штук(плюс кучу разных итогов).
У меня отчет выводит 5 листов, по одному листу на каждый ордер. Причем на каждом листе все выглядит нормально- все хидеры и футеры на месте. Только итоговые суммы за день выводятся на первом листе, на остальных они пустые, но секции прорисовываются.
В отчете метод run не перекрыт, зато перекрыт fetch, сокращенно такой:
X++:
 if (this.queryRun().prompt())
    {
        while (this.queryRun().next())
        {
                RCashTrans = this.queryRun().get(tableNum(RCashTrans));
                _rCashTrans = RCashTrans::find(cashAccount,
                                           RCashTrans.DocId,
                                           RCashDocType::Correction,
                                           RCashTrans.TransDate);
            RCashTrans = this.queryRun().get(tableNum(RCashTrans));
            element.send(RCashTrans);
        } 
    }
Исходя из этого, возник вопрос: Как правильно работает отчет?
По Андерсену dialog->run->fetch->send->print, т.е. element.send(RCashTrans) посылает первую запись запроса, для нее обрабатываются prolog, header, groupSection.Header, groupSection.Body, groupSection.Footer, Footer, Epilog. Если в какой-то секции есть element.execute(название), то выполняется она и снова та секция, из которой она вызвалась? Потом то же самое для следующей записи (while (this.queryRun().next())? Как тогда попадают все записи запроса в секцию Body одним списком?
Или, все секции выполняются единожды, а секция Body прорабатывает все записи?
Или, все секции execute для каждой записи, а потом неперекрытый метод run делает им print, и тут то они печатают, все что наделали? А заголовки и футеры тогда как?
Теги
body, fetch, footer, header, генерируемый, дизайн, отчет, секции

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX 2012 Enterprise Portal: Не работает Add indicators в Business Overview Web Part Maxim Gorbunov DAX: Администрирование 1 07.07.2012 14:49
Не работает поиск в лукапе на ГТД Bega DAX: Функционал 0 08.12.2011 09:09
почему на работает common.(fieldId)[idx] maze DAX: Программирование 3 31.08.2007 06:48
JOIN программно на форме не работает rohlenko DAX: Программирование 2 31.03.2005 15:41
CRM ABC, SWOT анализ Как это работает и работает ли вообще. ShadowFromXZone DAX: Функционал 16 02.03.2004 18:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:23.