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 |
|