ListPrintのメソッドを用いたJavaスクリプトの記述例を示します。
ポイント
Web連携機能APIを利用して開発したWebアプリケーションに、f5cwwpti.cabを定義したJSPファイルやJavaScriptファイルがある場合は、“帳票の一覧からの印刷機能”の“JSPファイルから呼ばれるActiveXコントロールを定義しているJavaScriptファイル”の注記で説明している以下の値を指定してください。
/listworks/f5cwwpti.cab#Version=の値
ListGatewayVLの値
帳票の一覧から帳票を印刷するには、以下のJSPファイルとJavaScriptファイルが必要です。
帳票の一覧から帳票を印刷するJSPファイル
JSPファイルから呼ばれるActiveXコントロールを定義しているJavaScriptファイル
<%@ page session="false" import="com.fujitsu.systemwalker.listworks.gateway.util.*,
com.fujitsu.systemwalker.listworks.common.info.*" %>
<%@ page contentType="text/html; charset=Windows-31J" %>
<jsp:useBean id="listConfig" class="com.fujitsu.systemwalker.listworks.gateway.util.ListConfig" scope="request" />
<HTML>
<%
// ListGatewayの情報および選択されている帳票の情報を取得します。
boolean fByteSwap = false;
long lActivePage = 0;
int iSheetNo = 0;
int iClTraceOut = 1;
int iClTraceLocalMaxSize = 1000;
int iClTraceLevel = 0;
int iClInformationOut = 0;
int iClInformationLocalMaxSize = 1000;
if (listConfig.getSheetNo() != -1)
{
fByteSwap = listConfig.getByteSwap();
lActivePage = listConfig.getActivePage();
iClTraceOut = listConfig.getClTraceOut();
iClTraceLocalMaxSize = listConfig.getClTraceLocalMaxSize();
iClTraceLevel = listConfig.getClTraceLevel();
iClInformationOut = listConfig.getClInformationOut();
iClInformationLocalMaxSize = listConfig.getClInformationLocalMaxSize();
iSheetNo = listConfig.getSheetNo();
}
%>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<TITLE>帳票を自動的に印刷する</TITLE>
<LINK rel=stylesheet href="/listworks/jsp/style.css" type="text/css">
<SCRIPT language="JavaScript" src="/listworks/jsp/listprint.js">
</SCRIPT>
</HEAD>
<SCRIPT language="JavaScript">
<!--
var Error = false;
function init()
{
// Internet Explorerを使用している場合
if (app == "M")
{
// ListPrintのダウンロードでエラーが発生した場合は処理を中断します。
if (Error == true)
return;
// ListPrintをアクティブにします。
setFocusListPrint();
// 選択されている帳票の5ページから10ページまでを
// 用紙サイズをA4、用紙の向きを縦、1部、
// ダイアログボックスを表示しないで印刷します。
if (document.ListPrint.localPrint(1, 5, 10, 1, 13, 0, 0, 0) != 0)
{
alert("選択されている帳票の印刷に失敗しました。")
}
}
}
function exit()
{
// Internet Explorerを使用している場合
if (app == "M")
{
// ListPrintをアクティブにします。
document.write("");
}
}
function setFocusListPrint()
{
// Internet Explorerを使用している場合
if (app == "M")
{
// バージョン・レベルをチェックします。
if (ver >= 4)
{
// ListPrintをアクティブにします。
document.ListPrint.focus();
}
}
}
function error()
{
// ListPrintのダウンロードエラーフラグを、TRUEにします。
Error = true;
}
// -->
</SCRIPT>
<BODY background="/listworks/image/background.gif" bgcolor="#FFFFFF" text="#000000" onload="init()"onunload="exit()">
<!----- ListPrint コントロールの起動 ----->
<SCRIPT language="JavaScript">
<!--
app = navigator.appName.charAt(0);
ver = navigator.appVersion.charAt(0);
// Internet Explorerを使用している場合
if (app == "M")
{
// バージョン・レベルをチェックします。
if (ver >= 4)
{
// jsファイルから<OBJECT>タグを書き出します。
writeObject(<%=iSheetNo%>,
"<%=fByteSwap%>",
<%=lActivePage%>,
<%=iClTraceOut%>,
<%=iClTraceLocalMaxSize%>,
<%=iClTraceLevel%>,
<%=iClInformationOut%>,
<%=iClInformationLocalMaxSize%>,
1);
}
}
// -->
</SCRIPT>
</BODY>
</HTML>//
// jsファイルから<OBJECT>タグを書き出します。
// param iSheetNo 帳票番号
// param fByteSwap バイトスワップ
// param lActivePage アクティブページ
// param iClTraceOut Webクライアントのトレース出力情報を
//出力するかどうか
// param iClTraceLocalMaxSize Webクライアントのローカルトレースファイル
//サイズ
// param iClTraceLevel Webクライアントのトレースレベル
// param iClInformationOut Webクライアントの情報ログ出力情報を
//出力するかどうか
// param iClInformationLocalMaxSize Webクライアントのローカル情報ログファイル
//サイズ
// param iFunc 要求機能
//
function writeObject(iSheetNo,
fByteSwap,
lActivePage,
iClTraceOut,
iClTraceLocalMaxSize,
iClTraceLevel,
iClInformationOut,
iClInformationLocalMaxSize,
iFunc)
{
if (iFunc == 0)
{
document.write('<OBJECT ID="ListPrint" WIDTH="100%" HEIGHT="100%"')
document.write(' CLASSID="CLSID:BF8410EB-E3B7-11D3-B833-00000EBCC7B8"')
document.write(' CODEBASE="' + location.protocol + '//' + location.host + '/listworks
/f5cwwpti.cab#Version=2,0,0,0" onError="error()">') ← (注1)
document.write(' <PARAM NAME="_Version" VALUE="65536">')
document.write(' <PARAM NAME="_ExtentX" VALUE="2646">')
document.write(' <PARAM NAME="_ExtentY" VALUE="1323">')
document.write(' <PARAM NAME="_StockProps" VALUE="0">')
document.write(' <PARAM NAME="Session" VALUE="' + document.cookie + '">')
document.write(' <PARAM NAME="RequestFunc" VALUE="' + iFunc + '">')
document.write(' <PARAM NAME="KeeplistNo" VALUE="' + iSheetNo + '">')
document.write(' <PARAM NAME="ServletUrl" VALUE="' + location.protocol + '//' +
location.host + '/listworks/servlet/ListGateway">')
document.write(' <PARAM NAME="Byteswap" VALUE="' + fByteSwap + '">')
document.write(' <PARAM NAME="ActivePage" VALUE="' + lActivePage + '">')
document.write(' <PARAM NAME="ListGatewayVL" VALUE="1504020">') ← (注2)
document.write(' <PARAM NAME="Message" VALUE="1">')
document.write(' <PARAM NAME="TraceFileOut" VALUE="' + iClTraceOut + '">')
document.write(' <PARAM NAME="TraceMaxSize" VALUE="' + iClTraceLocalMaxSize + '">')
document.write(' <PARAM NAME="TraceLevel" VALUE="' + iClTraceLevel + '">')
document.write(' <PARAM NAME="Recycle" VALUE="0">')
document.write(' <PARAM NAME="PeekMessage" VALUE="0">')
document.write(' <PARAM NAME="InformationFileOut" VALUE="' + iClInformationOut + '">')
document.write(' <PARAM NAME="InformationMaxSize" VALUE="' + iClInformationLocalMaxSize + '">')
document.write(' <PARAM NAME="Navigator" VALUE="' + navigator.appName + navigator.appVersion + '">')
document.write('</OBJECT>')
}
else if (iFunc == 1)
{
document.write('<OBJECT ID="ListPrint" WIDTH="0" HEIGHT="0"')
document.write(' CLASSID="CLSID:BF8410EB-E3B7-11D3-B833-00000EBCC7B8"')
document.write(' CODEBASE="' + location.protocol + '//' + location.host + '/listworks/f5cwwpti.cab#Version=2,0,0,0" onError="error()">') ← (注1)
document.write(' <PARAM NAME="_Version" VALUE="65536">')
document.write(' <PARAM NAME="_ExtentX" VALUE="2646">')
document.write(' <PARAM NAME="_ExtentY" VALUE="1323">')
document.write(' <PARAM NAME="_StockProps" VALUE="0">')
document.write(' <PARAM NAME="Session" VALUE="' + document.cookie + '">')
document.write(' <PARAM NAME="RequestFunc" VALUE="' + iFunc + '">')
document.write(' <PARAM NAME="KeeplistNo" VALUE="' + iSheetNo + '">')
document.write(' <PARAM NAME="ServletUrl" VALUE="' + location.protocol + '//' + location.host + '/listworks/servlet/ListGateway">')
document.write(' <PARAM NAME="Byteswap" VALUE="' + fByteSwap + '">')
document.write(' <PARAM NAME="ActivePage" VALUE="' + lActivePage + '">')
document.write(' <PARAM NAME="ListGatewayVL" VALUE="1504020">') ← (注2)
document.write(' <PARAM NAME="Message" VALUE="1">')
document.write(' <PARAM NAME="TraceFileOut" VALUE="' + iClTraceOut + '">')
document.write(' <PARAM NAME="TraceMaxSize" VALUE="' + iClTraceLocalMaxSize + '">')
document.write(' <PARAM NAME="TraceLevel" VALUE="' + iClTraceLevel + '">')
document.write(' <PARAM NAME="Recycle" VALUE="0">')
document.write(' <PARAM NAME="PeekMessage" VALUE="0">')
document.write(' <PARAM NAME="InformationFileOut" VALUE="' + iClInformationOut + '">')
document.write(' <PARAM NAME="InformationMaxSize" VALUE="' + iClInformationLocalMaxSize + '">')
document.write(' <PARAM NAME="Navigator" VALUE="' + navigator.appName + navigator.appVersion + '">')
document.write('</OBJECT>')
}
}注1:/listworks/f5cwwpti.cab#Version= の値が、Windows版では2,0,0,0、Solaris版では2,0,0,2になります。
注2:ListGatewayVLの値が、Windows版、Solaris 版ともに、1504020になります。
帳票を表示するには、以下のJSPファイルとJavaScriptファイルが必要です。
帳票を表示するJSPファイル
JSPファイルから呼ばれるActiveXコントロールを定義しているJavaScriptファイル
<%@ page session="false" import="com.fujitsu.systemwalker.listworks.gateway.util.*,
com.fujitsu.systemwalker.listworks.common.info.*" %>
<%@ page contentType="text/html; charset=Windows-31J" %>
<jsp:useBean id="listConfig" class="com.fujitsu.systemwalker.listworks.gateway.util.ListConfig" scope="request" />
<HTML>
<%
// ListGatewayの情報および選択されている帳票の情報を取得します。
boolean fByteSwap = false;
long lActivePage = 0;
int iSheetNo = 0;
int iClTraceOut = 1;
int iClTraceLocalMaxSize = 1000;
int iClTraceLevel = 0;
int iClInformationOut = 0;
int iClInformationLocalMaxSize = 1000;
if (listConfig.getSheetNo() != -1)
{
fByteSwap = listConfig.getByteSwap();
lActivePage = listConfig.getActivePage();
iClTraceOut = listConfig.getClTraceOut();
iClTraceLocalMaxSize = listConfig.getClTraceLocalMaxSize();
iClTraceLevel = listConfig.getClTraceLevel();
iClInformationOut = listConfig.getClInformationOut();
iClInformationLocalMaxSize = listConfig.getClInformationLocalMaxSize();
iSheetNo = listConfig.getSheetNo();
}
%>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<TITLE>検索で絞り込んで表示する</TITLE>
<LINK rel=stylesheet href="/listworks/jsp/style.css" type="text/css">
<SCRIPT language="JavaScript" src="/listworks/jsp/listprint.js">
</SCRIPT>
</HEAD>
<SCRIPT language="JavaScript">
<!--
var Error = false;
function init()
{
// Internet Explorerを使用している場合
if (app == "M")
{
// ListPrintのダウンロードでエラーが発生した場合は処理を中断します。
if (Error == true)
return;
// ListPrintをアクティブにします。
setFocusListPrint();
// 検索する条件をすべて削除します。
if (document.ListPrint.findClear() != 0)
{
alert("検索する条件の削除に失敗しました。");
return;
}
// 範囲名「振込先」で「東京支店」と等しい文字列を
// 検索する条件を設定します。
if (document.ListPrint.findString("振込先",
"東京支店",
0,
0,
0,
0) != 0)
{
alert("文字列の検索する条件の設定に失敗しました。");
return;
}
// 範囲名「振込金額」で「1,000,000」以上
// かつ「3,000,000」以下の数値を検索する条件を設定します。
if (document.ListPrint.findNumeric("振込金額",
"1000000",
4,
1,
"3000000",
5,
0,
0) != 0)
{
alert("数値の検索する条件の設定に失敗しました。");
return;
}
// 設定した条件で絞り込みを行います。
if (document.ListPrint.extractFind() != 0)
{
alert("検索による絞り込みに失敗しました。");
}
}
}
function exit()
{
// Internet Explorerを使用している場合
if (app == "M")
{
// ListPrintを破棄します。
document.write("");
}
}
function setFocusListPrint()
{
// Internet Explorerを使用している場合
if (app == "M")
{
// バージョン・レベルをチェックします。
if (ver >= 4)
{
// ListPrintをアクティブにします。
document.ListPrint.focus();
}
}
}
function error()
{
// ListPrintのダウンロードエラーフラグを、TRUEにします。
Error = true;
}
// -->
</SCRIPT>
<BODY background="/listworks/image/background.gif" bgcolor="#FFFFFF" text="#000000" onload="init()" onunload="exit()">
<!----- ListPrint コントロール/プラグインの起動 ----->
<SCRIPT language="JavaScript">
<!--
app = navigator.appName.charAt(0);
ver = navigator.appVersion.charAt(0);
// Internet Explorerを使用している場合
if (app == "M")
{
// バージョン・レベルをチェックします。
if (ver >= 4)
{
// jsファイルから<OBJECT>タグを書き出します。
writeObject(<%=iSheetNo%>,
"<%=fByteSwap%>",
<%=lActivePage%>,
<%=iClTraceOut%>,
<%=iClTraceLocalMaxSize%>,
<%=iClTraceLevel%>,
<%=iClInformationOut%>,
<%=iClInformationLocalMaxSize%>,
0);
}
}
// -->
</SCRIPT>
</BODY>
</HTML>
| 当JavaScriptファイルは、“帳票の一覧からの印刷機能”で使用するJavaScriptファイルと共通のため、“帳票の一覧からの印刷機能”で説明している“JSPファイルから呼ばれるActiveXコントロールを定義しているJavaScriptファイル”を参照してください。 |