| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			addRange
			 
			
			Подскажите, пожалуйста, а то уже увозился.... 
		
		
		
		
		
		
		
	Формирую следующий запрос: ds.addRange(fieldNum(ProjTable, RecId)).value(strfmt("( ((%1) > %2) && ((%1)< %3)) )", fieldstr(ProjTable, cmpjProdVolume1), any2int( cmpjProdVolume1stYearFrom), any2int(cmpjProdVolume1stYearTo) )); Все работает корректно. Делаю вот так: ds.addRange(fieldNum(ProjTable, RecId)).value(strfmt("( ((%1+%4) > %2) && ((%1+%4)< %3)) )", fieldstr(ProjTable, cmpjProdVolume1), any2int( cmpjProdVolume1stYearFrom), any2int( cmpjProdVolume1stYearTo), fieldstr(ProjTable, cmpjProdVolume2) )); Сообщение об ошибке: [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '='. cmpjProdVolume1 и cmpjProdVolume2 - целочисленные поля ProjTable.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В Аксапте нельзя использовать функции по нескольким полям в запросе. Точнее, можно ипользовать только агрегатные функции. См. Рук-во разработчика.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Андрей.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Dron AKA andy
			
			 
В Аксапте нельзя использовать функции по нескольким полям в запросе. Точнее, можно ипользовать только агрегатные функции. См. Рук-во разработчика. 
		
	Но что-то не разобрался, как подобный запрос сделать. Каким образом можно реализовать такую структуру? Последний раз редактировалось TDima; 05.12.2005 в 12:47.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			попробуй вместо (%1+%4) > %2 использовать %1 > (%2 - %4)
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от dn
			
			 
попробуй вместо (%1+%4) > %2 использовать %1 > (%2 - %4) 
		
	 
		 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Поиогите разобраться. Делаю также, ка упоминалось:  
		
		
		
		
		
		
		
	qbdsIT.addRange(fieldNum(InventTrans,RecId)).value(strfmt("( ((%1) > %2) && ((%1)< %3)) )", fieldstr(InventTrans, DateFinancial), Date2Str(fromDate,123,-1,-1,-1,-1,-1), Date2Str(toDate,123,-1,-1,-1,-1,-1) )); но ошибка: "ожидается правая круглая скобка..."  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			"( ((%1+%4) > %2) && ((%1+%4)< %3)) )" 
		
		
		
		
		
		
			Насчитал внутри кавычек (скобок - 5 шт )скобок - 6 шт да и вместо Date2Str(...) применяй date2StrXpp(_date) 
				__________________ 
		
		
		
		
	![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Большое спасибо, заработало. 
		
		
		
		
		
		
		
	Дело было в функции : date2StrXpp; количество скобок осталось прежним)  | 
| 
	
 |