|  03.08.2005, 07:42 | #1 | 
| Участник | Запуск формы 
			
			Привет! Пишу метод класса, который открывает форму (Расчеты с персоналом - Приказы). Форма должна заполняться данными из query. Но почему-то в эту форму попадают помимо моей выборки и все остальные не разнесенные приказы. Подскажите, пожалуйста, где ошибка? void runForm() { Args args = new Args(); FormRun formRun; Query query = new Query(); QueryRun qr; QueryBuildDataSource qBd; ; args.name(formstr(RHRMOrderTable)); query.addDataSource(tableNum(RHRMOrderTable)); qBd = query.dataSourceTable(tableNum(RHRMOrderTable)); qBd.addRange(fieldNum(RHRMOrderTable,TransDate)).value(queryvalue(rHRMStaffListHeader.AttachDocDate)); qBd.addRange(fieldNum(RHRMOrderTable,JournalType)).value(queryvalue(RHRMJournalType::Transfer)); qBd.addRange(fieldNum(RHRMOrderTable,JournalNameId)).value(rHRMStaffListHeader.JournalNameId); qr = new QueryRun(query); args.caller(qr); formRun = classFactory.formRunClass(args); formRun.init(); formRun.run(); formRun.wait(); } | 
|  | 
|  03.08.2005, 07:58 | #2 | 
| Участник | 
			
			Надо добавить строчку qBd.addRange(fieldNum(RHRMOrderTable,Posted)).value("Да"); | 
|  | 
|  03.08.2005, 08:04 | #3 | 
| Участник | 
			
			Нельзя добавлять такую строку, т.к. в моей выборке участвуют как раз не разнесенные приказы, но только типа "Перевод" за определенную дату. А в форму попадают и приказы о приеме и увольнении, причем за совершенно разные даты. Такое ощущение, что моя выборка просто добавляется к фильтру на форме, который установлен по умолчанию.
		 | 
|  | 
|  03.08.2005, 10:54 | #4 | 
| Moderator | 
			
			Нужно правильно наложить сформированный query на datasource открываемой формы. args.caller(qr) - это совершенно не то. Можно, например, так: - добавить переменную FormDatasource fDS; - после formRun.init() написать: PHP код: 
			
				__________________ Андрей. | 
|  | 
|  03.08.2005, 11:30 | #5 | 
| Участник |   
			
			Сделала через FormDatasource. Теперь выдается сообщение об ошибке: "Ошибка времени выполнения. : QueryBuildRange Объект не инициализирован. Трассировка стека: (C) \Classes\QueryBuildRange\value (C) \Classes\JournalFormTable\datasourceExecuteQueryPre - line 3 (C) \Forms\RHRMOrderTable\Data Sources\RHRMOrderTable\Methods\executeQuery - line 5" и открывается пустая форма   | 
|  | 
|  03.08.2005, 12:20 | #6 | 
| Moderator | 
			
			Да, там все сложнее оказалось. Я привел простейшее решение, но для этого случая непригодное. Навскидку другое: PHP код: 
			
				__________________ Андрей. | 
|  | 
|  03.08.2005, 12:30 | #7 | 
| Участник |   
			
			Я через поиск нашла почти такое же решение с небольшим отличием. Сейчас все работает. Спасибо огромное!!!
		 | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Создание Lookup формы | 9 | |||
| Запуск пакетника без формы | 8 | |||
| запуск формы в Ахаpta сторонним приложением | 16 | |||
| Русская локализация Axapta 3 ? | 59 | |||
| Динамические Lookup формы. | 0 | |||
| 
 |