31.03.2011, 15:24 | #21 |
MCP
|
Вы неправильно применили правильный совет 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 |
Участник
|
|
|
31.03.2011, 15:38 | #23 |
Участник
|
у меня сейчас написан код
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 |
MCP
|
У вас этот код написан в методе fetch() ?
|
|
31.03.2011, 15:48 | #25 |
Участник
|
вот такой код там еще добавились поля
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 |
Участник
|
Сразу после строки "qr = new QueryRun(queryRun.query());" вставьте ради отладки
"info(qr.query().datasourceNo(1).toString);" Тогда вы получите сам текст сконструированного запроса. Возможно он поможет разобраться в чём проблема |
|
31.03.2011, 15:51 | #27 |
Участник
|
Уберите из метода fetch строку
X++: ret = super(); |
|
31.03.2011, 15:59 | #28 |
Участник
|
убрал,
при запуске появляется серый экран |
|
31.03.2011, 16:11 | #29 |
Участник
|
|
|
31.03.2011, 16:21 | #30 |
Участник
|
как бы так описать
при запросе отчета сам отчет вылетает в левую верхнюю часть экрана в виде маленького серого квадратика примерно 3 на 3 см начинаю его растягивать сплошной серый экран |
|
31.03.2011, 16:25 | #31 |
Участник
|
А версия аксапты у вас какая? В методе fetch ещё "return ret" замените на "return true".
|
|
31.03.2011, 16:30 | #32 |
Участник
|
да заработала,
большое спасибо |
|
|
Похожие темы | ||||
Тема | Ответов | |||
DAX2009 EP: Работа с данными в C# | 3 | |||
Данные в отчете | 1 | |||
Динамические контролы в отчете основанные на display-методе | 19 | |||
Работа с полями-массивами в отчете | 2 |
|