PaaS应用上架:NC凭证接口

一个用于生成NC凭证与管理凭证的应用

AppIDcom.actionsoft.apps.actc
版本1.0
开发者炎黄盈动
移动应用
依赖应用com.actionsoft.apps.dict(基础字典)

主要功能

  • 提供生成凭证接口
  • 对于所有凭证信息的管理
  • 可编辑的规则配置界面,方便用户更改生成凭证规则

使用场景

  • 需要生成NC凭证,并进行管理的业务

亮点

  • 生成的凭证信息字段值,只要不是太复杂的业务逻辑,都可以直接在规则配置界面更改,无需再次开发

特别说明 - NC凭证接口支持用友的UFIPA NC V5.7版本

如何使用

1.凭证规则设置

创建凭证

设置凭证主表信息

设置凭证子表分录信息

2.让您的业务应用依赖该应用

  <requires> 
    ...
    <require appId="com.actionsoft.apps.actc" notActiveHandler="none"/>  
    ...
  </requires> 

3.注册该应用的插件接口

 ...
public boolean execute() {  
// 调用App 
  String sourceAppId = "调用方应用ID";
// aslp服务地址 
String aslp = "aslp://com.actionsoft.apps.actc/execute";  
// 参数定义列表  
Map params = new HashMap<String, Object>();  
//规则编号,必填 
params.put("gzbh", gzbh);  
//数据,必填 
params.put("data", data);  
//凭证生成app 
ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params);  
}
 ...

示例

 ...
Map<String, Object> pzxx = new HashMap<String, Object>();  
Map<String, Object> pzMap = new HashMap<String, Object>();  
pzMap.put("DEBITMAINBODY", jkzt);// 借款主体  
            pzMap.put("VOUCTYPE", pzlb);// 凭证类别
            pzMap.put("POSTINGDATE", czrq);// 当前操作日期)
            pzMap.put("POSTINGPERSON", zdr);// 制单人
            pzMap.put("VOUCNO", pzbh);// 凭证编号
            pzMap.put("VMS", pzly);// 凭证来源
            pzMap.put("BK", ywybs);// 业务源标识
        pzMap.put("RULENO", gzbh);// 规则编号

List<Object> jlist = new ArrayList<Object>();  
       List<Object> dlist = new ArrayList<Object>();
For(RowMap ro : l1){  
Map<String, Object> jMap = new HashMap<String, Object>();  
Map<String, Object> dMap = new HashMap<String, Object>();  
jMap.put("ACTCODE", kmbmj);// 科目编码借  
                    jMap.put("ACTNAME", kmmcj);// 科目名称借
                    jMap.put("BZ", fzybz);// 币种
                    jMap.put("LS", ls);// 长期短期
                    jMap.put("EXRATE", hl);// 原币汇率
                    String cbzx = "011500";// 成本中心
                    jMap.put("JE", lixi1);// 金额
                    jMap.put("CONTNO", htbh);// 合同编号
                    jMap.put("FIICODE", jrjgbm);// 金融机构编码
                    jMap.put("ACCOPEN", cbzx);// 成本中心
                    jMap.put("LIBUSINO", libusino);//负债业务编号
                    jlist.add(jMap);// 借分录信息
                    // 贷分录
                    dMap.put("ACTCODE", kmbmd);// 科目编码贷
                    dMap.put("ACTNAME", kmmcd);// 科目名称贷
                    dMap.put("LS", ls);// 长期短期
                    dMap.put("EXRATE", hl);// 汇率
                    dMap.put("BZ", fzybz);// 币种
                    dMap.put("JE", lixi1);// 金额
                    dMap.put("CONTNO", htbh);// 合同编号
                    dMap.put("FIICODE", jrjgbm);// 金融机构编码
                    dMap.put("ACCOPEN", cbzx);// 成本中心
                    dMap.put("LIBUSINO", libusino);//负债业务编号
                dlist.add(dMap);// 贷分录信息
}
    pzxx.put("0", pzMap);// 凭证主表信息
            pzxx.put("1", jlist);// 借分录信息
            pzxx.put("2", dlist);// 贷分录信息
            // 调用方
            String sourceAppId = "com.actionsoft.apps.actc";
            // 服务地址
            String aslp = "aslp://com.actionsoft.apps.actc/execute";
            Map<String, Object> params = new HashMap<String, Object>();
            // 给定必填参数
            params.put("gzbh", "VR-1");//规则 编号
            params.put("data", pzxx);
            ResponseObject ro = SDK.getAppAPI().callASLP(SDK.getAppAPI().getAppContext(sourceAppId), aslp, params);
...

4.确认凭证

功能预览

AWS PaaS#QA

继续阅读此作者的更多文章