| 
			
			 | 
		#21 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			блин, а как все сложно начиналось та  
		
		
		
		
		
		
		
	![]() по идее нужно ограничение вида prodId == 'prodNum1' || CollectRefProdId == 'prodNum1'; т.е. X++: str value = '((ProdId == %1)||(CollectRefProdId == %1))' ... ....addRange(fieldNum(prodTable,recId)).value(strFmr(value, 'ProdNum1')); ПС: могут быть опечатки и пр мелочи. но идея вроде та.  | 
| 
	
 | 
| 
			
			 | 
		#22 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Ошибка расширенного диапазона запроса: Синтаксическая ошибка рядом с 18.
		
	 
X++: if( SalesEditFilter.valueStr() ) prodTable_ds.query().dataSourceTable(tableNum( ProdTable )).addRange( fieldNum( ProdTable, RecId ) ).value(strFmt(value, SalesEditFilter.valueStr())); else prodTable_ds.query().dataSourceTable(tableNum( ProdTable )).addRange( fieldNum( ProdTable, RecId ) ).value(strFmt(value, "")); 
				__________________ 
		
		
		
		
		
			Рабочий день сокращает жизнь на 8 часов ![]() Последний раз редактировалось Himan; 29.03.2007 в 17:01.  | 
| 
	
 | 
| 
			
			 | 
		#23 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			str value = '((ProdId == "%1")||(CollectRefProdId == "%1"))'
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#24 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Jony
			 
 
			блин, а как все сложно начиналось та  
		
	![]() по идее нужно ограничение вида prodId == 'prodNum1' || CollectRefProdId == 'prodNum1'; т.е. X++: str value = '((ProdId == %1)||(CollectRefProdId == %1))' ... ....addRange(fieldNum(prodTable,recId)).value(strFmr(value, 'ProdNum1')); ПС: могут быть опечатки и пр мелочи. но идея вроде та. 
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#25 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			по else  ветка должна по идее очищать существующий ренж а не добавлять пустой. 
		
		
		
		
		
		
		
		
			и ненада каждый раз добавлять ограничение, его можно тока 1 раз добавить и менять ему значение каждый раз. Последний раз редактировалось Jony; 29.03.2007 в 17:26.  | 
| 
	
 | 
| 
			
			 | 
		#26 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			т.е. надо фильтр налаживать на номар ссылки вот в чем проблемка
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#27 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			по теории должно помочь, если сделать выборку, а потом join
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#28 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			надо что-то подобное  
		
		
		
		
		
		
			X++: prodTable_ds.query().dataSourceTable(tableNum( ProdTable )).addRange( fieldNum( ProdTable, InventRefId ) ).value( SalesEditFilter.valueStr()); qbs = prodTable_ds.query().dataSourceTable(tableNum( ProdTable )).addDataSource(tableNum(ProdTable)); qbs.addLink( fieldNum( ProdTable, CollectRefProdId ), fieldNum( ProdTable, ProdId ) ); 
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#29 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вылаживаю запрос который отрабатывает коректно... 
		
		
		
			в коде прописы df. следующее.: X++: qbs = prodTable_ds.query().dataSourceTable(tableNum( ProdTable )).addDataSource(tableNum(ProdTable)); qbs.addLink( fieldNum( ProdTable, CollectRefProdId ), fieldNum( ProdTable, ProdId ) ); qbs.joinMode( joinMode::InnerJoin ); qbs.addRange( fieldNum( ProdTable, InventRefId ) ).value( SalesEditFilter.valueStr()); 
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#30 | 
| 
			
			 Дмитрий Ерин 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от Himan
			 
 
			Вылаживаю запрос который отрабатывает коректно... 
		
	в коде прописы df. следующее.: X++: qbs = prodTable_ds.query().dataSourceTable(tableNum( ProdTable )).addDataSource(tableNum(ProdTable)); qbs.addLink( fieldNum( ProdTable, CollectRefProdId ), fieldNum( ProdTable, ProdId ) ); qbs.joinMode( joinMode::InnerJoin ); qbs.addRange( fieldNum( ProdTable, InventRefId ) ).value( SalesEditFilter.valueStr()); Не вникал в задачу, поэтому сказать, где - правильно, не могу. Но где-то точно неправильно  
		
				__________________ 
		
		
		
		
	 
			 | 
| 
	
 | 
| 
			
			 | 
		#31 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Потому что у Вас в коде CollectRefProdId относится к родительскому DS, а ProdId - к дочернему (см. выше замечание Jony про метод addLink). А в приложенном Query в relation всё указано наоборот: Field = CollectRefProdId, RelatedField = ProdId.
		
	 
а в коде все, не фильтрует почему не понятно 
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#32 | 
| 
			
			 Дмитрий Ерин 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Попробуйте так: 
		
		
		
		
		
		
			X++: ... qbs.joinMode( joinMode::InnerJoin ); qbs.fetchMode(1); ... 
				__________________ 
		
		
		
		
	 
			 | 
| 
	
 | 
| 
			
			 | 
		#33 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 X++: qbs.addLink( fieldNum( ProdTable, ProdId ), fieldNum( ProdTable, CollectRefProdId ) ); qbs.joinMode( joinMode::InnerJoin ); qbs.fetchMode(1); qbs.addRange( fieldNum( ProdTable, InventRefId ) ).value( SalesEditFilter.valueStr()); 
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#34 | 
| 
			
			 Дмитрий Ерин 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну да... фетчмоде вообще-то по умолчанию = 1. Это я ступил  
		
		
		
		
		
		
			![]() Сложно конечно разгадывать вслепую. Форму бы глянуть... Может быть дело в выравнивании... У Вас на контроле SalesEditFilter (я так понимаю - это StringEdit) - в качестве EDT указан SalesIdBase или что? 
				__________________ 
		
		
		
		
	 
			 | 
| 
	
 | 
| 
			
			 | 
		#35 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			нет там EDT, просто поле на форма) Я из него значение прямо в фильтр и все
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#36 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			вот форма)) посмотрите в чем дело
		 
		
		
		
			
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#37 | 
| 
			
			 Дмитрий Ерин 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну вот, как я и предполагал. 
		
		
		
		
		
		
			Попробуйте указать этому контролу свойство ExtendedDataType = SalesIdBase. Если не поможет, значит проблема не в выравнивании вправо  
		
				__________________ 
		
		
		
		
	 
			 | 
| 
	
 | 
| 
			
			 | 
		#38 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Значит не в выравнивании)
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#39 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			почему интересно на значения фильтра не реагирует, если бы выравнивание то вообще ничего ббы не выводил а так, все выводит как будто на него ничего и не накладывали, что такое ума не приложу) 
		
		
		
		
		
		
			дак выложил же Up 
				__________________ 
		
		
		
		
	Рабочий день сокращает жизнь на 8 часов ![]()  | 
| 
	
 | 
| 
			
			 | 
		#40 | 
| 
			
			 Дмитрий Ерин 
		
			
	 | 
	
	
	
		
		
		
		 
			
			не, не выравнивание! 
		
		
		
		
		
		
			у Вас же там второй ds - InventDim. Тут надо думать, как их подружить - навскидку не подскажу, а времени разбираться к сожалению нет. Но если попробовать на форме убрать связь с InventDim (понятно, что этого делать нельзя, но просто чтобы понять), то Ваш фильтр срабатывает. 
				__________________ 
		
		
		
		
	 
			 | 
| 
	
 | 
| Теги | 
| datasource, query, датасорс (datasource), источник данных (datasource), подчиненный источник данных, программно, запрос (query) | 
| 
	
	 | 
	
		
		
  |