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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2010, 20:32   #1  
Proba is offline
Proba
Участник
 
60 / 13 (1) ++
Регистрация: 25.06.2007
Адрес: Красноярск\Зеленогорск
Report InventJournalTrans
Предистория.
Есть репорт InventJournalTrans,
у которого уже был перекрыт fetch.

в нем выполняется query:
X++:
while (qr.next())
 {
        .....
 this.send(lInventDim, 2, false,false);
 this.send(lInventJournalTrans, 1, true, false); 
 
 }
Результат работы fetch выглядит так, см 111.bpm

Обратите внимание на красные квадраты.


Понадобилось сделать сортировку особым образом, для этого мне пришлось использовать временную таблицу, и код вида:
X++:
while (qr.next())
 {
        .....
 this.send(lInventDim, 2, false,false);
 this.send(lInventJournalTrans, 1, true, false); 
 
 }
я заменил на:

X++:
while (qr.next())
 {
        .....
     tmpInventJourTrans.clear();
     tmpInventJourTrans.ContInventDim       = [lInventDim];
     tmpInventJourTrans.ContInventJourTrans = [lInventJournalTrans]; 
 }
а потом просто делаю проверку, и вывожу данные через while select:
X++:
while select _tmpInventJourTrans order by xxx 
    {
        cont = _tmpInventJourTrans.ContInventJourTrans;
        lInventJournalTrans = conpeek(cont, 1);
        cont = _tmpInventJourTrans.ContInventDim;
        lInventDim = conpeek(cont, 1);
        this.send(lInventDim, 2, false,false); 
        this.send(lInventJournalTrans, 1, true, false); 
    }
Все прекрасно отфильтровалось, но куда подевались красные квадраты???
Результат работы после модификаций см 222.bpm

Кто нибудь сталкивался? Целый день бьюсь, у меня идей просто нет...
Спасибо.
Изображения
Тип файла: bmp 111.bmp (292.2 Кб, 452 просмотров)
Тип файла: bmp 222.bmp (204.4 Кб, 466 просмотров)
Старый 03.02.2010, 07:25   #2  
Proba is offline
Proba
Участник
 
60 / 13 (1) ++
Регистрация: 25.06.2007
Адрес: Красноярск\Зеленогорск
Поля(Красные квадраты) показанные на рисунке 111, в дизайне отчета их нет. В шаблоне отчета, их тоже нет. Откуда изначально они берутся не понятно.
Старый 03.02.2010, 08:47   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Вывод названия группы в отчете с автодизайном

предыстория: Строки итогов в отчетах

Последний раз редактировалось S.Kuskov; 03.02.2010 в 08:51.
За это сообщение автора поблагодарили: Proba (1).
Старый 03.02.2010, 11:46   #4  
Proba is offline
Proba
Участник
 
60 / 13 (1) ++
Регистрация: 25.06.2007
Адрес: Красноярск\Зеленогорск
Большое спасибо за интерестные ссылки.
Попробовал, изменил класс,как описано по ссылке. Ни чего не изменилось.
Смотрю дебагер в классе в методе header, класс SysReportRun не проходит условие:

X++:
...
 if (!this.hasGeneratedDesign()  &&      // if auto design
        _headerSection              &&      // and in active header section
        _headerSection.sectionType() == ReportBlockType::Header &&
        _fieldId) {
....
headerSection почему пустой!!!

Тут пришел на помощь научный тык. И код вида
X++:
while select _tmpInventJourTrans order by xxx 
    {
        cont = _tmpInventJourTrans.ContInventJourTrans;
        lInventJournalTrans = conpeek(cont, 1);
        cont = _tmpInventJourTrans.ContInventDim;
        lInventDim = conpeek(cont, 1);
        this.send(lInventDim, 2, false,false); 
        this.send(lInventJournalTrans, 1, true, false); 
    }
я заменил на
X++:
while select _tmpTable
{
 contDim = _tmpTable.ContInventDim;
 contTrans = _tmpTable.ContInventJourTrans;
 lInventDim = conpeek(contDim, 1);
 lInventJournalTrans = conpeek(contTrans, 1);
 
 select InventJournalTrans where InventJournalTrans.JournalId == lInventJournalTrans.JournalId &&
  InventJournalTrans.LineNum == lInventJournalTrans.LineNum;
 
 this.send(lInventDim, 2, false, false);
 this.send(InventJournalTrans, 1, true, false);
}
Где InventJournalTrans это стандартный DataSource!

Вот!

Еще раз спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Visual Studio Dynamics AX report development how to associate X++ class with report dataSet Blog bot DAX Blogs 0 13.01.2010 23:08
Ruslan Goncharov: Storing report design in database Blog bot DAX Blogs 0 27.08.2008 18:05
palleagermark: Change the appearance of printed report ranges Blog bot DAX Blogs 1 27.05.2008 21:21
InventJournalTrans DreamCreator DAX: Программирование 7 14.12.2004 14:48

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

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

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