| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Надо на форму Dialog добавить поле RContractCode из таблицы RContractTable. 
		
		
		
			Должен получиться такой список Делаю так: X++: protected Object dialog(DialogRunbase _dialog, boolean _forceOnClient) {; dialog = super(_dialog, _forceOnClient); dialog.caption("Задайте параметры"); rContractCodeField = dialog.addFieldValue(TypeId(RContractCode), rContractCode); return dialog; } public void dialogPostRun(DialogRunbase _dialog) { super(_dialog); _dialog.formRun().controlMethodOverloadObject(this); _dialog.formRun().controlMethodOverload(true); } public void rContractCodeField_lookup() { FormStringControl formStringControl; SysTableLookup sysTableLookup; Query query = new Query(); QueryBuildDataSource qbds; ; formStringControl = dialog.formRun().controlCallingMethod(); sysTableLookup = SysTableLookup::newParameters(tablenum(RContractTable),formStringControl); sysTableLookup.addLookupfield(fieldnum(RContractTable, RContractCode)); qbds = query.addDataSource(tablenum(RContractTable)); // Получаем нужное поле qbds.addSelectionField(fieldnum(RContractTable, RContractCode)); // Используем группировку, чтобы убрать дубли qbds.addGroupByField(fieldnum(RContractTable, RContractCode)); // Отображаем только для Поставщиков qbds.addRange(fieldnum(RContractTable, RContractPartnerType)).value(enum2str(RContractPartnerType::Vend)); //info(query.dataSourceNo(1).toString()); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } То есть, не получается отфильтровать нужные данные. И оно почему-то не заходит в lookup-метод AX2009 (5.0.1500)  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Попробуйте так: 
		
		
		
		
		
		
			X++: public void dialogPostRun(DialogRunbase _dialog) { super(_dialog); _dialog.dialogForm().formRun().controlMethodOverloadObject(this); _dialog.dialogForm().formRun().controlMethodOverload(true); } 
				__________________ 
		
		
		
		
	Андрей.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: SuperStar88 (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Пропиши в методе dialog: 
		
		
		
		
		
		
		
		
			rContractCodeField .registerOverrideMethod(methodStr(formStringControl, lookup), methodStr(Название класса, rContractCodeField_lookup), this); X++: protected Object dialog(DialogRunbase _dialog, boolean _forceOnClient) {; dialog = super(_dialog, _forceOnClient); dialog.caption("Задайте параметры"); rContractCodeField = dialog.addFieldValue(TypeId(RContractCode), rContractCode); rContractCodeField .registerOverrideMethod(methodStr(formStringControl, lookup), methodStr(name_class_from, rContractCodeField_lookup), this); return dialog; } Последний раз редактировалось Dumfag; 11.08.2017 в 09:55.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вариант 1: 
		
		
		
		
		
		
		
		
			X++: dialog.caption("Задайте параметры"); dialog.customFieldName_RU('rContractCodeField'); rContractCodeField = dialog.addFieldValue(TypeId(RContractCode), rContractCode); X++: public void rContractCodeField_lookup() X++: public void Fld1_1_lookup() Последний раз редактировалось dmn; 11.08.2017 в 10:15.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Dron AKA andy (1), SuperStar88 (1). | |
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от dmn
			 
 
			Вариант 1: 
		
	X++: dialog.caption("Задайте параметры"); dialog.customFieldName_RU('rContractCodeField'); rContractCodeField = dialog.addFieldValue(TypeId(RContractCode), rContractCode); X++: public void rContractCodeField_lookup() X++: public void Fld1_1_lookup()   Использовал 1 вариант!Цитата: 
	
![]() Цитата: 
	
А можно в Lookup использовать SQL вместо QueryBuildDataSource и как?  | 
| 
	
 |