|
14.03.2007, 12:25 | #1 |
Участник
|
"while select" и "Query"
Есть запрос:
X++: while select sum(Qty) from inventTrans where inventTrans.StatusIssue == StatusIssue::Sold && inventTrans.StatusReceipt == StatusReceipt::None && inventTrans.TransType == InventTransType::Sales join inventTable group by ItemGroupId where inventTable.ItemId == inventTrans.ItemId join salesTable where salesTable.SalesId == inventTrans.TransRefId && salesTable.SalesResponsible == _emplId В чем может быть причина? |
|
14.03.2007, 12:30 | #2 |
Участник
|
Покажите запрос через Query тоже. Или он в АОТ?
|
|
14.03.2007, 12:35 | #3 |
Участник
|
Цитата:
Покажите запрос через Query тоже. Или он в АОТ?
если убрать из Query SalesTable, то запрос отрабатывает. Видимо проблема со вторым join, т.к. по другому полю. |
|
14.03.2007, 12:37 | #4 |
Программатор
|
Покажите код кверика. Кажись есть мысля...
|
|
14.03.2007, 12:45 | #5 |
Участник
|
Предполагаю, что вы при формировании Query забыли про "магический" fetchMode.
Его значение нужно установить в 1 (это OneToOne) |
|
|
За это сообщение автора поблагодарили: ice (1). |
14.03.2007, 12:54 | #6 |
Участник
|
|
|
14.03.2007, 12:51 | #7 |
Участник
|
X++: q = new Query(); qbds = q.addDataSource(tablenum(InventTrans)); qbds.addRange(fieldnum(InventTrans, StatusIssue)).value(queryValue(StatusIssue::Sold)); qbds.addRange(fieldnum(InventTrans, StatusReceipt)).value(queryValue(StatusReceipt::None)); qbds.addRange(fieldnum(InventTrans, TransType)).value(queryValue(InventTransType::Sales)); qbds.addSelectionField(fieldnum(InventTrans, Qty), SelectionField::Sum); qbds = qbds.addDataSource(tablenum(InventTable)); qbds.relations(true); qbds.addSortField(fieldnum(InventTable, ItemGroupId)); qbds.orderMode(OrderMode::GroupBy); qbds = qbds.addDataSource(tablenum(SalesTable)); qbds.relations(true); qbds.addRange(fieldnum(SalesTable, SalesResponsible)).value(_emplId); qr = new QueryRun(q); |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|