AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.08.2005, 07:42   #1  
Акавешка is offline
Акавешка
Участник
 
36 / 10 (1) +
Регистрация: 03.08.2005
Запуск формы
Привет!
Пишу метод класса, который открывает форму (Расчеты с персоналом - Приказы). Форма должна заполняться данными из 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  
DenNik is offline
DenNik
Участник
 
62 / 9 (1) +
Регистрация: 24.05.2005
Надо добавить строчку
qBd.addRange(fieldNum(RHRMOrderTable,Posted)).value("Да");
Старый 03.08.2005, 08:04   #3  
Акавешка is offline
Акавешка
Участник
 
36 / 10 (1) +
Регистрация: 03.08.2005
Нельзя добавлять такую строку, т.к. в моей выборке участвуют как раз не разнесенные приказы, но только типа "Перевод" за определенную дату. А в форму попадают и приказы о приеме и увольнении, причем за совершенно разные даты. Такое ощущение, что моя выборка просто добавляется к фильтру на форме, который установлен по умолчанию.
Старый 03.08.2005, 10:54   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Нужно правильно наложить сформированный query на datasource открываемой формы. args.caller(qr) - это совершенно не то. Можно, например, так:
- добавить переменную FormDatasource fDS;
- после formRun.init() написать:
PHP код:
fDS formRun.datasource(1);
fDS.query(query); 
а потом уже run() и т.д.
__________________
Андрей.
Старый 03.08.2005, 11:30   #5  
Акавешка is offline
Акавешка
Участник
 
36 / 10 (1) +
Регистрация: 03.08.2005
:(
Сделала через 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  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Да, там все сложнее оказалось. Я привел простейшее решение, но для этого случая непригодное. Навскидку другое:
PHP код:
Args args = new Args();
FormRun formRun;
Query query;
QueryBuildDataSource qBd;
FormDatasource fDS;
;
args.name(formstr(RHRMOrderTable));
formRun classFactory.formRunClass(args);
formRun.init();
fDS formRun.datasource(1);
query fDS.query();

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

formRun.run();
formRun.wait(); 
И не помешало бы разобраться с семейством классов JournalFormTable.
__________________
Андрей.
Старый 03.08.2005, 12:30   #7  
Акавешка is offline
Акавешка
Участник
 
36 / 10 (1) +
Регистрация: 03.08.2005
Thumbs up
Я через поиск нашла почти такое же решение с небольшим отличием. Сейчас все работает. Спасибо огромное!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Запуск пакетника без формы Jox DAX: Программирование 8 25.01.2006 12:33
запуск формы в Ахаpta сторонним приложением mpogorelov DAX: Программирование 16 05.10.2004 15:37
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:38.