部下を表示させる
3018 ワード
概要
指定されたユーザの部下一覧を表示させるフォームを作成します。
フォームの作成
マネージャー変数の定義
部下一覧変数の定義
スクリプトの作成
スクリプトインクルード
var SC_User_Funcs_Ajax = Class.create();
SC_User_Funcs_Ajax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getReportingHierarchy: function() {
var hierarchy = [];
var manager_sys_id = this.getParameter("sysparam_manager_sys_id");
_runLoopReportingHierarchy(manager_sys_id);
return hierarchy.toString();
function _runLoopReportingHierarchy(manager_sys_id) {
var gr = new GlideRecord('sys_user');
gr.addQuery('manager', manager_sys_id);
gr.query();
while (gr.next()) {
if (hierarchy.indexOf(gr.sys_id.toString()) == -1) {
hierarchy.push(gr.sys_id.toString());
_runLoopReportingHierarchy(gr.sys_id);
}
}
}
},
type: 'SC_User_Funcs_Ajax '
});
クライアントスクリプト
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ajax = new GlideAjax('SC_User_Funcs_Ajax');
ajax.addParam('sysparm_name', 'getReportingHierarchy');
ajax.addParam('sysparam_manager_sys_id', newValue);
ajax.getXML(addMembers);
}
function addMembers(response) {
g_form.clearOptions('members');
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('members', answer);
}
var SC_User_Funcs_Ajax = Class.create();
SC_User_Funcs_Ajax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getReportingHierarchy: function() {
var hierarchy = [];
var manager_sys_id = this.getParameter("sysparam_manager_sys_id");
_runLoopReportingHierarchy(manager_sys_id);
return hierarchy.toString();
function _runLoopReportingHierarchy(manager_sys_id) {
var gr = new GlideRecord('sys_user');
gr.addQuery('manager', manager_sys_id);
gr.query();
while (gr.next()) {
if (hierarchy.indexOf(gr.sys_id.toString()) == -1) {
hierarchy.push(gr.sys_id.toString());
_runLoopReportingHierarchy(gr.sys_id);
}
}
}
},
type: 'SC_User_Funcs_Ajax '
});
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ajax = new GlideAjax('SC_User_Funcs_Ajax');
ajax.addParam('sysparm_name', 'getReportingHierarchy');
ajax.addParam('sysparam_manager_sys_id', newValue);
ajax.getXML(addMembers);
}
function addMembers(response) {
g_form.clearOptions('members');
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('members', answer);
}
以上
Author And Source
この問題について(部下を表示させる), 我々は、より多くの情報をここで見つけました https://qiita.com/htshozawa/items/6c4ddfb14c143efac1f1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .