|  26.06.2008, 11:38 | #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(); } | 
|  | 
|  26.06.2008, 12:22 | #2 | 
| Боец | 
			
			А не поможет ли: sysTableLookup.parmUseLookupValue(false); | 
|  | 
|  26.06.2008, 12:29 | #3 | 
| MCTS | Цитата: 
		
			sysTableLookup.parmUseLookupValue(false);
		
	 
				__________________  В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню | 
|  | 
|  26.06.2008, 12:37 | #4 | 
| Боец | Цитата: 
		
			Четвёрка?
		
	 | 
|  | 
|  26.06.2008, 12:42 | #5 | 
| Участник | 
			
			А если Query не динамически создавать, а в AOT построить или вьюху создать и на её основе лукап делать? Тот же эффект?
		 | 
|  | 
|  26.06.2008, 12:47 | #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; } | 
|  | 
|  26.06.2008, 12:55 | #7 | 
| Участник | |
|  | 
|  26.06.2008, 12:56 | #8 | 
| Участник | |
|  | 
|  26.06.2008, 13:07 | #9 | 
| Участник | 
			
			РЕшил проблемк переписав класс sysTableLookup
		 | 
|  | 
|  26.06.2008, 13:09 | #10 | 
| MCTS | 
			
			Действительно странно лукап отображается Он как будто сначала не сгруппированный отображается, а потом уж строки начинают сворачиваться Цитата: 
		
			А если Query не динамически создавать, а в AOT построить или вьюху создать и на её основе лукап делать?
		
	 Вью, наверное, заработает. Или попробовать лукап-форму. 
				__________________  В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню | 
|  | 
|  26.06.2008, 13:18 | #11 | 
| Боец | Цитата: 
		
			РЕшил проблемк переписав класс sysTableLookup
		
	 | 
|  | 
|  26.06.2008, 13:45 | #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); | 
|  | 
|  18.09.2008, 22:40 | #13 | 
| Участник | 
			
			Димитрий, а можно проектиком выложить класс sysTableLookup и пример LookUp? Пока не помогло. Вариант с this.text("") тоже не прокатил. | 
|  | 
|  19.09.2008, 10:48 | #14 | 
| Moderator | 
			
			Лекарство применено правильно, но не до конца - нужна более заковыристая терапия   . См. рекомендацию EVGL здесь: Как сделать лукап со своими значениями? X++: saveText = _ctrl.text(); _ctrl.text(""); _ctrl.pasteText("", false); // Disable filter effects ............................................... _ctrl.pasteText(saveText, false); | 
|  | |
| За это сообщение автора поблагодарили: Logger (1). | |
|  20.09.2008, 10:04 | #15 | 
| Участник | 
			
			Спасибо!
		 | 
|  |