本記事では、らくらくExcelを用いてSalesforceのレコードを更新する方法をご紹介します。
らくらくExcelの紹介
らくらくExcelは、Excelで入力したデータをSalesforceに登録する機能です。
OPROARTSで出力したExcel帳票からデータ元であるSalesforceオブジェクトのレコードを更新することもできます。
らくらくExcelを使用するためには、D3Workerの設定をする必要があります。
本記事ではオプロの販売管理パッケージ「ソアスク」のオブジェクトを例に説明しますが、通常のSalesforceでも使用できます。
実現する内容
本記事で説明する設定をすることにより、以下の動作を実現できます。
既存レコードの更新ではなくExcelに入力したデータを新規レコードとして登録するのみの場合は、下記「設定の流れ」の工程4以降を設定してください。
設定の流れ
本記事で扱う作業の流れをまとめると、以下の工程になります。
- 帳票のテンプレートを作成する
- ViewFramerで帳票出力項目とテンプレートとのマッピング設定を行う
- ソアスクの見積レコード詳細画面からExcel帳票を出力する
- D3Workerでソアスクのレコードを更新するためのワーク設定を行う
- Officeアドイン「OPROARTS-D³Worker Bridge」の設定
- Excelシートからソアスクのレコードを更新する
各工程について、以下のセクションで詳しく説明していきます。
使用するオブジェクト
本記事では、ソアスクに標準で搭載されている「見積」と「見積明細」を使用します。
見積
見積明細
アドインのインストール
出力したExcel帳票から元のソアスクレコードを更新するためには、Officeアドイン「OPROARTS-D³Worker Bridge」のインストールが必要です。
任意のExcelファイルを開き、「挿入」タブの「アドインを入手」をクリックします。
開いたアドイン検索画面左上の検索ボックスに「OPROARTS-D」と入力してEnterキーを押すと、候補に「OPROARTS-D³Worker Bridge」が表示されるので、「追加」をクリックしてインストールします。
以上で、「OPROARTS-D³Worker Bridge」が使用可能になります。
帳票テンプレートの用意
帳票出力がメインの記事ではないので、本記事ではあらかじめ用意したサンプルの見積書を使います。
本記事最下部に添付されている「quote_template-マッピング済み.xlsx」をダウンロードし、そのExcelファイルを基にOPROARTS Designer にて帳票テンプレートを作成して配備してください。
Excelの帳票テンプレート作成の詳細についてはこちらページの「操作手順書」をご参照ください。
また、Officeアドインのインストール方法は操作手順書の2.1.5「テンプレート作成|アドイン入り Excelアップロード」に記載されています。
帳票デザインイメージ
ViewFramerの設定
見積と見積明細の項目を出力するために、ViewFramerで出力する項目の選択と作成したテンプレートへの項目マッピングを行います。
帳票テンプレートの用意と同じく、大まかな手順のみ説明します。
設定の詳細はこちらの記事をご参照ください。
!注意!
同じウェブブラウザーで複数のビューやマッピングを参照・編集すると上書きされてしまいます。
必ず1つのタブで操作してください。
既存のビューを参考にしたい場合は、別のブラウザーで参考にしたいビューを開くようお願いいたします。ただし、同時編集はできませんので参照のみにしてください。
また、別のブラウザーにした場合も複数のビューを開くことは避けてください。
ビューの作成
ヘッダービュー
ビューの名称を基本設定で設定したら、以下のようにリレーション設定をします。
帳票のヘッダー部分には「見積」「販売」「取引先」「要員マスタ」オブジェクトの項目を表示します。
出力する項目は以下です。
見積詳細画面からそのレコードの情報を見積書として出力するため、以下の出力条件を設定します。
明細ビュー
ヘッダーと同じく、明細についてもビューを作成します。
リレーション設定
出力項目設定
出力条件設定
マッピングの作成
ビューの作成が終わったら、ヘッダービュー・明細ビューと帳票テンプレートを紐づけるマッピング作業に移ります。
主データと明細データのそれぞれに作成したヘッダービュー・明細ビューを選択して出力項目を指定します。
出力項目を指定したら、「Documentizer」タブをクリックして作成した帳票テンプレートのCSVフィールドと出力項目を紐づけます。
※帳票テンプレートのデータフィールド項目名とビューの出力項目名を同じにしておくと、「自動マッピング」ボタンをクリックするだけでマッピングが完了します。
マッピングが完了したら、「配備」をクリックします。
Salesforceの設定
ViewFramerのマッピング一覧画面にて、作成したマッピングの行の「APIサンプル」よりVisualforceページのソースコードをダウンロードします。
サービスは「Documentizer」、形式は「Excel(アドインでマッピング)」を選択して、[Visualforceページ]ボタンをクリックするとソースコードがダウンロードされます。
ダウンロードしたソースコードを一部変更して、こちらの記事を参考に出力ボタンを作成します。
変更する点は以下です。
作成した出力ボタンをクリックすると、Excelファイルが開きます。
D3Workerの設定
サービス設定
「ダミー文書」サービスと、「Salesforce一括登録」サービスを使用します。
Salesforce一括登録サービスの設定
Salesforceへの接続
サービスの名称とメモを入力後、一度保存してから「接続」ボタンをクリックすると
Salesforceの認証画面が表示されるので、ユーザ名とパスワードを入力して接続情報を登録します。
一度認証情報を入力した後は「接続の確認」をクリックすることで接続情報を確認できます。
認証情報を変更したい場合は「解除」をクリックすることで登録した認証情報が削除されます。
「解除」をクリックしたあとでこのサービスを使用する場合は、再度「接続」をクリックして認証情報を入力してください。
主オブジェクト
項目名 | 説明 |
---|---|
API参照名 | 更新の対象となる親オブジェクトのAPI参照名を入力します。 「読み込み」をクリックすると、その下の「名称」と「項目」が自動で入力されます。 |
名称 | Officeアドイン「OPROARTS-D3Worker Bridge」でテーブル名として使用されます。 API参照名の横の「読み込み」をクリックした際に自動入力されますが、お好みで変更してください。 |
レコードID | 更新するレコードのIDを指定します。エンベロープを設定する際に指定するので、ここでは何も設定しません。 |
項目 | 更新対象の項目を指定します。 「読み込み」をクリックすると指定したオブジェクトの全ての項目が入力されるので、不要なものは「x」ボタンで削除してください。 API参照名: 項目のAPI参照名を入力します。 名称: OPROARTS-D3Worker Bridgeで項目名として使用されます。 必須: これにチェックを入れた項目が空の場合はレコード登録が失敗します。 ※少なくとも1つの項目について、「必須」にチェックを入れてください。 |
関連オブジェクト
主オブジェクトと同様、オブジェクトのAPI参照名を入力した後に「読み込み」をクリックして更新対象項目を決定します。
ダミー文書サービスの設定
ダミー文書サービスについては設定事項が無いため、割愛します。
(ダミー文書サービスの説明はこちらの記事をご覧ください)
エンベロープ設定
文書化サービスに「ダミー文書」サービスを基に作成したサービスを、配送サービスに「Salesforce一括登録」サービスを基に作成したサービスを指定します。
文書化サービス
配送サービス
サービス作成時に指定した更新対象項目のエンベロープパラメータ名を設定します。
{ (P or C1).(オブジェクト名ラベル).(項目名ラベル)}の形式で指定することによって、OPROARTS-D3Worker Bridgeアドインでの表示が見やすくなります。(主オブジェクトをP、関連オブジェクトをC1で表します)
主オブジェクトと関連オブジェクトの「レコードID」は以下のように設定します。
また、レコードIDの横の「SOQL」にチェックを入れます。
主オブジェクト
SELECT Id FROM appsfs__Quote__c WHERE Name='{P.見積.見積番号}'
関連オブジェクト
SELECT Id FROM appsfs__QuoteDetail__c WHERE Name='{C1.見積明細.見積明細番号}'
見積と見積明細の自動採番はユニークであるため、その項目を利用してSOQLでレコードIDを取得しています。
ワーク設定
エンベロープ
「エンベロープパラメータからデータソースを構築」をクリックして、データソースタブをクリックします。
作成したエンベロープを選択し、エンベロープフィールドに「C1.見積明細.見積明細番号」を、アクティブ化するフィールドに「エンベロープフィールド」を指定、「ELSEとして使用する」にチェックを入れます。
※ 一度データソースタブに移動してからエンベロープタブに戻ることで、エンベロープフィールドに「C1.見積明細.見積明細番号」を選択できるようになります。
データソース
文字コードを「UTF-8」に、先頭行の「データとして使用しない」をオフにします。
文書とデータのマッピング
「ダミー文書」サービスを使用するため、設定事項はありません。
アドイン「OPROARTS-D³Worker Bridge」の設定
「データ」タブで「D³Worker連携」をクリックします。
「Get Started」をクリックすると、設定画面に遷移します。
接続情報の入力
「OPROARTS-D3Workerへのログイン」でD3Workerの「URL」「テナント」「UID」「UPW」を入力したら、「接続確認」をクリックします。
URLは以下を入力してください。
https://d3w.ap.oproarts.com/d3w/
「テナント」は、オプロからお送りしているD3WorkerのURLの、以下の[テナント名]の部分を入力してください。
https://d3w.ap.oproarts.com/d3w/a/[テナント名]/
「UID/UPWをローカルに保存する」にチェックを入れると、ログアウト後再度ログインする際にUIDとUPWの入力を省略できます。
使用するワークの選択
作成したワークを選択します。
ワークのデータソースに対する値の選択
選択したワークのデータソースに当てはめる値をExcelシートから選択します。
データ読込関連設定
引用元シート制限 | ここに入力した文字列に当てはまるシート名のシートからのみ、D3Workerへのリクエストが可能になります。
正規表現(*と?のみ)も使用可能です。 |
データ検索基準セル | ここで指定したセル以下の行について、このセルと同じ列に値が入っている行を明細行とみなします。 |
1レコードごとに繰り返す行数 | 何行で明細1レコードとみなすかを指定します。本記事の見積書レイアウトでは1行です。 |
明細検索方法 | データ検索基準セルの下方のどこまでを明細行として扱うかを指定します。「列内で最後の入力がある箇所まで」「列内で次の空白値に到達するまで」のどちらかを選択します。
「列内で最後の入力がある箇所まで」を選んだ場合はデータ検索基準セルと同じ列に空でないセルを含む一番下の行までを、「列内で次の空白値に到達するまで」を選んだ場合はデータ検索基準セルと同じ列に空のセルを含む一番上の行の前の行までを明細行として扱います。 ここでは「列内で次の空白値に到達するまで」を選択します。 |
マッピング位置確認用式出力先セル | ここで指定したセルの上でF2キーを押すと、どのセルがマッピング対象になっているか視覚的に確認できます。 |
主オブジェクトと関連オブジェクトの更新対象項目に対する値
見積と見積明細のそれぞれについて、更新したい項目の値をどのセルから取ってくるか設定します。
明細オブジェクト(見積明細)については、一番上の行のセルを指定します。
マッピング位置確認用式出力先セルでF2キーを押すと、このようにマッピング状況が表示されます。
(赤枠で囲った部分の値を変更しました)
Excelシートからソアスクのレコードを更新する
以上の設定が済んだら、送信ボタンをクリックします。
※ ワーク実行の際のオプションは「シートを更新しない」「実行後、シート上にIDをテキストで出力」「実行後、シート上にIDのリンクを貼る」の3つがございます。
各オプションの挙動の違いは以下です。
オプション名 | ワーク実行時の挙動 |
---|---|
シートを更新しない |
「送信」押下後にシート内容が変更されることはありません。 |
実行後、シート上にIDをテキストで出力 |
「送信」押下後にID項目参照元のセルの値が更新したレコードのID(テキスト)で書き換えられます。 |
実行後、シート上にIDのリンクを貼る |
「送信」押下後にID項目参照元のセルの値が更新したレコードのID(リンク)で書き換えられます。 リンクをクリックするとデフォルトのブラウザが開き、対象のレコード詳細画面に遷移します。 |
見積と見積明細の項目が更新されました。
見積
見積明細
おわりに
Excel形式の見積書や請求書を出力してから明細の一部分について変更したくなっても、これまではSalesforceにログインして元のデータを1つ1つ更新する必要がありました。
らくらくExcelを使うことで、参照先オブジェクトの項目でない限りはExcelシートを変更してアドインのボタンをクリックするだけでSalesforceに保存されているレコードを親子一括更新することができます。
見積書や請求書を扱う業務に、ぜひご活用ください。