预算控制接口说明
金蝶云社区-云小爱
云小爱
1人赞赏了该文章 7,913次浏览 未经作者许可,禁止转载编辑于2013年11月15日 10:32:31

2.2.1. 调用接口(com.kingdee.eas.ma.budget.BudgetCtrlCaller内)
/**
* @param ctx 如果ctx为null则调用远程接口,否则调用本地接口
* @param billId 单据id
* @return ture 如果预算申请通过
* @throws bgCtrlException 申请未通过时抛业务异常,异常内包含申请失败的具体原因
* (如[X科目在Y组织的Z预算余额不足!]),调用代码不需捕获
*/
public static final boolean requestBudget(Context ctx, BOSUuid billId)
throws BOSException,EASBizException,BgCtrlException {………}
2.2.2. 功能
申请预算扣减
如果有预算且余额充足便扣减预算,否则抛出业务异常BgCtrlException提示具体申请失败原因,调用代码不需捕获该异常,如果该张单据以前已经扣减了预算,那末本次扣减前会先自动返还以前扣减掉的预算,然后再进行本次扣减,以避免重复扣减
2.2.3. 调用方式
 服务端
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.requestBudget(ctx,billId);
………..

 客户端:
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.requestBudget(null,billId);
………..

2.2.4. 注意事项
 单据存盘以后才能进行预算扣减调用
 调用时机(通常是提交后/审批后/过账后…..)由业务需求决定

2.3. 预算返还
2.3.1. 接口(com.kingdee.eas.ma.budget.BudgetCtrlCaller内)
/**
* @param ctx 如果ctx为null则调用远程接口,否则调用本地接口
* @param billId 单据id
*/
public static final void returnBudget(Context ctx, BOSUuid billId)
throws BOSException, EASBizException {……}
2.3.2. 调用方式
 服务端:
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.returenBudget(ctx,billId);
………..
 客户端:
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.returnBudget(null,billId);
………..

2.3.3. 功能说明
返还掉当前单据以前已经扣减调的预算
2.3.4. 注意事项
 根据业务场景选择调用时机,如单据在[反审批/作废/删除]等操作之前进行调用
 即使该单据以前没有扣减过预算,那末调用该方法也不会引发数据问题

2.4. 核查预算(判断是否有预算、预算余额是否充足等)
2.4.1. 接口(com.kingdee.eas.ma.budget.BudgetCtrlCaller内)
/**
* @param ctx 如果ctx为null则调用远程接口,否则调用本地接口
* @param billId 单据id
*/
public static final boolean checkBudget(Context ctx, IObjectValue billInfo)
throws BOSException, EASBizException {……}
2.4.2. 调用方式
 服务端:
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.checkBudget (ctx,billInfo);
………..
 客户端:
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.checkBudget (null,billInfo);
………..

2.4.3. 功能说明
判断是否有预算、预算余额是否充足等,
核查通过返回true, 核查不通过时抛业务异常,提示具体原因(如[X科目在Y组织的Z预算余额不足!]),调用代码不需捕获。该方法可以在申请预算扣减以前判断出预算申请是否可以成功。
2.4.4. 注意事项
 该接口不是集成预算控制必需的,根据业务场景选择是否调用,一般有[超预算就不容许提交或不容许保存]一类的要求时才调用该方法。
 调用前要保证billInfo内信息齐全

2.5. 核查单据(核查启用了预算控制业务的单据的信息填写是否合法)
2.5.1. 接口(com.kingdee.eas.ma.budget.BudgetCtrlCaller内)
/**
* @param ctx 如果ctx为null则调用远程接口,否则调用本地接口
* @param billId 单据id
*/
public static final boolean checkBillInfo (Context ctx, IObjectValue billInfo)
throws BOSException, EASBizException {………}
2.5.2. 调用方式
 服务端:
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.checkBillInfo (ctx,billInfo);
………..
 客户端:
………..
com.kingdee.eas.ma.budget.BudgetCtrlCaller.checkBillInfo (null,billInfo);
………..
2.5.3. 功能说明
核查启用了预算控制业务的单据的信息填写是否合法, 是否合法与控制策略配置密切相关,如费用报销单的预算控制策略配置的项目来源配置为"费用承担对象",那么费用承担对象就必须填写,否则认为该费用报销单非法。
2.5.4. 注意事项
 该接口不是集成预算控制必须的(使用较少),根据业务场景选择是否调用,一般业务单据进行强预算控制才调用。
 调用前要保证billInfo内信息齐全

2.6. 显示预算查询界面
2.6.1. 接口(com.kingdee.eas.ma.budget.client.BudgetCtrlClientCaller内)
/**
* @param billInfo 单据Info对象
* @param ownerUI 调用者窗口UI
*/
public static final void showBalanceViewUI(IObjectValue billInfo, Object ownerUI)
throws BOSException, EASBizException {……}
2.6.2. 调用方式
 客户端:
………..
com.kingdee.eas.ma.budget.client.BudgetCtrlClientCaller.showBalanceViewUI(info, this);
………..

2.6.3. 功能说明
在客户端显示预算余额查看界面
2.6.4. 注意事项
 一般在单据的EditUI和ListUI界面调用
 调用前要保证billInfo内信息齐全,如在EditUI内先进行storeFields()调用