サインイン
Language
日本語 English

このセクションの記事

  • D3Worker メール送信サービス Microsoft365とのSMTP連携方法(Salesforce)
  • 【D3Worker】ワークの「エンベロープ」タブの設定(Salesforce)
  • D3Workerでのワークのエクスポート/インポート方法(Salesforce)
  • 【D3Worker】履歴を確認したい(Salesforce)
  • 【TECH COLUMN】SalesforceとViewFramerとD3WorkerとGMOサインの連携
  • 【TECH COLUMN】ドキュメントをパスワード付きZipにしてメール送付する(Salesforce連携)
  • 【TECH COLUMN】SalesforceとViewFramerとD3WorkerとAdobe Signの連携
  • 【TECH COLUMN】空電プッシュを使用してSMS(ショートメッセージ)にURLを送る方法
  • 【TECH COLUMN】OPROARTS Driveでパスワード付きの配信を行う
  • 【TECH COLUMN】請求書配信ソリューション(OPROARTS Drive連携)Salesforce版
もっと見る

【TECH COLUMN】SalesforceからD3Workerを経由してBoxにファイルを保存する

Avatar
OPRO Support staff
  • 2024年10月08日 06:11
  • 更新

本記事では、Salesforceのデータを使って生成したPDFファイルをBoxに保存する方法についてご説明します。

D3Workerの以下のサービスを使用します。

  • OPROARTS: Salesforceから渡されたCSVデータを用いてPDFを生成します。
  • Box [配送]: PDFをBoxに保存します。

 

目次

  • Salesforceオブジェクトの用意
  • 帳票テンプレートの用意
  • D3Workerの設定
    • サービス設定
    • エンベロープ設定
    • ワーク設定
  • ViewFramerの設定
    • ビューの設定
    • マッピングの設定
  • Salesforceにボタン設置
  • 実際の流れ

 

Salesforceオブジェクトの用意

本記事では、一連の処理の起点に商談レコードを使用します。

opp_record.PNG

 

帳票テンプレートの用意

OPROARTS Designerで帳票テンプレートを作成します。
今回は、標準で用意されているサンプルテンプレート「見積書3」を使用します。

quotation_sample_template.png

 

本テンプレートは、以下のCSVフィールドを持ちます。

csv_header_fields.PNGcsv_detail_fields.PNG

 

D3Workerの設定

サービス設定

「OPROARTS」を選択してサービスを作成します。

OPROARTS.PNG

詳細はこちらの記事をご覧ください。
リンク先記事では「OPROARTS(別アカウント)」を使用していますが、設定は同様です。

 

次に、「Box [配送]」を選択してサービスを作成します。

box_service_type.PNG

各設定項目を指定し、サービスを保存します。
項目の説明を以下に記載します。

box_service_settings.PNG

 項目名 必須  内容
 名称  ○  サービス名称(ユニークな任意の名称)を入力します。
 メモ    必要に応じて、簡単なメモを入力します。
 Boxへの接続
 一度サービスを保存すると、「接続」ボタンが有効になります。
「接続」をクリックして、Boxのアカウントでログインしてください。
 接続情報
 タイムアウト  ○   D3Worker - Box間の接続・読込における、タイムアウトするまでの時間を指定します。
 保存先フォルダ定義
 保存先フォルダの指定方法  ○  ・フォルダID指定
・フォルダ階層指定
のどちらかを選択します。
 保存先フォルダID or フォルダ階層指定  ○   「フォルダID指定」を選択した場合はフォルダIDを、「フォルダ階層指定」を選択した場合はフォルダ階層を「/」区切りで指定します。
 ファイル定義
 ファイルのコメント    ファイルにコメントを付与できます。
 ファイルの説明    ファイルの説明を指定できます。
 ファイルの共有リンク定義
 共有リンクの設定有無  ○   ファイルを共有するためのリンクを設定するかどうか指定します。
 アクセスレベル    共有リンクからファイルにアクセスできるユーザーを指定します。
・リンクを知っている全員
・会社のユーザー
・このフォルダ内のユーザー
の3つから選択可能です。
 共有リンクのパスワード  

 共有リンクからファイルにアクセスするためのパスワードを設定します。

パスワードの要件については以下の記事をご参照ください。
株式会社Box Japan:box製品ガイド 共有リンクの設定
https://support.box.com/hc/ja/articles/360043697554

 共有リンクの有効期限    共有リンクの有効期限を指定します。
日付は、以下のフォーマットを使用してください。
・YYYY-MM-DD
・YYYY-MM-DDThh:mm:ss+hh:mm
・YYYY-MM-DDThh:mm:ss-hh:mm
・YYYY-MM-DDThh:mm:ssZ
・YYYY-MM-DDThh:mm:ss.SSSZ
・YYYYMMDD
・YYYYMMDDhhmmss
 共有リンクのダウンロード権限    共有リンクからファイルを開いたときに、ダウンロードを許可するかどうか指定します。
 ファイルのメタデータ定義
 項目名    保存するファイルに付与したいカスタム項目の名前を入力します。
 値    カスタム項目の値を入力します。

 

エンベロープ設定

文書化サービスに「OPROARTS」を基に作成したサービスを指定します。

envelope_document.PNG

 

配送サービスに「Box [配送]」を基に作成したサービスを指定します。

envelope_delivery.PNG

 

ワーク設定

※本記事で扱う処理に必要な設定のみ記載しています。ワーク設定の詳細はこちらの記事の「D3Workerの設定手順」をご覧ください。

データソース: Salesforceから受け取るデータのフィールドを定義します。Salesforceアプリの各項目のフィールドコードと同じフィールド名を付けると、後の設定が楽になるのでおすすめです。

work_datasource.PNG

 

エンベロープ: 作成したエンベロープを選択し、「エンベロープフィールド」に帳票を区別するデータフィールド(ここではQuotation_Number)を、「アクティブ化するフィールド」にエンベロープフィールドを指定します。また「ELSEとして使用する」にチェックを入れます。

work_envelope.png

 

文書とデータのマッピング: 帳票テンプレートのCSVフィールドと、データソースのフィールドをマッピングします。

※商談オブジェクトには顧客担当者名を保持する項目が存在せず、帳票テンプレートの「CustomerCharge」フィールドに受け渡す値が無いため、ここでは3つ目のフィールドを固定値「ご担当者」にしています。

テンプレート名には"live_"を先頭につけて「live_{作成したテンプレート名}」と入れてください。

work_document_mapping.png

 

ViewFramerの設定

ビューの設定

まずはビューを作成します。
今回はヘッダー明細型の帳票を生成したいので、ビューはヘッダー用のビュー・明細用のビューの2つを作成します。

ヘッダビューの設定

ビュータブで「新規」をクリックします。

view_new_button.PNG

 

Salesforceへのログインが促されますので、認証情報を入力してログインします。
※ 次からこの画面が表示されたときは、「現在のセッション情報を使用する」をクリックすればOKです。

viewframer_salesforce_login.PNG

 

ビューの名前を入力します。
※以後、次の画面に移動する際は右下の「次へ」をクリックします。

view_header_basic.PNG

 

使用するオブジェクトを指定します。
「商談」オブジェクトを選び、関連オブジェクトに「取引先」「ユーザ」を選びます。

view_header_relation.PNG

 

帳票に出力する項目を指定します。
「商談.商談 ID」「見積番号(関数で計算 ※)」「取引先.取引先名」「ユーザ.氏名」「商談.説明」を出力項目とします。
出力項目名はそれぞれ「Opportunity_Id」「Quotation_Number」「Customer_Name」「Company_Charge」「Remarks」とします。

view_header_fields.PNG

※「見積番号」の項目ビルダー内の式は以下を指定しました。

'Quotation-' || FORMAT_DATE(NOW(), 'yyyyMMddHHmmss') 

 

それぞれのオブジェクトについてどのようなレコードを取得するか、条件を指定します。

view_header_condition.PNG

条件指定が済んだら、「保存」をクリックします。

 

明細ビューの設定

ビューの新規作成画面を開き、ビューの名前を入力して「次へ」をクリックします。

view_detail_basic.PNG

 

使用するオブジェクトを指定します。
「商談商品」オブジェクトを選びます。

view_detail_relation.PNG

 

帳票に出力する項目を指定します。
「商談商品名」「販売価格」「数量」「金額(関数で計算 ※)」「商談ID」を出力項目とします。
出力項目名はそれぞれ「Contents」「UnitPrice」「Quantity」「Price」「Opportunity_Id」とします。

view_detail_fields.PNG

※「金額」の項目ビルダー内の式は、以下のようにしました。

OpportunityLineItems.UnitPrice * OpportunityLineItems.Quantity

 

どのような商談商品レコードを取得するか、条件を指定します。

view_detail_condition.PNG

条件指定が済んだら、「保存」をクリックします。

 

マッピングの設定

マッピングタブで「新規」をクリックします。

mapping_new_button.PNG

 

マッピングの名前を入力します。
帳票タイプは「ヘッダー明細型」を指定します。

※ 「ビューの編集を許可する」がOFFの場合は、マッピングで使用したビューを編集不可になります。

mapping_type.PNG

 

作成したビューを「主データ」「明細データ」の両方に選択して、それぞれ「取得」をクリックします。
これでビューの項目をD3Workerのワークに紐づけられるようになります。

mapping_header_obtain.png

mapping_detail_obtain.png

 

明細データの項目「Opportunity_Id」を主データの項目「Opportunity_Id」と紐づけます。
この設定により、明細ビューで取得した商談商品の情報がヘッダービューで取得した商談の情報と紐づけられます。

画面右下の「次へ」をクリックするとSalesforceへのログインを促されるため、既にSalesforceへのログインを済ませていれば「現在のセッションを使用」、ログインしていなければ「ログイン」をクリックしてSalesforceにログインします。

link_detail_to_header.png

 

ログインが済むとマッピング出力設定画面に移動します。

D3Workerタブへ移動し、URLに以下を入力して「接続」をクリックします。

https://d3w.ap.oproarts.com/d3w/api/{お客様のD3Workerテナント名}/

d3w_tab_connect.png

 

作成したワークを選択します。

mapping_select_work.png

 

後半の4項目は明細ビューから値を取得するため取得元の「データ」を「list1」に変えておきます。

ここまでの設定で、ワークのデータソースの各フィールドとビューの項目名を同じに設定しているため、「自動マッピング」をクリックするだけでワークのフィールドとビューの出力項目の紐づけが完了します。

auto_mapping.png

右下の「配備」をクリックすれば、このマッピングをSalesforceから呼び出せるようになります。

 

Salesforceにボタン設置

作成したマッピングをSalesforceの商談レコード画面から呼び出すために、Salesforceの設定をします。

詳細画面に設置する出力ボタンの作成方法は以下記事に説明がございます。

Lightning Experienceの詳細ページ用 ボタン作成

 

実際の流れ

以上を設定したら、ボタンを設置した商談のレコード画面でボタンをクリックします。

d3w_send_button.png

 

Boxの画面に移ると、PDFが保存されていることが確認できます。

quotation_saved.PNG

 

おわりに

D3Workerを用いてPDF作成からBoxへのPDFアップロードまでのプロセスを自動化することで、Salesforceのデータを用いて生成したPDFファイルを容易に管理できるようになります。

本記事がD3WorkerとBoxを連携する際の参考になれば幸いです。

 

ページの先頭へ戻る

関連記事

  • [2021/11/25] v3.6.1
  • [D3Worker]ドキュメント一覧(Salesforce)
  • D3Workerのサービス設定(OPROARTS連携)(Salesforce)
  • リリースノート一覧
  • D3Workerのサービス設定(Cloud Print)(Salesforce)
株式会社オプロ