| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Баг в расширенном фильтре
			 
			
			Привет All. 
		
		
		
		
		
		
		
	Есть такая проблема - может кто сталкивался - Axapta 2.5sp5 Не работает фильтр по полю связанной таблицы, добавленным пользователем в режиме расширенного фильтра (CtrlF3 -> расширенно -> n:1 -> ...) Пример: форма InventTable - фильтр по полю "Складская модель" таблицы Группа складских моделей. Причем такое поведение фильтра наблюдается только в формах, где в исходном запросе учавствуют несколько таблиц. Если таблица одна (например CustTable) - все работает. Вопрос: это ошибка ядра или можно поправить классы SysQueryBuild / SysQueryEdit Если можно, то где копать???  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Докопался сам
			 
			
			Все оказалось достаточно просто - в методе SysQueryEdit::unpackDataSource() 
		
		
		
		
		
		
		
	надо после строки childDataSource.joinMode(JoinMode::ExistsJoin); добавить childDataSource.fetchMode(0);  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я бы на Вашем месте сначала посмотрел бы на SQL-запросы, которые генерятся с Вашим исправлением и без. Может действительно что-то не так настроено просто.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо за совет. Я посмотрел. До моих испралений SQL запрос вообще не содержал 
		
		
		
		
		
		
		
	дополнительной таблицы. Все-таки интересно - что же такое fetchMode ??? В axapta 3.0 есть enum QueryFetchMode с элементами One2one (0) и One2Many (1) Единственное, что приходит на ум : one2one рождает SQL-запрос вида: select t1 join firstOnly t2 where <...> а one2many : select t1 join t2 where <...> так что-ли?  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хм, странно. Похоже действительно на ошибку в ядре. Причем, ошибка эта видимо уже исправленная. 
		
		
		
		
		
		
			Если интересно, попробуйте посмотреть еще и на структуру Query. Для этого очень полезен метод query.exportXML. В любом случае, спасибо за полезную информацию. 
				__________________ 
		
		
		
		
	Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В 3.0 SP 1  проблема остается.  
		
		
		
		
		
		
		
	решение немного отличается в методе \Classes\SysQuery\unpackDataSource childDataSource.joinMode(JoinMode::ExistsJoin); //mit, 02.03.05, 3.0 --> childDataSource.fetchMode(1); // childDataSource.fetchMode(QueryFetchMode::One2One); //mit, 02.03.05, 3.0 <-- т.е. связь должна быть все таки QueryFetchMode::One2Many  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано DenisS  
Все-таки интересно - что же такое fetchMode ??? В axapta 3.0 есть enum QueryFetchMode с элементами One2one (0) и One2Many (1)  
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Нет, все таки проблема таким способом не решается.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			что то никак не могу сообразить - где баг 
		
		
		
		
		
		
		
	ошибка вылезла в отчете \Menus\Ledger\Отчеты\Список бухгалтерских проводок (\Menu Items\Output\LedgerTransListAccount) в запросе присоединяю таблицу LedgerJournalTrans ввожу дополнительный критерий в поле InterCoDimension (Код аналитики в компании, используемой во внутренних расчетах) получаю Ошибка времени выполнения. : SysQuery (object), метод unpackDataSource вызван с неправильными параметрами. Трассировка стека: (S) \Classes\SysQuery\unpackDataSource (S) \Classes\SysQuery\unpackRangeAndSortorder - line 84 (S) \Classes\RunBaseReport\unpack - line 30 (S) \Classes\LedgerReport_TransListAccount\unpack - line 11 (S) \Classes\RunBase\promptUnpack - line 4 (S) \Classes\RunBaseBatch\promptUnpack - line 7 (S) \Classes\RunBase\promptPrim - line 14 (S) \Classes\RunBase\prompt - line 10 (S) \Classes\RunBaseBatch\prompt - line 3 (S) \Classes\RunBaseReport\prompt - line 13 (S) \Classes\LedgerReport_TransListAccount\main - line 6 (S) \Classes\MenuFunction\runServer Может кто встречался с подобной проблемой в 3.0 ?  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Первый раз, за все время наткнулся на эту ошибку. Хотел уточнить решения найдено или нет?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 |