|
05.12.2002, 17:18 | #1 |
Участник
|
Использование QueryBuildRange в отчетах
Привет всем,
Вопрос: какая связь между предопределенными Ranges на DataSourc'ах и ranga'ми определяемыми из кода? Опишу ситуацию: делаю отчет, который должен печать прайс-лист из всех айтемов и их цены для определенного клиента за заданный период времени, причем если клиент покупал один и тот же айтем в разное время, то выводить только самую последнюю цену. Значения полей из rang'ей тоже нужно вывести на печать.Я завел в query новый (единственный) датасоурс SalesLine с ranges custAccount и createdDate и с сортировкой по ItemId и createdDate. Теперь переписываю fetch() public boolean fetch() { QueryBuildDataSource ds; QueryRun qr; SalesLine line; str cust, period, previousItemId; ; qr = new QueryRun(element.query()); if (qr.prompt()) { ds = element.query().dataSourceTable(tableNum(SalesLine)); // хочу найти наложенные ranges и взять их значения, которые задал юзер cust = ds.findRange(fieldNum(SalesLine, CustAccount)).value(); period = ds.findRange(fieldNum(SalesLine, createdDate)).value(); // Для начала хочу просто посмотреть что значения правильно считались info(cust + " " + period); /* НО ЗДЕСЬ НИЧЕГО НЕТ, хотя дальше все работает првильно и ограничения действительно были наложены. */ while (qr.next()) { line = qr.get(tableNum(SalesLine)); if (strcmp(line.ItemId, previousItemId)) { element.send(line); previousItemId = line.ItemId; } } } return true; } т.е. такое ощущение, что я по findRange(...) не нахожу наложенных ranges. Как выкрутиться? |
|
|
|