|  20.01.2015, 11:12 | #1 | 
| Участник | ИЛИ в Query 
			
			Перекрываю  executeQuery на InventTable X++: public void executeQuery() { this.query().dataSourceTable(tablenum(InventTable)).addRange(fieldnum(InventTable, ItemType)).value(strFmt('((%1 == %2) || (%1 == %3)) && (%4 == "%5"))' , fieldStr(InventTable, ItemType), any2int(ItemType::Item), any2int(ItemType::Asset_RU), fieldStr(InventTable, ItemId), queryValue("AUDI-A 8") )); super(); } X++: public void executeQuery() { this.query().dataSourceTable(tablenum(InventTable)).addRange(fieldnum(InventTable, ItemType)).value(strFmt('((%1 == %2) || (%1 == %3)) && (%4 == "%5"))' , fieldStr(InventTable, ItemType), any2int(ItemType::Item), any2int(ItemType::Asset_RU), fieldStr(InventTable, ItemId), queryValue( con2str(["AUDI-A 8", "AUDI-Q 7"]) ))); super(); } Последний раз редактировалось NetBus; 20.01.2015 в 11:24. | 
|  | 
|  20.01.2015, 11:18 | #2 | 
| NavAx | 
			
			а так? Цитата: 
		
			queryValue('"AUDI-A 8", "AUDI-Q 7"');
		
	 | 
|  | 
|  20.01.2015, 11:22 | #3 | 
| Участник | 
			
			пусто в grid
		 | 
|  | 
|  20.01.2015, 11:24 | #4 | 
| Участник | 
			
			Почему вы решили использовать Expressions in query ranges? Для приведенных примеров в этом нет необходимости. Достаточно последовательно добавить ограничения по одному. | 
|  | 
|  20.01.2015, 11:26 | #5 | 
| Участник | 
			
			Это отвлеченный пример, — поясняющий логику требуемой задачи. На самом деле данных гораздо больше и нужны именно expression | 
|  | 
|  20.01.2015, 11:38 | #6 | 
| Участник | 
			
			Нельзя смешивать в одном условии расширенный синтаксис и обычный. Если начали решать задачу через expression - делайте все условия по этим правилам. X++: '((%1 == %2) || (%1 == %3)) && ((%4 == "%5") || (%4 == "%6"))' | 
|  | |
| За это сообщение автора поблагодарили: Ruff (1), NetBus (1). | |
|  20.01.2015, 11:57 | #7 | 
| NavAx | X++: this.query().dataSourceTable(tablenum(InventTable)).addRange(fieldnum(InventTable, ItemType)).value(strFmt('((%1 == %2) || (%1 == %3)))' , fieldStr(InventTable, ItemType), any2int(ItemType::Item), any2int(ItemType::Asset_RU), ))); this.query().dataSourceTable(tablenum(InventTable)).addRange(fieldnum(InventTable, ItemId)).value('"AUDI-A 8", "AUDI-Q 7"'); | 
|  | |
| За это сообщение автора поблагодарили: Ruff (1). | |