SysOperation contract/controller 自动化

SysOperation contract/controller automation

这似乎是一个简单的问题,但我找不到答案,而且我自己也没有看到。我有一组简单的 SysOperation classes,contract/service/controller。但是,我在系统中其他高度自动化流程的地方重用了这个批处理作业。我希望能够异步调用此批处理作业,无需对话,并在自动化过程中使用从某些 results/data 构建的合同。

问题:当整个过程自动化时,如何将合同传递给控制器​​class?当涉及用户交互时,我将无法显示通常用于创建要神奇地传递给控制器​​的合同的对话框。

我会直接调用服务代码并以这种方式传递合同,但我想要批处理作业附带的日志记录,以便可以在 SysAdmin 模块中看到运行,并且似乎全部内置在控制器 class。也许这是不可能的?

这就是你要的吗?我不完全确定我理解这个问题。

如果您要批量处理,您可能需要创建批头并添加任务。

// These are two random controller/contract classes...this has not been tested
AssetTransferMassController     controller  = AssetTransferMassController::construct(); // Define controller
AssetTransferMassContract       contract    = controller ? controller.getDataContractObject() : null; // Define contract

if (!contract)
    throw error(Error::wrongUseOfFunction(funcName()));

// Set contract fields
contract.parmTransferDate(systemDateGet());
// etc: contract.parm[...]
// etc: contract.parm[...]

controller.parmExecutionMode(SysOperationExecutionMode::Asynchronous); // Set execution mode
controller.parmShowDialog(false); // Prevent dialog
controller.parmLoadFromSysLastValue(false); // Prevent loading from last value

// Start operation
controller.startOperation();    

info("Done");