表单名称¶
表单名称和表单ID之间的相互获取方法。
表单名称获取表单ID¶
(function () {
var formProcess = getFormProcess();
var form1 = formProcess.doViewByFormName("Task", getApplication());
var formId = form1.getId();
println("formId===>" + formId);
})()
表单ID获取表单名称¶
脚本说明¶
该脚本提供了表单名称和表单ID之间相互转换的方法。
表单名称 → 表单ID¶
通过表单名称查找表单对象,然后获取表单ID。
表单ID → 表单名称¶
通过表单ID查找表单对象,然后获取表单名称。
使用场景¶
- 根据表单名称获取表单ID
- 根据表单ID获取表单名称
- 表单名称和ID的相互转换
- 动态获取表单信息
扩展示例¶
示例1:表单名称获取表单ID(完整版)¶
(function(){
var formName = "表单名称";
var formProcess = getFormProcess();
var form = formProcess.doViewByFormName(formName, getApplication());
if(form != null){
var formId = form.getId();
println("表单名称:" + formName);
println("表单ID:" + formId);
return formId;
}else{
println("未找到表单:" + formName);
return null;
}
})();
示例2:表单ID获取表单名称(完整版)¶
(function(){
var formId = "表单ID";
var applicationId = getApplication();
var formProcess = getFormProcess();
var form = formProcess.findById(applicationId, formId);
if(form != null){
var formName = form.getName();
println("表单ID:" + formId);
println("表单名称:" + formName);
return formName;
}else{
println("未找到表单ID:" + formId);
return null;
}
})();
示例3:获取当前文档的表单名称和ID¶
(function(){
var doc = getCurrentDocument();
if(doc != null){
var formId = doc.getFormid();
var formName = doc.getFormname();
println("当前表单ID:" + formId);
println("当前表单名称:" + formName);
return "表单ID:" + formId + ",表单名称:" + formName;
}
})();
示例4:根据表单名称创建文档¶
(function(){
var formName = "目标表单名称";
var formProcess = getFormProcess();
var form = formProcess.doViewByFormName(formName, getApplication());
if(form != null){
var formId = form.getId();
var docProcess = getDocumentProcess();
var newDoc = docProcess.doNew(form, getWebUser(), createParamsTable());
// 设置文档字段值
newDoc.findItem("字段名").setValue("值");
// 保存文档
docProcess.doCreate(newDoc);
return "已创建文档,表单ID:" + formId;
}else{
return "未找到表单:" + formName;
}
})();
示例5:批量获取多个表单的ID¶
(function(){
var formNames = ["表单1", "表单2", "表单3"];
var formProcess = getFormProcess();
var result = {};
for(var i = 0; i < formNames.length; i++){
var formName = formNames[i];
var form = formProcess.doViewByFormName(formName, getApplication());
if(form != null){
result[formName] = form.getId();
}
}
return result;
})();
关键函数说明¶
表单名称获取表单ID¶
getFormProcess(): 获取表单处理对象formProcess.doViewByFormName("表单名称", applicationId): 根据表单名称获取表单对象- 参数1: 表单名称(字符串)
- 参数2: 应用ID
form.getId(): 获取表单ID
表单ID获取表单名称¶
getFormProcess(): 获取表单处理对象formProcess.findById(applicationId, formId): 根据表单ID获取表单对象- 参数1: 应用ID
- 参数2: 表单ID
form.getName(): 获取表单名称
其他相关函数¶
getApplication(): 获取当前应用IDgetCurrentDocument(): 获取当前文档对象doc.getFormid(): 获取文档的表单IDdoc.getFormname(): 获取文档的表单名称
注意事项¶
- ⚠️ 表单名称必须完全匹配: 使用
doViewByFormName()时,表单名称必须与实际表单名称完全一致(区分大小写) - ⚠️ 表单ID必须正确: 使用
findById()时,确保表单ID正确 - ⚠️ 应用ID必须正确: 两个方法都需要提供正确的应用ID
- 表单不存在时,
doViewByFormName()和findById()可能返回 null,需要判断 - 表单名称可能包含路径,如 "应用/模块/表单名"
- 建议在使用前先判断表单对象是否为 null,避免空指针异常
表单名称格式¶
表单名称可能有以下几种格式:
- 简单名称:
"表单名" - 带路径名称:
"应用/模块/表单名" - 完整路径:
"应用/子应用/模块/表单名"
使用 doViewByFormName() 时,需要提供完整的表单名称路径。
常见应用¶
- 动态表单操作: 根据表单名称动态获取表单ID进行操作
- 表单信息获取: 获取表单的详细信息
- 表单验证: 验证表单是否存在
- 文档创建: 根据表单名称创建文档
- 表单关联: 在不同表单之间建立关联
本文档内容来源于 http://doc.myapps.cn/docs/common-script/common-script-1f32prsbq0d34
文档更新时间: 2023-10-09 05:41 作者:john