リストからの帳票出力
ServiceNowのリストで選択したレコードのデータを、帳票に出力できます。なお、リストv2にのみ対応しています。

帳票の出力形式
選択できる帳票の出力形式は、次のとおりです。帳票レイアウトの種類によって異なります。
XMLファイル(SVF Cloud Designerで作成)
PDFファイルをダウンロード
プリンターから印刷(ダイレクトプリント)
Excelファイル(Microsoft Excelで作成)
Excelファイルをダウンロード
PDFファイルをダウンロード
Wordファイル(Microsoft Wordで作成)
Wordファイルをダウンロード
PDFファイルをダウンロード
手順の流れ
ここでは、インシデントテーブルのリストから帳票出力する例で説明しています。本ページの作成例を参考に、目的に合わせて開発してください。
帳票レイアウトの作成
帳票レイアウト作成ツールで、帳票レイアウトを作成します。詳細は『SVF Cloud for ServiceNow 管理ガイド』の「1. 帳票レイアウトを作成する」を参照して下さい。
帳票出力スクリプトの作成
SVF Cloud for ServiceNowの[印刷設定]モジュールで、帳票レイアウト上のフィールドと、ServiceNowのフィールドとをマッピングし、帳票出力スクリプトを生成します。詳細は『SVF Cloud for ServiceNow 管理ガイド』の「2. 帳票出力スクリプトを生成する」を参照して下さい。
生成した帳票生成スクリプトは、後の手順で作成するスクリプトインクルードで使用します。
制限
リストからの帳票出力は、[印刷設定]モジュールで設定した事前処理・事後処理に対応していません。同等の処理をご自身で開発し、スクリプトインクルードに追加してください。
参考
データベースビューを利用した帳票出力スクリプトを作成した場合は、データベースビューで選択されたすべてのレコードが出力対象となります。
UIアクションの作成
ServiceNowでUIアクションを作成します。
作成例は「UIアクションの作成例」を参照して下さい。
スクリプトインクルードの作成
ServiceNowでスクリプトインクルードを作成します。
スクリプトインクルードには、手順2で生成した帳票出力スクリプトを挿入します。なお、作成するスクリプトインクルードに合わせて、帳票出力スクリプトを編集する必要があります。
作成例は「スクリプトインクルードの作成例」を参照して下さい。
帳票の出力
ServiceNowでUIアクションを実行して、帳票を出力します。

UIアクションの作成例
項目 | 設定内容 |
|---|---|
名前 | ListPrintSampleAction |
バナーリストボタン | チェックをオン |
クライアント | チェックをオン |
リスト v2 互換 | チェックをオン |
クリック時 | pdfDownload(); |
スクリプト | function pdfDownload(){
// 選択されたレコードのシステムIDを取得します。
var sysIds = g_list.getChecked();
if(!sysIds){
alert("印刷対象が選択されていません");
return;
}
// スクリプトインクルード「ListPrintSample」を呼び出します。
var ga = new GlideAjax('global.ListPrintSample');
ga.addParam('sysparm_name','getDownloadURL');
ga.addParam('sysparm_sys_ids',sysIds);
ga.getXML(callback);
function callback(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
top.window.location=answer;
}
} |
スクリプトインクルードの作成例
項目 | 設定内容 |
|---|---|
名前 | ListPrintSample |
クライアントコール可能 | チェックをオン |
スクリプト | var ListPrintSample = Class.create();
ListPrintSample.prototype = Object.extendsObject(AbstractAjaxProcessor, {
type: 'ListPrintSample',
getDownloadURL : function() {
// 上位から入力された「sys_id」を変数「sysIds」に格納します。
var param = this.getParameter("sysparm_sys_ids").split(",");
var sysIds = [];
for(var i=0;i<param.length;i++){
sysIds.push(param[i]);
}
// [印刷設定]モジュールで生成した帳票出力スクリプト(ここから)
try {
// 印刷設定
var printSetting ={
developerName: "incident1670896600401",
hasMultiForms: false,
formPath: "form/Sample/ServiceNow/障害調査報告書.xml",
printer: "",
isDatabaseView: false,
generated_file_name: "number",
useEudcFont: false,
mapping: {
"caused_by":"caused_by",
"sys_created_on":"sys_created_on",
"number":"number",
"resolved_by":"resolved_by",
"opened_at":"opened_at",
"impact":"impact",
"priority":"priority",
"category":"category",
"description":"description",
"work_notes":null,
"active":"active"
}
}
// 印刷設定を読み込み、インスタンスを生成します。
var svf = new x_wa1_svfcloud.SVFCloud(printSetting);
// 帳票スクリプトを編集
// 印刷対象の「システムID(sysIds)」と「テーブル名」をセットします。
svf.setSysId(sysIds);
svf.setSysIdTable("incident");
// 印刷を実行します。
// 帳票スクリプトを編集
// 生成したPDFファイルのダウンロードURLを返却します。
return svf.pdf().getLocation();
} catch (e) {
if (e instanceof x_wa1_svfcloud.SvfCloudException) gs.addErrorMessage(e.getErrorCode() + ": " + e.getMessage());
else gs.addErrorMessage(e.toString());
}
// [印刷設定]モジュールで生成した帳票出力スクリプト(ここまで)
}
}); |