视图确认脚本的简单代码¶
视图确认脚本示例代码:
(function(){
var relate = getRelateDocument();
var selectId = getParameterAsText("_selects");
var sel=selectId.replace(";","','");
if(sel !=null && sel.trim().length>0){
var relateId = relate.getId();
var curDoc = getCurrentDocument();
var docProcess = getDocumentProcess();
var formProcess = getFormProcess();
var newForm = formProcess.doViewByFormName("明细表单",getApplication());
sel="('"+sel+"')";
var sql="select domainid,item_string类型,item_double类型 from tlk_表单 where 条件 in "+sel;
var datas = queryBySQL(sql);
if(datas!=null || datas.size()>0){
for(var it = datas.iterator();it.hasNext(); ){
var data = it.next();
var dataId = data.getId();
var newDoc = docProcess.doNew(newForm,getWebUser(),createParamsTable());
//检测是否存在.一般都写在视图内这块不用
var isExistSql = "select domainid from tlk_明细表单 where parent='"+relateId+"' and item_.... ='"+dataId+"'";
var isExistData = countBySQL(isExistSql);
if(isExistData <=0){
var sproNum = data.getItemValueAsString("单项编号");
var contractNum = data.getItemValueAsString("合同编号");
var invoiceNum = data.getItemValueAsString("发票号");
var projectNumber=getProNumBySProNum(sproNum);
newDoc.setParent(relateId);
newDoc.setAuthor(getWebUser().getId());
newDoc.setIstmp(false);
newDoc.setApplicationid(getApplication());
newDoc.setDomainid(getWebUser().getDomainid());
newDoc.addStringItem("string类型",data.getItemValueAsString("string类型"));
newDoc.addDoubleItem("double类型",data.getItemValueAsDouble("double类型"));
docProcess.doCreate(newDoc);
}
}
}
}
})();
脚本说明¶
该脚本实现了视图确认功能,主要流程如下:
- 获取关联文档和选中项:
- 通过
getRelateDocument()获取关联文档 -
通过
getParameterAsText("_selects")获取视图中选中的记录ID -
处理选中项:
- 将选中项ID字符串中的分号替换为单引号分隔格式
-
构建SQL查询条件
-
查询数据:
- 根据选中项ID查询对应的表单数据
-
使用
queryBySQL()执行查询 -
创建子文档:
- 遍历查询结果
- 检查是否已存在(避免重复创建)
- 创建新的明细表单文档
- 设置文档属性(父文档、作者、应用ID、域ID等)
- 复制数据字段到新文档
- 保存新文档
关键函数说明¶
getRelateDocument(): 获取关联的父文档getParameterAsText("_selects"): 获取视图中选中的记录IDformProcess.doViewByFormName(): 根据表单名称获取表单对象queryBySQL(): 执行SQL查询docProcess.doNew(): 创建新文档countBySQL(): 统计查询结果数量docProcess.doCreate(): 保存文档
使用场景¶
- 视图批量确认操作
- 从视图选择数据创建子表记录
- 主子表单数据关联
注意事项¶
- 需要根据实际表单名称和字段名称修改脚本中的占位符
- 注意检查重复数据,避免重复创建
- 确保有足够的权限创建和保存文档
本文档内容来源于 http://doc.myapps.cn/docs/common-script/common-script-1f1a4gp7u9qm2
文档更新时间: 2023-09-16 06:50 作者:admin