|
![]() |
#1 |
Гость
|
Как быстро посчитать кол-во записей?
Задачка для самообучения: есть табличка LedgerJournalTrans, хочется посчитать количество записей с произвольными критериями в ней и выкинуть в эксель.
X++: select count(RecId) from LedgerJournalTrans ![]() Затык именно на критериях запроса. Идея сформировать НД X++: Query q; QueryRun qr; QueryBuildDataSource qbd; QueryBuildRange qbr; q = new Query(); qbd = q.AddDataSource(TableNum(LedgerJournalTrans)); // Добавили таблицу – источник данных qbr =qbd.AddRange(FieldNum(LedgerJournalTrans,[])); Поможете начинающему? |
|
![]() |
#2 |
Участник
|
см. Сервис\Средства разработки\Количество записей в таблицах.
![]() А что вы подразумеваете под НД? Можете покопать в сторону (запрос ИЛИ - найдете, как в запросе указывать фильтр строкой - а строку, думаю, уже сможете сформировать) |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от Shakr
![]() Задачка для самообучения: есть табличка LedgerJournalTrans, хочется посчитать количество записей с произвольными критериями в ней и выкинуть в эксель.
X++: select count(RecId) from LedgerJournalTrans ![]() Затык именно на критериях запроса. Идея сформировать НД X++: Query q; QueryRun qr; QueryBuildDataSource qbd; QueryBuildRange qbr; q = new Query(); qbd = q.AddDataSource(TableNum(LedgerJournalTrans)); // Добавили таблицу – источник данных qbr =qbd.AddRange(FieldNum(LedgerJournalTrans,[])); Поможете начинающему? |
|
![]() |
#4 |
Гость
|
Цитата:
Сообщение от Lucky13
![]() Посмотрите тут
X++: qr = new QueryRun(q);
cnt = SysQuery::countTotal(qr); ![]() |
|
![]() |
#5 |
Участник
|
Что-то функция у меня неправильно отрабатывает. Может, я чего не так делаю?
X++: Counter ii; QueryRun queryRun; Query Query; QueryBuildDataSource InvTrans,Inv,Dim; ; query=new query(); InvTrans=query.addDataSource(tablenum(InventTrans)); Dim=InvTrans.addDataSource(tablenum(InventDim)); Dim.relations(true); Inv=InvTrans.addDataSource(tablenum(InventTable)); inv.addLink(fieldnum(inventtrans,itemid),fieldnum(InventTable,ItemId)); inv.joinMode(JoinMode::ExistsJoin); InvTrans.addRange(fieldnum(InventTrans,ItemId)).value(ItemId); Dim.addRange(fieldnum(InventDim,InventLocationId)).value(LocId); Inv.addRange(fieldnum(InventTable,ModelGroupId)).value(MGId); queryRun = new QueryRun(query); if (!queryRun.prompt()) return; [B] ii=SysQuery::countTotal(queryrun);[/B] Последний раз редактировалось gefr; 24.08.2007 в 11:49. |
|
![]() |
#6 |
Участник
|
попробуйте
SysQuery::countLoops |
|
![]() |
#7 |
Участник
|
|
|
![]() |
#8 |
SAP
|
Цитата:
он возвращает значительно больше, чем есть на самом деле (на несколько порядков)
|
|
![]() |
#9 |
----------------
|
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|