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