HR ケースからナレッジ記事へのフィールドマッピングの作成
HR ケーステーブルと KCS 記事テーブルの間にカスタムマッピングを作成し、HR ケースからナレッジ記事に情報をコピーします。
始める前に
- Knowledge Advanced プラグイン (com.snc.knowledge_advanced) が有効であることを確認します。
- アプリケーションスコープが [ヒューマンリソース (HR):Core]であることを確認してください。
- KCS 記事テンプレートがアクティブであることを確認します。
- 移動先 ナレッジ > アドミニストレーション > 記事テンプレート.
- KCS 記事テンプレートで [アクティブ] フィールドを true に設定します。
手順
- フィルターナビゲーターに、「csm_table_map.list」と入力します。
- [新規] をクリックします。
- [マッピング名] フィールドに、「HR ケース KCS 記事」と入力します。
- [ソーステーブル] フィールドに、「HR ケース」と入力します。
- [ターゲットテーブル] フィールドに、「KCS 記事」と入力します。
- フォームヘッダーを右クリックし、[保存] します。
- [基本フィールド マッピング] 関連リストで、[新規] をクリックします。
-
次のフィールドのマッピングを作成します。
ソース フィールド ターゲット フィールド Sys ID ソースタスク 簡単な説明 簡単な説明 クローズメモ 解決 説明 原因 注:必要に応じて、その他のフィールドのフィールドマッピングを作成できます。- [ソース] フィールドで、記事テンプレートターゲットテーブルのフィールドにコピーする情報を含むソース [HR ケース] テーブルのフィールドを選択します。
- [ターゲット] フィールドで、ソース [インシデント] テーブルのフィールドからコピーする情報が必要な記事テンプレートターゲットテーブルのフィールドを選択します。
- [ナレッジ] チェックボックスを表示するタイミングと方法をカスタマイズするには、[条件] タブをクリックします。
- [ 詳細条件を使用] を true に設定します。
-
[詳細条件] ウィンドウで、次のコードを貼り付けます。
(function(source) { //Only if selected article type is active var tem = new GlideRecord("kb_article_template"); tem.addQuery("child_table", "kb_template_kcs_article"); tem.addActiveQuery(); tem.query(); if (!tem.hasNext()) return false; //Do not allow to create the knowledge again var now_GR = new GlideRecord("kb_knowledge"); now_GR.addQuery("source", source.sys_id); now_GR.query(); if (now_GR.next()) return false; return true; })(source); - 詳細スクリプトを使用してフィールドをマッピングするには、[詳細なフィールドマッピング] チェックボックスをオンにします。
-
[詳細なフィールドマッピング] タブで、次のコードを貼り付けます。
(function(source, target) { // Get the first comments from HR case and use it as Issue description for article target.short_description = source.short_description + ''; target.kb_resolution = source.close_notes + ''; target.kb_cause = source.description; target.text = "Working good"; var notes = source.comments.getJournalEntry(-1); var entries = notes.split('\n\n'); var comment = ''; if (entries[entries.length - 2]) { comment = entries[entries.length - 2]; var part = comment.toString().indexOf(')'); if (part != -1) { comment = comment.toString().substring(part + 2).replaceAll('\r\n', '<br/>'); } } if (comment) target.kb_issue = comment; })(source, target);HR ケースの最初のコメントは、ナレッジ記事の [問題の説明] フィールドにマッピングされます。注:同じソース フィールドまたはターゲット フィールドが基本フィールド マッピングと詳細なフィールド マッピングの両方で設定されている場合、詳細なフィールド マッピングが基本フィールド マッピングより優先されます。基本フィールド マッピングと詳細なフィールド マッピングで設定されたフィールドが異なっている場合は、詳細なフィールド マッピングのフィールド設定が基本フィールド マッピングのフィールド設定に追加されます。