|
![]() |
#1 |
Участник
|
у меня сейчас написан код
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 |
|
![]() |
#2 |
MCP
|
У вас этот код написан в методе fetch() ?
|
|
![]() |
#3 |
Участник
|
вот такой код там еще добавились поля
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; } |
|
![]() |
#4 |
Участник
|
Сразу после строки "qr = new QueryRun(queryRun.query());" вставьте ради отладки
"info(qr.query().datasourceNo(1).toString);" Тогда вы получите сам текст сконструированного запроса. Возможно он поможет разобраться в чём проблема |
|
|
![]() |
||||
Тема | Ответов | |||
DAX2009 EP: Работа с данными в C# | 3 | |||
Данные в отчете | 1 | |||
Динамические контролы в отчете основанные на display-методе | 19 | |||
Работа с полями-массивами в отчете | 2 |
|