Axapta 系统操作合同/控制器自动化

Axapta 系统操作合同/控制器自动化,axapta,x++,dynamics-365-operations,Axapta,X++,Dynamics 365 Operations,这似乎是一个简单的问题,但我找不到答案,只是我自己没有看到。我有一组简单的SysOperation类,contract/service/controller。然而,我正在系统中高度自动化的其他地方重用这个批处理作业。我希望能够异步调用此批处理作业,无需对话框,并在自动化过程中使用根据特定结果/数据构建的契约 问题:当整个过程是自动化的时,如何将契约传递给控制器类?当涉及到用户交互时,我将无法显示通常用于创建契约的对话框,该契约将神奇地传递给控制器 我会直接调用服务代码,并以这种方式传递合同,但我

这似乎是一个简单的问题,但我找不到答案,只是我自己没有看到。我有一组简单的SysOperation类,contract/service/controller。然而,我正在系统中高度自动化的其他地方重用这个批处理作业。我希望能够异步调用此批处理作业,无需对话框,并在自动化过程中使用根据特定结果/数据构建的契约

问题:当整个过程是自动化的时,如何将契约传递给控制器类?当涉及到用户交互时,我将无法显示通常用于创建契约的对话框,该契约将神奇地传递给控制器


我会直接调用服务代码,并以这种方式传递合同,但我希望批处理作业附带的日志记录,以便可以在SysAdmin模块中看到运行,而且似乎所有这些都是在controller类中构建的。也许这是不可能的?

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

如果您在批处理中进行操作,则可能需要创建批处理头并添加任务

//这是两个随机控制器/合同类…这还没有经过测试 AssetTransfermasController控制器=AssetTransfermasController::构造;//定义控制器 资产转让合同=控制人?controller.getDataContractObject:null;//定义合同 如果合同 throw errorError::ErrorUseofFunctionFuncName; //设置合同字段 contract.parmTransferDatesystemDateGet; //等:合同价格[…] //等:合同价格[…] controller.parmexecutionModesOperationExecutionMode::Asynchronous;//设置执行模式 controller.parmShowDialogfalse;//阻止对话 controller.parmLoadFromSysLastValuefalse;//防止从最后一个值加载 //启动操作 控制器。启动操作; infoDone;
这就是你想要的吗?我不能完全确定我是否理解这个问题

如果您在批处理中进行操作,则可能需要创建批处理头并添加任务

//这是两个随机控制器/合同类…这还没有经过测试 AssetTransfermasController控制器=AssetTransfermasController::构造;//定义控制器 资产转让合同=控制人?controller.getDataContractObject:null;//定义合同 如果合同 throw errorError::ErrorUseofFunctionFuncName; //设置合同字段 contract.parmTransferDatesystemDateGet; //等:合同价格[…] //等:合同价格[…] controller.parmexecutionModesOperationExecutionMode::Asynchronous;//设置执行模式 controller.parmShowDialogfalse;//阻止对话 controller.parmLoadFromSysLastValuefalse;//防止从最后一个值加载 //启动操作 控制器。启动操作; infoDone;
就是这样。我没有意识到控制器已经实例化了契约,并通过我认为是服务方法的契约参数的反映来确定类型。@rjv很高兴我能提供帮助。是,这里的键是controller.getDataContractObject;就是这样。我没有意识到控制器已经实例化了契约,并通过我认为是服务方法的契约参数的反映来确定类型。@rjv很高兴我能提供帮助。是,这里的键是controller.getDataContractObject;