|
|
|
|
#1 |
|
Участник
|
Физически, пакетное задание - это просто запись в таблице 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). | |