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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.03.2011, 15:24   #21  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Вы неправильно применили правильный совет S.Kuskov'а Смотрите, вместо:
X++:
if (portJournal.FlxNumPassengersTotalArrival == 0 && portJournal.FlxNumPassengersTotalDeparture == 0)

element.send(portJournal); // так вы наоборот выводите если выполняется условие
напишите
X++:
if (portJournal.FlxNumPassengersTotalArrival == 0 && portJournal.FlxNumPassengersTotalDeparture == 0)
    continue; // если условие выполнится - цикл перейдет к след. записи
else
    element.send(portJournal); // если нет (т.е. будут не нули) в отчет попадет строка
Старый 31.03.2011, 15:28   #22  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от romanja Посмотреть сообщение
ничего не понимаю, она у меня не удалила, а
добавела запись с двумя 0
Ну так что написали, то и получили.

Вы знаете как работает инструкция if?
Старый 31.03.2011, 15:38   #23  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
у меня сейчас написан код
qr = new QueryRun(queryRun.query());

while (qr.next())
{
portJournal = qr.get(tableNum(FlxPortJournal));

if
(portJournal.FlxNumPassengersTotalArrival == 0 && portJournal.FlxNumPassengersTotalDeparture == 0)

continue;
else
element.send(portJournal);

}



результат например
12
34
00
12
34


а нужно
12
34
Старый 31.03.2011, 15:44   #24  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
У вас этот код написан в методе fetch() ?
Старый 31.03.2011, 15:48   #25  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
вот такой код там еще добавились поля


void getRangeValues()

{
QueryRun qr;
FlxPortJournal portJournal;

QueryBuildDataSource qbds = this.queryRun().query().dataSourceTable(tableNum(FlxPortJournal));
;

if (this.queryRun())
{

qbds = this.queryRun().query().dataSourceTable(tableNum(FlxPortJournal));
}
else
{

qbds = this.query().dataSourceTable(tableNum(FlxPortJournal));
}



rv1 = qbds.findRange(fieldNum(FlxPortJournal,CalculatingPort)).value();
rv3 = qbds.findRange(fieldNum(FlxPortJournal,ArrivalDate)).value();
rv5 = qbds.findRange(fieldNum(FlxPortJournal,DepartureDate)).value();
rv7 = qbds.findRange(fieldNum(FlxPortJournal,PierOfArrival)).value();
rv8 = qbds.findRange(fieldNum(FlxPortJournal,ShipsName)).value();
qbds.addSortField(FieldNum(FlxPortJournal,ShipsType));
qbds.orderMode(OrderMode::GroupBy);
qbds.addSortField(FieldNum(FlxPortJournal,ShipsName));
qbds.orderMode(OrderMode::GroupBy);
rv10 = qbds.findRange(fieldNum(FlxPortJournal,CustName)).value();
rv2 = qbds.addRange(fieldNum(FlxPortJournal, ArrivalStatus)).value("2");
qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalArrival),SelectionField::Sum);
qbds.addSelectionField(element.getcruisepassengers(),SelectionField::Sum);


qbds.addSelectionField(fieldNum(FlxPortJournal,FlxPortPcsArrival),SelectionField::Sum);
qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalDeparture),SelectionField::Sum);
qbds.addSelectionField(fieldNum(FlxPortJournal,FlxPortPcsDeparture),SelectionField::Sum);
qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTransitArrival),SelectionField::Sum);




qr = new QueryRun(queryRun.query());

while (qr.next())
{
portJournal = qr.get(tableNum(FlxPortJournal));


if
(portJournal.FlxNumPassengersTotalArrival == 0 && portJournal.FlxNumPassengersTotalDeparture == 0)

continue;
else
element.send(portJournal);


}

}



public boolean fetch()
{
boolean ret;
QueryBuildDataSource qbds;



if (this.queryRun())
{
qbds = this.queryRun().query().dataSourceTable(tableNum(FlxPortJournal));
}
else
{
qbds = this.query().dataSourceTable(tableNum(FlxPortJournal));
}



this.getRangeValues();
ret = super();

qbds = this.query().dataSourceTable(tableNum(FlxPortJournal));



return ret;
}
Старый 31.03.2011, 15:49   #26  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Сразу после строки "qr = new QueryRun(queryRun.query());" вставьте ради отладки
"info(qr.query().datasourceNo(1).toString);"
Тогда вы получите сам текст сконструированного запроса. Возможно он поможет разобраться в чём проблема
Старый 31.03.2011, 15:51   #27  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Уберите из метода fetch строку
X++:
ret = super();
Т.е. перекрывая метод fetch вы же стремитесь отказаться от стандартного поведения, переопределить его, а не совместить его со своим.
Старый 31.03.2011, 15:59   #28  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
убрал,
при запуске появляется серый экран
Старый 31.03.2011, 16:11   #29  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от romanja Посмотреть сообщение
убрал,
при запуске появляется серый экран
Что совсем серый? Ну радуйтесь что не синий . А если серьёзно, то поподробнее пожалуйста.
Старый 31.03.2011, 16:21   #30  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
как бы так описать
при запросе отчета сам отчет вылетает в левую верхнюю часть экрана в виде маленького серого квадратика
примерно 3 на 3 см начинаю его растягивать сплошной серый экран
Старый 31.03.2011, 16:25   #31  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А версия аксапты у вас какая? В методе fetch ещё "return ret" замените на "return true".
Старый 31.03.2011, 16:30   #32  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
да заработала,
большое спасибо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX2009 EP: Работа с данными в C# LEXAR DAX: Программирование 3 28.05.2010 09:10
Данные в отчете Rect DAX: Программирование 1 29.08.2007 14:12
Динамические контролы в отчете основанные на display-методе petr DAX: Программирование 19 18.09.2006 15:29
Работа с полями-массивами в отчете Dubinski Serguei DAX: Программирование 2 15.04.2004 17:03

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

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

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