![]() |
#5 |
Участник
|
Физически, пакетное задание - это просто запись в таблице Batch. Далее соответствующая служба просматривает записи этой таблицы и используя сохраненные в ней настройки, запускает на выполнение соответствующий класс
Диалог от RunBaseBatch - это всего-лишь интерфейс для заполнения определенных реквизитов в создаваемой записи Т.е. Ваша задача - это как раз сформировать запись таблицы Batch, используя те или иные инструменты В общем случае, можно вообще без дополнительного класса, примерно так X++: MyClass taskBatch; BatchHeader batchHeader; // Класс, который надо запустить в пакетном задании. Наследник от RunBase taskBatch = new MyClass(); taskBatch.parm_1(xxx); taskBatch.parm_2(yyy); // Создание пакетного задания, которое запустится "немедленно" batchHeader = BatchHeader::construct(); batchHeader.addTask(taskBatch); batchHeader.parmStartDateTime(DateTimeUtil::utcNow()); batchHeader.save(); Но, поскольку, все-равно придется делать "оболочку" над классом "release", то реквизиты пакетного задания указываются через объект runBaseBatch.batchInfo() а собственно создание пакетного задания - это команда X++: runBaseBatch.batchInfo().parmBatchExecute(true);
runBaseBatch.doBatch();
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: S.Kuskov (10), Lankey (1). |