一括印刷

  • 作成者:ayuan0625
  • 編集回数:30次
  • 最終更新:FRInternational 于 2021-12-22
  • 一.概要

    1.予期効果

    複数のテンプレートに対して、ワンクリックで内容を印刷します。

    または、ダイナミックパラメータテンプレートに対して、パラメータ値によって違う帳票をワンクリックで印刷します。

    下図を例にします。印刷したい地域を選び、一括印刷をクリックして、それらの帳票を一括印刷します。

     

    2.実現方法

    JavaScript で FineReport の印刷インターフェース FR.doURLPrint(config) を使って帳票を一括印刷します。

    二.JSコード説明

    FR.doURLPrint(config)印刷インターフェースの内容に関して、マニュアル JS FineReport 印刷機能を呼び出す をご参照ください。

    一括印刷を実現させるには、インターフェースのdata パラメータについて設定する必要があります。dataパラメータの形式は次の通りです。

    data:{reportlets:"[{reportlet:'reportname1.cpt',param1:'value1',param2:'value2'},
    {reportlet:'reportname2.cpt',param3:'value3',param4:'value4}]"}

    注:そのうち、「[ ]」の中の内容は印刷したい内容を指します。「{ }」ごとに一つのテンプレートに対応し、「{ }」の中の内容は「,」で区切ります。テンプレート名、テンプレートのパラメータ名、という順番です。複数のパラメータがある場合、同じく「,」で区切ります

    下記の例は異なる場合における設定です。

    1.同一テンプレートを印刷し、パラメータが違う場合

    "[{reportlet: '入門デモ.cpt',地域: '関東'}, {reportlet: '入門デモ.cpt', 地区: '関西'}]"

    2.複数のテンプレートを印刷し、テンプレート名が違う場合

    "[{reportlet: '入門デモ001.cpt',地域: '関東'}, {reportlet: '入門デモ002.cpt', 地区: '関東'}]"

    3.同一テンプレートを印刷し、二つのパラメータをインポートする場合

    "[{reportlet: '入門デモ.cpt',地域: '関東',販売員: '柳本'}, {reportlet: '入門デモ.cpt', 地区: '関西',販売員: '山崎'}]"

    三.例示

    1.テンプレートを準備

    1.1.データセットを新規作成

    一般帳票を新規作成し、データセットds1を新規作成します。

    select 地域 from 販売量

    1.2.パラメータのチェックボックスボタンを設置

    地域フィールドをセルA2にドラッグし、A2セル属性詳細ボタンの順でクリックし、表示値をカスタマイズします。下図の通りです。

    表示値の内容をカスタマイズします:

    '<input id="config1" type="checkbox" value="'+$$$+'" checked />'+$$$

    注:checked は初期化の際に、パラメータチェックボックスはデフォルトで全選択することを意味します。選択する必要がない場合、該当パラメータを削除します。

     

    A2 をチェックボックスのスタイルで表示させるには、そのスタイルをHTMLで内容を表示にデザインする必要があります。

    A2 セルを選定し、セル属性-その他をクリックし、表示内容をHTMLで内容を表示に設定します。下図の通りです。

     

    1.3.ボタンウィジェットの設定

    セルA4を選定し、ウィジェットをクッリクしてボタンウィジェットに設定します。

    ボタンタイプ一般に、ボタン名を一括印刷にします。下図の通りです。

     

    2.JSイベントの一括印刷の設定

    A4 セルを選定し、ウィジェット-イベント の順でクリックします。クリックイベントを追加し、JavaScript コードを入力します。下図の通りです。

     

    JavaScript コードは下記の通りです。

    var printurl = "http://localhost:8075/webroot/decision/一括印刷";
    var p = [];

    $(":checkbox").each(function() {
    if ($(this).attr("checked") == "checked")
    p.push("{reportlet: '入門デモ.cpt', 地域 : " + $(this).val() + "}");
    })
    if (p.length > 0) {
    var rp = p.join(",");
    var reportlets = "[" + rp + "]";
    var config = {
    printUrl: printurl,
    isPopUp: true,
    data: {
    reportlets: reportlets
    },
    printType: 0,
    printerName: 'Microsoft Print to PDF',
    pageType: 2,
    pageIndex: '1-3',
    copy: 1,
    };
    FR.doURLPrint(config);
    } else
    alert("パラメータを選んでください");

    3.効果プレビュー

    テンプレートを保存し、書き込みプレビューをクリックすることで、選定したボタン値を異なるパラメータに基づいて一括印刷することができます。効果は一.の1.予期効果の通りです。

    注:モバイル端末は同機能をサポートしていません。

    Attachment List


    Theme: FineReport 帳票実例
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read