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

栏目:云星瀚知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

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

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"

methodName

String

调用方法名,传"negativeBudget"

entityNumber

String

单据类型编码如:费用报销单er_dailyreimbursebill

bizId

Long

单据ID

operationKey

String

单据操作编码,比如submit 

请求方式示例:String jsonStr = DispatchServiceHelper.invokeBizService("epm","eb", "BgControlService", " negativeBudget ", entityNumber, bizId ,"submit"); 

·步骤2: 返回正常扣减成功的结果。

说明:此接口适用于单据的数据已经在后台数据库中存储。

 

3 注意事项

  • 该接口只支持占用,如果根据接口的操作获取的是执行,则抛异常“当前接口参数不支持预算执行操作。”(错误码:err_negative_execute)。

  • 使用此接口占用负数预算后,允许同一单据正常执行预算,执行时需要将占用的预算释放,执行时也需要校验预算余额是否充足。

  • 在开启多次扣减参数后,同一单据支持使用此接口占用负数预算后,再正常二次占用预算,再次使用接口占用复数预算。

  • 当前单据如果是使用此接口扣减的负数预算,本单据的控制记录不支持下游单据在扣减负数对本数据冲销或冲减;也不支持扣减负数后,冲回上游正占用数。(负数占用不与上下游单据联动)。若存在多次占用的场景,则需要看最后一次的扣减记录是否存在负数扣减的场景,若最后一次的扣减记录时负数扣减的场景,则不允许被下游冲销。若存在即占用又执行的场景,在执行时,单据仍存在负数的扣减记录,执行也不会对上游进行冲销。

  • 该功能,可能会造成预算余额被放大,谨慎使用。

 

4 相关文档(可选)

预算控制(微服务API)

预算控制是否支持占用负数的场景?

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

1 业务场景上游业务发生时占用预算,下游的业务发生时需要按照最新业务重新占用预算,若上下游业务单据之间没有详细的关联信息,仅知道需...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息