| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			RunBaseBatch query изгаления
			 
			
			Есть некий класс, наследованный от RunBaseBatch, выполняющий несколько операций, с разными параметрами запросов к одной и той же таблице. 
		
		
		
		
		
		
		
	На данный момент он переделывается на поддержку query, а не обычного цикла селекта в коде. Но т.к. операций несколько, то хочется для каждой задавать свои параметры, а система при создании нескольких источников данных показывает на форме при запуске класса только один, да и контролировать его название не получается. Вопросы: - как в классе сделать отображение нескольких источников данных для задания параметров? - как проще, удобнее и правильнее контролировать названия этих источников?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Насчёт параметров. Это всё аксапта делает сама и программировать даже не нужно. Всё правильно. Если хотите можете сделать красивую форму всю в галочках и открывающихся списках. Сколько элементов не знаю там будет это ваша фантазия. Вообщем создать свой создатель запросов. Т.е. пользователь там будет видеть то что он от вас просит. А по какой-нибудь кнопке будете вызывать этот класс(наследник RunBaseBatch) подкидывать ему query который навоял пользователь. Цитата: 
	
Цитата: 
	
Да и не забудьте что любым запрос не может быть. Потому что вам с него ещё данные нужно снимать. Т.е. каркас всё таки должен быть предопределён. 
				__________________ 
		
		
		
		
		
			Энергия молодых и неравнодушных способна изменить мир к лучшему. Последний раз редактировалось miklenew; 01.03.2010 в 13:33.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну у запроса-то есть источники данных и там можно добавить несколько одинаковых. 
		
		
		
		
		
		
		
	На счет не контролировать - это робот (довольно древний) для обработки заказов, при разных задачах нужны разные фильтры, но разносить по разным классам уже не хотелось бы, да и порядок выполнения задач важен. Пока сделал через "костыли", но только для одной задачи.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Во-вторых, в диалоге отображаются те источники данных и поля, для которых добавлены условия (т.е. сделано addRange(fieldNum(..) на соответствующем источнике). Не обязательно заполнять Value() - это можно сделать в запросе на форме. В третьих, для этих условий не должен стоять статус Hidden Если это сделано, то условия и источники будут отражаться в диалоге (правда, не все - есть ограничение на кол-во выводимых полей 
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			1 - возвращает. 
		
		
		
		
		
		
		
	2 - не правда, но даже если самому их добавить. все равно не отображается. 3 - не стоит. При добавлении двух одинаковых источников показывается один, в настройке запроса видно два, при указании параметров для обоих с основной формы поля источников пропадают.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ммм... 
		
		
		
		
		
		
		
	2 - частично не правда, для первого же можно ренджи не задавать, а так оказалось. что и статус Locked тоже так же себя ведет. Спасибо.  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не правда что? 
		
		
		
		
		
		
			Я указал, что требуется, для того что-бы нужные вам поля выводились в диалоге. 
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не правда в том, что если добавить один источник, он появляется в форме, если добавить точно так же другой (оба не создавая дополнительных ренджей), второго в форме не будет.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			На второй таблице у вас нет индексных полей. Вот они и не появились. 
		
		
		
		
		
		
			Если явно не добавлены ренджы. То по умолчанию появляются именно индексные поля. 
				__________________ 
		
		
		
		
	Энергия молодых и неравнодушных способна изменить мир к лучшему.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Как это? 
		
		
		
		
		
		
		
	Я добавляю две одинаковые таблицы.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Скриншотов парочку сделайте. 
		
		
		
		
		
		
			Вид самого диалога. И вид того что открывается по кнопке выбор. 
				__________________ 
		
		
		
		
	Энергия молодых и неравнодушных способна изменить мир к лучшему.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			uchenik, гляньте в класс RunBaseDialogModify, например, в метод updateQuery, а потом в RunBaseDialogModifyDs_RU. Обратите внимание на map tableFormGroupControlMap и то, что является его ключом. Вобщем, найдите разницу и многое может проясниться, недавно там копался. 
		
		
		
		
		
		
		
	А по поводу названия DS гляньте в вышеупомянутый RunBaseDialogModifyDs_RU в метод getDataSourceCaption - может быть это, то что Вам нужно, если я правильно Вас понял. P.S.: Вы не упомянули про версию Аксы, я об AX 4.0 SP2 FP1  | 
| 
	
 |