| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Использование "like" при работе с классом "QueryBuildRange"
			 
			
			Как задать классу "QueryBuildRange" значение c ключевым словом "like" ? 
		
		
		
		
		
		
		
	Требуется получиться запрос типа X++: select RassetTable where RassetTable.AccountNum like "0*"; X++: Query query = new Query(); QueryBuildDataSource ds = query.addDataSource(tableNum(RassetTable)); QueryRun queryRun; ; ds.addRange(fieldNum(RassetTable, AccountNum)).value('((AccountNum like "0*"))'); queryRun = new QueryRun(query); queryRun.next();  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			ds.addRange(fieldNum(RassetTable, AccountNum)).value("0*");
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Microsoft Dynamics 
		
			
	 | 
	
	
	
		
		
		
		 Код: ds.addRange(fieldNum(RassetTable, AccountNum)).value("0*");
				__________________ 
		
		
		
		
	You should use Bing before asking dumb questions.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			угу, и еще это полезно почитать: http://axapta.mazzy.ru/lib/search/
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Безвыходным мы называем положение, выход из которого нам не нравится.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			ок, а если надо диапазон типа  
		
		
		
		
		
		
		
	qbr.value('((AccountNum like "0*") || (AccountNum like "1*"))'); ?  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			т.е. нужен именно расширенный диапазон
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			qbr.value('((AccountNum like "0*") || (AccountNum like "1*"))'); 
		
		
		
		
		
		
		
		
			примерно так: X++: range r1,r2; ; r1 = '(AccountNum like 0*)'; r2 = '(AccountNum like 1*)'; ds.addRange(fieldNum(SomeTable, recId)).value(r1); ds.addRange(fieldNum(SomeTable, recId)).value(r2); разбил условие на 2 строки так как иногда (по непонятным причинам) такие условия то работают, то требуют какуюгить скобку (хотя их достаточно) PPS: (по непонятным причинам) - т.е если источник данных этого условия первый - то можно 1 строкой , если не первый то 1-й строкой не фурычит, разбив на 2 и добавив - все нормально работает если одной строкой то она выглядет так : ((AccountNum like 0*)||(AccountNum like 1*)) сорри нада like вместо == Последний раз редактировалось Jony; 11.08.2006 в 11:03.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Microsoft Dynamics 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вы обратились к ссылкам, которые Вам порекомендовали? Читайте документацию, говорят, помогает...
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	You should use Bing before asking dumb questions.  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			пардон, я слегка не правильно написал... особенность, что нужно расширенные диапазон через "или" на разные поля, т.е. типа 
		
		
		
		
		
		
		
	qbr.value('((AccountNum like "0*") || (AccountGroup like "1*"))');  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Axapta 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			если разные поля, то точно так же 
		
		
		
		
		
		
		
	qbr.value('((AccountNum like "0*") || (AccountNum like "1*"))'); примерно так: range r1,r2; ; r1 = '(AccountNum like 0*)'; r2 = '(AccountGroup like 1*)'; ds.addRange(fieldNum(SomeTable, recId)).value(r1); ds.addRange(fieldNum(SomeTable, recId)).value(r2); или ds.addRange(fieldNum(SomeTable, recId)).value('((AccountNum like 0*)||(AccountGroup like1*))); что одно и тоже ( но иногда работеат то одно то другое   )
		 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			ds.addRange(fieldNum(SomeTable, recId)).value('((AccountNum like "0*")||(AccountGroup like"1*"))); 
		
		
		
		
		
		
		
	вот так вот не работает... а именно так и надо бы  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от poul
			
			 
ds.addRange(fieldNum(SomeTable, recId)).value('((AccountNum like "0*")||(AccountGroup like"1*"))); 
		
	вот так вот не работает... а именно так и надо бы Вам написали одно, а вы пробуете другое ![]() Я например не могу найти у вас закрывающую кавычку для value ('....') Щас проверю в Аксапте  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			вот так попробуйте :  
		
		
		
		
		
		
		
	ds.addRange(fieldNum(SomeTable, recId)).value('(AccountNum like "0*" || AccountGroup like"1*"));  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от kashperuk
			
			 
Честно говоря, не совсем понял. 
		
	Вам написали одно, а вы пробуете другое ![]() Я например не могу найти у вас закрывающую кавычку для value ('....') Щас проверю в Аксапте и ещё за сцылки очень большое спасибо, но как говорицца не по делу... потомучто задать буквально одной строкой надо фильтр аля "AccountNum like '0*"', только вот с синтакцисом проблемы   ... вариант "0*" не подходит
		 | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от zelen
			
			 
вот так попробуйте :  
		
	ds.addRange(fieldNum(SomeTable, recId)).value('(AccountNum like "0*" || AccountGroup like"1*"));   ?у меня вооопсче ни в каком виде не принимает слово "like"... с количеством скобочек тоже эксперементировал  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			меняю слово "like" на "==" все работает... может быть это слово вобще нельзя использовать ?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			сорри, не совсем так  
		
		
		
		
		
		
		
	 
		 | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Тогда еще это почитайте Возможность использования Like в QueryBuildRange
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Безвыходным мы называем положение, выход из которого нам не нравится.  | 
| 
	
 |