预算控制_业务单据如何预占负数?

1 业务场景
上游业务发生时占用预算,下游的业务发生时需要按照最新业务重新占用预算,若上下游业务单据之间没有详细的关联信息,仅知道需要下游业务发生时冲回上游哪些费用的多少金额;例如:上级合同已经占用预算,合同分摊时需要按照新分摊的合同重新占用预算,合同和合同分摊单没有上下游BOTP关系,无法释放上游合同占用预算,下游合同分摊单也没有上游上游合同的分录信息,仅依据补充协议知道需要冲回上游多少占用,且不能全部冲回所有金额。
2 解决方案
2.1 解决方案总述
下游单据扣减预算时,同时上游单据扣减负数的预算。
2.2 关键操作
2.2.1 前提条件
配置除控制过程方案以外的所有控制功能配置。
2.2.2 操作步骤
2.2.2.1 调用负数占用微服务接口传入单据对象
·步骤1: 调用微服务接口,传入单据对象。
DispatchServiceHelper.invokeBizService();
参数类型:
参数名 | 必选 | 类型 | 说明 |
cloudId | 是 | String | 服务所属云,预算接口固定"epm" |
appId | 是 | String | 服务所属应用,预算接口固定"eb" |
serviceName | 是 | String | 服务名,预算控制的接口固定"BgControlService" |
methodName | 是 | String | 调用方法名,传"negativeBudget" |
bizObj | 是 | DynamicObject | 单据对象,通过单据元数据查询出来的单据对象,包含单据所有字段 |
operationKey | 是 | String | 单据操作编码,因该接口是特殊操作(参见下文) |
请求方式示例:DynamicObjec dynamicObject=BusinessDataServiceHelper.load(billId,"er_dailyreimbursebill");
String jsonStr = DispatchServiceHelper.invokeBizService("epm","eb", "BgControlService", " negativeBudget ", bizObj,"submit");
·步骤2: 返回正常扣减成功的结果。
说明:在单据数据未存储后台数据库时只能使用此接口,通过单据元数据查询出来的单据对象,包含单据所有字段。此接口可使用于所有场景。
2.2.2.2调用负数占用微服务接口传入单据ID
·步骤1: 调用微服务接口,传入单据ID。
DispatchServiceHelper.invokeBizService();
参数类型:
参数名 | 必选 | 类型 | 说明 |
cloudId | 是 | String | 服务所属云,预算接口固定"epm" |
appId | 是 | String | 服务所属应用,预算接口固定"eb" |
serviceName | 是 | String | 服务名,预算控制的接口固定"BgControlService" |
metho |
预算控制_业务单据如何预占负数?
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



