| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Помогите разобраться с лукапом
			 
			
			Проблема анологична, описаной тут 
		
		
		
		
		
		
		
	только описаное там же решение не помогает. Вот код перекрытого мною лукапа: X++: public void lookup() { Query query = new Query(); QueryBuildDataSource queryBuildDataSource; QueryBuildRange queryBuildRange; SysTableLookup sysTableLookup; ; this.text(''); sysTableLookup = SysTableLookup::newParameters(tableNum(RD_InventType), this); sysTableLookup.addLookupField(fieldNum(RD_InventType, InventTypeMK)); sysTableLookup.addLookupField(fieldNum(RD_InventType, prefix)); queryBuildDataSource = query.addDataSource(tableNum(RD_InventType)); queryBuildDataSource.addSortField(fieldNum(RD_InventType, InventTypeMK)); queryBuildDataSource.addSortField(fieldNum(RD_InventType, prefix)); queryBuildDataSource.orderMode(orderMode::GroupBy); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); // super(); }  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А не поможет ли: 
		
		
		
		
		
		
		
	sysTableLookup.parmUseLookupValue(false);  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			sysTableLookup.parmUseLookupValue(false);
		
	 
				__________________ 
		
		
		
		
	![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Четвёрка?
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А если Query не динамически создавать, а в AOT построить или вьюху создать и на её основе лукап делать? Тот же эффект?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Разница 3-ки и 4-ки в классе sysTableLookup\formRun(): 
		
		
		
		
		
		
		
	4.0: X++: if(useLookupValue) { args.lookupField(lookupField); switch (callingControl.handle()) { case classnum(FormStringControl): callingStringControl = callingControl; args.lookupValue(callingStringControl.text()); break; } } X++: switch (callingControl.handle()) { case classNum(FormStringControl): callingStringControl = callingControl; args.lookupValue(callingStringControl.hasChanged() ? callingStringControl.text() : callingStringControl.valueStr()); break; }  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			РЕшил проблемк переписав класс sysTableLookup
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Действительно странно лукап отображается 
		
		
		
		
		
		
			Он как будто сначала не сгруппированный отображается, а потом уж строки начинают сворачиваться Цитата: 
	
		
			А если Query не динамически создавать, а в AOT построить или вьюху создать и на её основе лукап делать?
		
	 
Вью, наверное, заработает. Или попробовать лукап-форму. 
				__________________ 
		
		
		
		
	![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			РЕшил проблемк переписав класс sysTableLookup
		
	 
 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Дописал необязательный параметр в методе FromRun: 
		
		
		
		
		
		
		
	X++: public FormRun formRun(boolean useLookupValue = true) { ****** X++: if (useLookupValue) { switch (callingControl.handle()) { case classNum(FormStringControl): callingStringControl = callingControl; args.lookupValue(callingStringControl.text()); break; } } X++: void performFormLookup(boolean useLookupValue = true) X++: callingStringControl.performFormLookup(this.formRun(useLookupValue)); X++: sysTableLookup.performFormLookup(false); | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Димитрий, а можно проектиком выложить класс sysTableLookup и пример LookUp? 
		
		
		
		
		
		
		
	Пока не помогло. Вариант с this.text("") тоже не прокатил.  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Лекарство применено правильно, но не до конца - нужна более заковыристая терапия  
		
		
		
		
		
		
		
	 .См. рекомендацию EVGL здесь: Как сделать лукап со своими значениями? X++: saveText = _ctrl.text(); _ctrl.text(""); _ctrl.pasteText("", false); // Disable filter effects ............................................... _ctrl.pasteText(saveText, false);  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Logger (1). | |
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо!
		 
		
		
		
		
		
		
		
	 | 
| 
	
 |