ServiceNow中为反馈表单添加创建事件按钮并回填事件编号至字符串字段
ServiceNow反馈表单添加“创建事件”按钮实现方案
步骤1:创建UI Action(按钮)
- 登录ServiceNow后台,导航到
系统定义 > UI Action - 新建UI Action,配置核心属性:
- 名称:
create incident - 表:选择你的反馈表单对应的表(例如
u_feedback,替换为实际表名) - 表单内:勾选(确保按钮显示在表单页面)
- 客户端:勾选
- 脚本类型:选择“脚本”
- 名称:
步骤2:编写服务器端逻辑(创建事件+填充字段)
在UI Action的“脚本”区域粘贴以下代码,按需替换字段名:
// 初始化事件记录 var incidentGR = new GlideRecord('incident'); incidentGR.initialize(); // 配置事件必填字段(根据你的实例规则调整) incidentGR.short_description = '来自反馈表单的自动创建事件'; incidentGR.category = 'inquiry'; incidentGR.contact_type = 'web'; // 插入事件记录并获取编号 var incidentSysId = incidentGR.insert(); var incidentNumber = incidentGR.number; // 更新当前反馈表单的字符串字段(替换u_incident_number为实际字段名) current.u_incident_number = incidentNumber; current.update(); // 弹出成功提示 gs.addInfoMessage('事件已创建,编号:' + incidentNumber);
步骤3:添加客户端触发脚本
在UI Action的“客户端脚本”区域添加以下代码,确保按钮点击时触发服务器逻辑:
function onClick() { gsftSubmit(null, g_form.getFormElement(), 'create_incident'); } // 服务器端执行入口(兼容客户端UI Action的服务器逻辑执行) if (typeof window == 'undefined') { // 此处无需额外代码,服务器逻辑已在脚本区域定义 }
关键注意事项
- 替换代码中的
u_feedback(反馈表名)、u_incident_number(目标字符串字段)为你的实例实际名称 - 务必配置事件的必填字段(如
short_description),否则会导致事件创建失败 - 确保操作用户拥有
incident表的创建权限和反馈表单的更新权限 - 可根据业务需求添加按钮显示条件(如仅在反馈记录处于特定状态时显示)
内容的提问来源于stack exchange,提问作者Praveen N
相关产品推荐
相关产品推荐

