|  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:51 | #6 | 
| Участник | 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); | 
|  | 
|  14.03.2007, 12:54 | #7 | 
| Участник |   | 
|  |