1. A单据生效后自动生成B 单据
1.1. 简介
智元平台的后端脚本功能,支持在单据提交,审批、生效等流程动作发生时,触发自定义的jsf脚本(开发同事根据业务需要编写),可以实现包括数据库的增删改查等功能,常用的功能包括数据回写,数据校验,自定义数据表新增数据等cud功能
1.2. 生单原理介绍
A与B 单据有上下游的关联, A单据生效后想要在系统中自动生成B单据,企企提供智元平台,可以使用智元平台脚本来解决系统自动生单问题,
在智元平台中通过配置智元平台的生单映射, 在脚本中调用后端平台生单映射接口,得到相关数据后,调用新建接口创建B单据。本教程将介绍如果通过智元平台来解决自动生单问题。
流程图
上游单据生效后自动生成下游单据
1.3. 案例实现
流程图
收入确认单单生成付款单
系统单据收入确认单,收入确认单是收款单的上游,配置生单关系。维护付款单数据的时候,是需要先通过收入确认单的形式先提交申请,收入确认单审批通过后,再根据收入确认单的信息,自动生成付款单信息。
功能实现
步骤1:收入确认单生成收款单为系统预置生单关系,直接使用系统预置的生单关系
步骤2:填制收入确认单并点击提交
步骤3:收入确认单生效后,自动生成收款单,且收入确认单状态变为已收款
生成的收款单:
2、脚本代码实现:
if (objectType != "RevenueConfirmation") {
return;
}
// 获取映射数据参数
var receiptDTO = {
"from": objectType,
"to": "Receipt",
"fromIds": [objectId], // 映射到收款单
"isPreview": true,
"childrenIds": {},
"commonParams": {
"isPush": true
},
"parameters": {
"srcObjectType": "RevenueConfirmation", //来源单据类型
"billIoTypeId": "BillIoType.blue", // 收款单单据方向
"billTypeId": "N3EGHL501QD0031", // 收款单单据类型
"businessTypeId": "0H3L8K501JR0024", // 收款单业务类型
"webEditTemplateId": "MBAw5wzWR" // 收款单单据模版
}
};
// 获取映射数据
var mappingData = await restapi('baseapp', 'post', '/Projection/transformWithParams', receiptDTO);
if (mappingData.status != 'success') {
return { status: 'error', message: '获取映射数据出错!' + JSON.stringify(mappingData) };
}
let data = mappingData.data[0];
data.billFullStatus = 'BillStatus.submitting';
console.log(` 创建参数==》 ${JSON.stringify(data)} `);
// 创建收款单
var create_re = await create('Receipt', data, true);
if (create_re.status != 'success') {
console.log(` 创建失败结果==》 ${JSON.stringify(create_re)} 《==`);
return { status: 'error', message: ` 创建失败 ${JSON.stringify(create_re)} ` };
}