2020.05.26
ペーパーレス化に効く!Salesforceの帳票出力について理解する
via pixabay.com
この記事は下記の記事をもとに、2020年5月現在の最新の情報に書き換えたものです。
帳票出力どうしてますか?
https://www.terrasky.co.jp/blog/2016/160524_001640.php
帳票出力どうしてますか?
https://www.terrasky.co.jp/blog/2016/160524_001640.php
業務のシステム化が進み、紙でのワークフロー等の業務が電子化されて、ペーパーレス化されることが多くなった現在でも、依然として紙帳票の出力要件というのは存在しています。
特に日本国内では帳票文化とでも呼ぶべきものがあり、帳票のデザインや見た目の美しさ、分かりやすさがとても重視される土壌があると思います。
社内向けの承認書類の帳票、社外のお客様にお送りする帳票など、用途は様々ながら、我々がシステム構築に携わるユーザ企業から、帳票を印刷したい、という要件を承ることが多々あります。
帳票出力というテーマで、体系的にまとめた記事が意外と今まで無かったことに気付き、今回はSalesforce上に構築されたシステムから帳票出力を実現する方法と、その中からどのソリューションを適用すべきかの判断基準について、書いてみたいと思います。
特に日本国内では帳票文化とでも呼ぶべきものがあり、帳票のデザインや見た目の美しさ、分かりやすさがとても重視される土壌があると思います。
社内向けの承認書類の帳票、社外のお客様にお送りする帳票など、用途は様々ながら、我々がシステム構築に携わるユーザ企業から、帳票を印刷したい、という要件を承ることが多々あります。
帳票出力というテーマで、体系的にまとめた記事が意外と今まで無かったことに気付き、今回はSalesforce上に構築されたシステムから帳票出力を実現する方法と、その中からどのソリューションを適用すべきかの判断基準について、書いてみたいと思います。
差し込み印刷
ある程度、Saleforceのカスタマイズ等を行ったことがある読者の方であれば、まず最初に浮かぶ帳票出力の方法は、差し込み印刷ではないでしょうか。
差し込み印刷はSalesforceが標準で提供する帳票出力の方法です。
提供されている差し込み印刷機能には2種類あり、1つはノーマルの差し込み印刷、もう1つが拡張差し込み印刷になります。
ノーマルの差し込み印刷は動作要件を満たすことができないため、実質利用できません。
https://help.salesforce.com/articleView?id=mailmerge.htm&type=5
拡張差し込み印刷機能では、ノーマルの差し込み印刷がクライアント側で帳票作成を行っていた処理を、サーバーサイドで行うようにした機能で、クライアント側ではサーバーで生成された帳票をダウンロードする仕組みのため、こちらはブラウザやOSといった制限がずっと緩くなっています。(https://help.salesforce.com/HTViewHelpDoc?id=mailmerge_mass.htm&language=ja#mailmerge_mass)
差し込み印刷の利点はテンプレートを作成すれば、追加のコストをかけることなく、帳票を出力できることにあります。
ただ、利点ばかりではなく、業務利用する上で、いくつかの弱点もあります。
・Salesforce Lightning Experienceで利用できない
・複数オブジェクトの複数データを1帳票上に出力できない→主に単票形式の帳票向け
・一括印刷に制限がある
・操作が多少煩雑→テンプレートの選択などオペレーションの習熟が必要
・出力がWord形式(docファイル)のため、出力後の改変が可能
こうした制約下で、全ての帳票要件、業務要件を満たせるケースは限られ、全ての帳票を差し込み印刷で実現できる可能性は低いでしょう。
差し込み印刷はSalesforceが標準で提供する帳票出力の方法です。
提供されている差し込み印刷機能には2種類あり、1つはノーマルの差し込み印刷、もう1つが拡張差し込み印刷になります。
ノーマルの差し込み印刷は動作要件を満たすことができないため、実質利用できません。
https://help.salesforce.com/articleView?id=mailmerge.htm&type=5
拡張差し込み印刷機能では、ノーマルの差し込み印刷がクライアント側で帳票作成を行っていた処理を、サーバーサイドで行うようにした機能で、クライアント側ではサーバーで生成された帳票をダウンロードする仕組みのため、こちらはブラウザやOSといった制限がずっと緩くなっています。(https://help.salesforce.com/HTViewHelpDoc?id=mailmerge_mass.htm&language=ja#mailmerge_mass)
差し込み印刷の利点はテンプレートを作成すれば、追加のコストをかけることなく、帳票を出力できることにあります。
ただ、利点ばかりではなく、業務利用する上で、いくつかの弱点もあります。
・Salesforce Lightning Experienceで利用できない
・複数オブジェクトの複数データを1帳票上に出力できない→主に単票形式の帳票向け
・一括印刷に制限がある
・操作が多少煩雑→テンプレートの選択などオペレーションの習熟が必要
・出力がWord形式(docファイル)のため、出力後の改変が可能
こうした制約下で、全ての帳票要件、業務要件を満たせるケースは限られ、全ての帳票を差し込み印刷で実現できる可能性は低いでしょう。
Visualforce PDF
Salesforceの画面開発フレームワークであるVisualforceでは、ページの属性にrenderAs=PDFを指定することで、そのページ内で表現される内容をPDF形式でブラウザに返すことができます。
Visualforceページとして帳票を開発し、PDFファイルを出力することができます。
Visualforceのコードで表現できるものであれば、PDF化することが可能で、複数オブジェクトの複数データを出力することも可能ですし、ボタン1つでPDFを生成することも可能です。出力形式もPDFのため、改変はできません。
では、Visualforce PDFの弱点はどういったものになるのでしょう。
・コーディングの知識が必要
・開発コストがかかる
・ガバナ制限への注意が必要
・フォントが固定→あまり格好いいフォントではない
こうした点から、初期コストがかかり、大量帳票の出力が難しいケースもありますし、フォントが固定されてしまうため、見栄えがイマイチになってしまい、お客様にお送りするような外部向けの帳票としては適さないと判断されることも多くあります。
また、表紙と2ページ目以降の書式が異なる場合や、ヘッダやフッタ、空行を挟むような形で改ページを行いたい場合など、帳票の出力仕様が複雑化するほど、開発にかかるコストも増大します。
* VisualforceのPDFについてさらに詳しく知りたい方はこちらのブログもご覧ください。
https://base.terrasky.co.jp/articles/Lv2Su
Visualforceページとして帳票を開発し、PDFファイルを出力することができます。
Visualforceのコードで表現できるものであれば、PDF化することが可能で、複数オブジェクトの複数データを出力することも可能ですし、ボタン1つでPDFを生成することも可能です。出力形式もPDFのため、改変はできません。
では、Visualforce PDFの弱点はどういったものになるのでしょう。
・コーディングの知識が必要
・開発コストがかかる
・ガバナ制限への注意が必要
・フォントが固定→あまり格好いいフォントではない
こうした点から、初期コストがかかり、大量帳票の出力が難しいケースもありますし、フォントが固定されてしまうため、見栄えがイマイチになってしまい、お客様にお送りするような外部向けの帳票としては適さないと判断されることも多くあります。
また、表紙と2ページ目以降の書式が異なる場合や、ヘッダやフッタ、空行を挟むような形で改ページを行いたい場合など、帳票の出力仕様が複雑化するほど、開発にかかるコストも増大します。
* VisualforceのPDFについてさらに詳しく知りたい方はこちらのブログもご覧ください。
https://base.terrasky.co.jp/articles/Lv2Su
SkyVisualEditorのPDF
前述のVisualforce PDFではapexタグでコード記述により、帳票を作成する必要があり、高いコーディングスキルが要求されるものですが、弊社の画面開発ツールSkyVisualEditorでは、Visualforceページと同様に、GUIベースのレイアウトエディタで、必要な部品や項目をマウスで配置していくことで、Visualforce PDFのコードを自動生成することができます。
SkyVisualEditorは、画面や帳票を使用するユーザ数に応じた月額課金のサービスであるため、ランニング費用の部分でのコスト負担が発生しますが、使用するユーザ数や、作成される画面数や帳票数とその複雑さや、継続的な画面や帳票の改変・更改といった、後々発生が見込まれる開発コストなどを見込めば、スクラッチでVisualforce PDFをコーディングしていくよりも価格やスケジュールといった面で優位となる場合が多々あります。
SkyVisualEditorは、画面や帳票を使用するユーザ数に応じた月額課金のサービスであるため、ランニング費用の部分でのコスト負担が発生しますが、使用するユーザ数や、作成される画面数や帳票数とその複雑さや、継続的な画面や帳票の改変・更改といった、後々発生が見込まれる開発コストなどを見込めば、スクラッチでVisualforce PDFをコーディングしていくよりも価格やスケジュールといった面で優位となる場合が多々あります。
DataSpider CloudのExcelアダプタ
DataSpider Cloudには、標準でExcelアダプタが存在します。
こちらはExcelの指定セルの情報を読み取って、Salesforce上で取り込んだり、逆にExcel上にSalesforce上から取得したデータを反映することができます。
帳票という括りで考えると、Excel帳票も当然選択肢に入ってきますし、ユーザ企業の業務の関係から、Excel出力が必須、という場合もあるでしょう。
SalesforceでExcel出力というと、レポートのExcel形式でのエクスポートや、「印刷用に表示」ボタンからのExcelファイル出力ができますが、定型Excelフォーマットへのデータ出力はSalesforce単体では難しく、DataSpider Cloudのようなミドルウェアを適用するか、手動オペレーション前提で、レポートでエクスポートしたデータを、定型フォーマットに落とし込めるようなExcel数式やマクロを組むようなやり方があります。
* DataSpider CloudでExcel帳票の作成について詳しくはこちらもご参照ください。
https://base.terrasky.co.jp/articles/3Fq0Y
こちらはExcelの指定セルの情報を読み取って、Salesforce上で取り込んだり、逆にExcel上にSalesforce上から取得したデータを反映することができます。
帳票という括りで考えると、Excel帳票も当然選択肢に入ってきますし、ユーザ企業の業務の関係から、Excel出力が必須、という場合もあるでしょう。
SalesforceでExcel出力というと、レポートのExcel形式でのエクスポートや、「印刷用に表示」ボタンからのExcelファイル出力ができますが、定型Excelフォーマットへのデータ出力はSalesforce単体では難しく、DataSpider Cloudのようなミドルウェアを適用するか、手動オペレーション前提で、レポートでエクスポートしたデータを、定型フォーマットに落とし込めるようなExcel数式やマクロを組むようなやり方があります。
* DataSpider CloudでExcel帳票の作成について詳しくはこちらもご参照ください。
https://base.terrasky.co.jp/articles/3Fq0Y
サードパーティの帳票出力サービス
Salesforce外のサーバーより、API経由でSalesforce上にアクセスし、必要なデータを取得し、帳票を生成するサービスです。
Canon社が提供するCanon Business Imaging Onlineや、株式会社オプロが提供するOPROARTS、ウイングアーク1st株式会社のSVF Cloud for Salesforceといったサービスが提供されており、帳票出力に特化したサービスのため、複雑な表現も可能で、見栄えも美しい帳票を作成することができますし、ドットインパクトプリンタでの複写式の定型フォームへの打ち出しや、大量の帳票の出力にも対応が可能で、出力するファイルもPDFのほか、Excel帳票にも対応が可能なものもあります。
また、郵送物の封入・投函や、コンビニプリンタでの印刷、複合機との連携や、プリンターへの自動印刷(ダイレクト印刷)など、提供されるオプションサービスも充実しています。
機能面では良いこと尽くしですが、ユーザ数や帳票数、出力した枚数など従量制で課金される仕組みのため、予め使用する帳票の種類や枚数など、コストの試算を行っておく必要があります。
Canon社が提供するCanon Business Imaging Onlineや、株式会社オプロが提供するOPROARTS、ウイングアーク1st株式会社のSVF Cloud for Salesforceといったサービスが提供されており、帳票出力に特化したサービスのため、複雑な表現も可能で、見栄えも美しい帳票を作成することができますし、ドットインパクトプリンタでの複写式の定型フォームへの打ち出しや、大量の帳票の出力にも対応が可能で、出力するファイルもPDFのほか、Excel帳票にも対応が可能なものもあります。
また、郵送物の封入・投函や、コンビニプリンタでの印刷、複合機との連携や、プリンターへの自動印刷(ダイレクト印刷)など、提供されるオプションサービスも充実しています。
機能面では良いこと尽くしですが、ユーザ数や帳票数、出力した枚数など従量制で課金される仕組みのため、予め使用する帳票の種類や枚数など、コストの試算を行っておく必要があります。
まとめ
それぞれに特長や弱点があり、ケースバイケースで最適な実現方法が変わってくるというのがお分かり頂けたでしょうか。
以下に各帳票出力手段と、主な検討要素を表にし、向き不向きを表してみました。
以下に各帳票出力手段と、主な検討要素を表にし、向き不向きを表してみました。
形式 | 複数データ | 一括印刷 | 大量印刷 | ダイレクト印刷 | 操作性 | 複雑な帳票 | 見栄え | 初期費用 | ランニングコスト | 変更コスト | |
---|---|---|---|---|---|---|---|---|---|---|---|
差し込み印刷 | Word | × | △ | × | × | × | × | ○ | ◎ | ◎ | ◎ |
VisualforcePDF | ○ | ○ | △ | × | ○ | × | × | × | ◎ | × | |
SVE帳票 | ○ | ○ | △ | × | ○ | △ | △ | ○ | ○ | ○ | |
DSC Excelアダプタ | Excel | ◎ | ◎ | ◎ | × | ○ | ○ | ○ | △ | ○ | △ |
サードパーティ | PDF,Excel | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | △ | △ | △ |
このように帳票出力を実現する手段のうち、お客様の出力したい帳票のフォーマット、予算、スケジュール、出力データ量や枚数、定着化や運用も考慮しながら、最適な方法をご提案しています。
それでは皆様、良い帳票ライフを!
それでは皆様、良い帳票ライフを!
17 件