4. Salesforceオブジェクトのレコード操作¶
4.1. チュートリアル¶
このチュートリアルが終了すると、次のような事ができます。
Salesforce でカスタムオブジェクトを作成する。
- オブジェクトのレコードを操作する。
- 登録
- 参照
- 更新
- 削除
Salesforce でレコードを確認する
カスタムオブジェクトの詳細は次の URL を参照してください。
- カスタムオブジェクト (日本語)
- Custom Objects (English)
- 自定义对象 (中文)
4.1.1. ゴールの説明¶
このチュートリアルでは、簡単な経費管理オブジェクトの操作を行います。
カスタムオブジェクトの作成
- 操作対象のオブジェクトを作成します。
レコードの登録
- レコードを登録するユーザ定義タスクを作成します。
- 動作確認のためのフロー定義を作成します。
- 動作確認を行います。
レコードの取得
- レコードを取得するユーザ定義タスクを作成します。
- 動作確認のためのフロー定義を作成します。
- 動作確認を行います。
レコードの更新
- レコードを更新するユーザ定義タスクを作成します。
- 動作確認は次章で行います。
レコードの削除
- レコードを削除するユーザ定義タスクを作成します。
- 動作確認は次章で行います。
このような順番で経費管理オブジェクトの作成と、 Salesforce オブジェクトのレコード操作の操作方法や作業の流れを説明します。
4.1.2. 準備¶
チュートリアルの準備 に書かれている準備が行われていることを確認してください。
4.1.3. カスタムオブジェクトの作成¶
Salesforce 上でカスタムオブジェクトを作成します。
「設定」から「クイック検索」に「オブジェクト」と入力し、「作成」配下の「オブジェクト」リンクをクリックします。
「カスタムオブジェクト」画面が表示されるので「新規カスタムオブジェクト」ボタンをクリックします。
「表示ラベル」「オブジェクト名」「レコード名」 に「Expense」と入力し、「保存ボタン」をクリックします。
「Expense」の詳細画面が表示されます。
「Expense」の詳細画面で、「カスタム項目&リレーション」欄の「新規」ボタンをクリックし、次のカスタム項目を追加します。
データ型 項目表示ラベル 外部ID 数値 (16, 2) Amount (金額) テキスト (20) Client (クライアント) 日付/時間 Date (日付) チェックボックス Reimbursed (払い戻し済み) テキスト (20) MatterNumber(案件番号) ✓ コラム
MatterNumber を外部IDとして使用できるように設定します。
後述の Salesforce バッチ定義新規作成 で使用しますので忘れずに「外部ID」のチェックボックスにチェックを入れてください。
「Expense」レコードを表示するため、カスタムオブジェクトタブを作成します。
これでカスタムオブジェクトの作成が完了です。
4.1.4. レコードの登録¶
次に、 IM-LogicDesignerのユーザ定義タスクを作成します。作成するのは Salesforceオブジェクト操作定義 です。
後述の「操作」を「CREATE」として作成することで Salesforceのレコードの登録を行うようにします。
4.1.4.1. オブジェクト操作定義の作成¶
intra-mart Accel Platformにテナント管理者またはLogicDesigner管理者でログインします。
「サイトマップ」→「LogicDesigner」→「 Salesforceオブジェクト操作定義新規作成」から、「 Salesforceオブジェクト操作定義編集」を開きます。
Salesforceへ接続するクライアントIDを選択します。ここでは default を選択していますが、ご自分の環境にあったものを選択してください。
「オブジェクト検索」リンクをクリックし、「オブジェクト検索」ダイアログを表示します。
「絞り込み」に「exp」と入力し「検索」ボタンをクリックします。
一覧に表示された「Expense」の行のチェックボックスにチェックを入れ「決定」ボタンをクリックします。
その他の項目は以下のように入力してください。
ユーザ定義ID CreateExpense ユーザ定義名 CreateExpense ユーザカテゴリID SampleCategory 操作 CREATE 外部IDを使用する 非選択 「登録」ボタンをクリックします。
確認ダイアログで「OK」ボタンをクリックします。
ユーザ定義一覧が表示され、作成したユーザ定義が表示されます。
これで Salesforce オブジェクト操作定義の作成は終了です。
4.1.4.2. フロー定義の作成¶
続いてフロー定義の作成を行います。
「サイトマップ」→「LogicDesigner」→「フロー定義一覧」を開きます。
「ロジックフロー新規作成」リンクをクリックし、「ロジックフロー定義編集」画面を表示します。
「入出力設定」リンクをクリックし、「入力」に次のような項目を追加し、「決定」ボタンをクリックします。
キー名 型 Name string Amount double Client string Date string Reimbursed boolean MatterNumber string ロジックフロー定義編集画面のデザイナに、先ほど作成した「CreateExpense」タスクを追加し、「開始」「終了」と接続します。
「CreateExpense」タスクをクリックし、「マッピング設定」ボタンをクリックします。
「入力」の各項目と、「CreateExpense」の各項目を紐づけ、「決定」ボタンをクリックします。
「新規保存」リンクをクリックし、新規保存ダイアログを表示します。ダイアログに次のような内容を入力し「決定」ボタンをクリックします。
フロー定義ID Expense フロー定義名 標準 Expense フローカテゴリID SampleCategory 「確認」ダイアログで「決定」ボタンをクリックします。
「ロジックフロー定義一覧」画面に遷移します。ツリー内のカテゴリ「SampleCategory」を展開することで、作成した「Expenes」フローが表示されていることを確認できます。
これでフロー定義の作成が終了です。
4.1.4.3. 動作確認¶
最後に動作確認を行います。 IM-LogicDesignerのデバッグ機能を使ってフローを実行し、 Salesforceにレコードが作成することを確認します。
「Expense」フローを選択後に「編集」ボタンをクリックします。
「ロジックフロー定義編集」画面の「デバッグ」リンクをクリックします。
「ロジックフロー定義のデバッグ」画面の「実行」リンクをクリックします。
「デバッグの実行」ダイアログが表示されるので、次のように入力し「実行」ボタンをクリックし、「確認」ダイアログで「決定」ボタンをクリックします。
Name 文房具 Amount 100 Client XX文具店 Date 2016-08-01T10:08:00.000+09:00 Reimbursed false MatterNumber null 「フローの実行が正常終了しました。」とメッセージが表示されます。
これで Salesforceに入力した情報のレコードが作成されました。
本当に作成されたかどうかを確認します。
Salesforceにログインし、「Expense」タブをクリックします。
「ビュー:すべて選択」の「Go!」ボタンをクリックします。
「すべて選択」画面の「文房具」リンクをクリックします。
「文房具」画面が表示され、フローのデバッグ画面で入力した値でレコードが作成されていることを確認できます。
以上で Salesforce のカスタムオブジェクト、 Salesforceオブジェクト操作定義の作成を行い、 IM-LogicDesignerのフロー定義の実行を通じて Salesforceのレコードを作成できました。
コラム
オブジェクトとして「ドキュメント」を指定すると Salesforceのファイルを扱うことができます。
「ドキュメント」の「Body」にパブリックストレージやセッションスコープストレージのファイルの内容を セットしてレコードの登録を行うと Salesforceにファイルをアップロードすることができます。 ただし「Body」の型は string なので Base64 のエンコード関数を利用してバイナリデータを文字列に変換する必要があります。
なお「ドキュメント」オブジェクトのレコードを取得しても、「Body」にバイナリデータは含まれません。 「Body」にはバイナリデータを取得できる URL がセットされるので、その URL にアクセスしてファイルをダウンロードしてください。
4.1.5. レコードの取得¶
次に、 レコードを参照する IM-LogicDesignerのユーザ定義タスクを作成します。作成するのは Salesforce オブジェクト操作定義 です。
「操作」を「READ」として作成することで Salesforceのレコードの取得を行うようにします。
4.1.5.1. オブジェクト操作定義の作成¶
レコードの登録 の 1 から 6 までの手順を繰り返してください。
その他の項目は以下のように入力してください。
ユーザ定義ID ReadExpense ユーザ定義名 ReadExpense ユーザカテゴリID SampleCategory 操作 READ 外部IDを使用する 非選択 返却値から不要な項目を削除します。次の項目を選択し、「削除」リンクをクリックします。項目の前に×アイコンが付くことを確認します。
「登録」ボタンをクリックします。
確認ダイアログで「OK」ボタンをクリックします。
ユーザ定義一覧が表示され、作成したユーザ定義が表示されます。
これで Salesforce オブジェクト操作定義の作成は終了です。
4.1.5.2. フロー定義の作成¶
続いてフロー定義の作成を行います。
今回は レコードの登録 で作成したフローに、ユーザ定義を追加します。
「サイトマップ」→「LogicDesigner」→「フロー定義一覧」を開きます。
「Expense」フローを選択後に「編集」ボタンをクリックします。
ロジックフロー定義編集画面のデザイナに、先ほど作成した「ReadExpense」タスクを追加し、「CreateExpense」「終了」と接続します。
「ReadExpense」タスクをクリックし、「マッピング設定」ボタンをクリックします。
「CreateExpense1」を入力に追加し、CreateExpense1/id と ReadExpense1/id を紐づけ、「決定」ボタンをクリックします。
「保存」リンクをクリックし、保存ダイアログを表示します。ダイアログに次のような内容を入力し「決定」ボタンをクリックします。
保存方法 新しいバージョン番号(2)を追加して保存する フロー定義名 標準 Expense フローカテゴリID SampleCategory 「確認」ダイアログで「決定」ボタンをクリックします。
「ロジックフロー定義一覧」画面に遷移します。作成した「Expenes」フローが表示されていることを確認できます。
これでフロー定義の作成が終了です。
4.1.5.3. 動作確認¶
最後に動作確認を行います。 IM-LogicDesignerのデバッグ機能を使ってフローを実行し、指定した情報が取得できることを確認します。
「Expense」フローを選択後に「編集」ボタンをクリックします。
「ロジックフロー定義編集」画面の「デバッグ」リンクをクリックします。
「ロジックフロー定義のデバッグ」画面の「実行」リンクをクリックします。
「デバッグの実行」ダイアログが表示されるので、次のように入力し「実行」ボタンをクリックし、「確認」ダイアログで「決定」ボタンをクリックします。
Name 雑誌 Amount 980 Client XXブックス Date 2016-08-01T13:42:00.000+09:00 Reimbursed false MatterNumber null 「フローの実行が正常終了しました。」とメッセージが表示されます。
「フロー定義の変数情報」の中から「ReadExpense1」を探して確認するとユーザ定義を作成した際に指定した項目が取得できていることがわかります。
以上でレコードを取得するための Salesforceオブジェクト操作定義の作成を行い、 IM-LogicDesignerのフロー定義の実行を通じて Salesforceのレコードを取得することができました。
4.1.6. レコードの更新¶
次に、 レコードを更新する IM-LogicDesignerのユーザ定義タスクを作成します。作成するのは Salesforce オブジェクト操作定義 です。
「操作」を「UPDATE」として作成することで Salesforceのレコードの更新を行うようにします。
4.1.6.1. オブジェクト操作定義の作成¶
レコードの登録 の 1 から 6 までの手順を繰り返してください。
その他の項目は以下のように入力してください。
ユーザ定義ID UpdateExpense ユーザ定義名 UpdateExpense ユーザカテゴリID SampleCategory 操作 UPDATE 外部IDを使用する 非選択 入力値から不要な項目を削除します。次の項目を選択し、「削除」リンクをクリックします。項目の前に×アイコンが付くことを確認します。
「登録」ボタンをクリックします。
確認ダイアログで「OK」ボタンをクリックします。
ユーザ定義一覧が表示され、作成したユーザ定義が表示されます。
以上でレコードを更新するための Salesforceオブジェクト操作定義の作成ができました。実際の動作確認は、SOQLによるレコードの検索 の章で行います。
4.1.7. レコードの削除¶
最後に、レコードを削除する IM-LogicDesignerのユーザ定義タスクを作成します。作成するのは Salesforce オブジェクト操作定義 です。
「操作」を「DELETE」として作成することで Salesforceのレコードの削除を行うようにします。
4.1.7.1. オブジェクト操作定義の作成¶
レコードの登録 の 1 から 6 までの手順を繰り返してください。
その他の項目は以下のように入力してください。
ユーザ定義ID DeleteExpense ユーザ定義名 DeleteExpense ユーザカテゴリID SampleCategory 操作 DELETE 外部IDを使用する 非選択 「登録」ボタンをクリックします。
確認ダイアログで「OK」ボタンをクリックします。
ユーザ定義一覧が表示され、作成したユーザ定義が表示されます。
以上でレコードを削除するための Salesforceオブジェクト操作定義の作成ができました。実際の動作確認は、SOQLによるレコードの検索 の章で行います。
4.1.8. まとめ¶
以上で Salesforceオブジェクトのレコード操作 のチュートリアルは全て完了です。
これまでのチュートリアルを通して、以下のことを学びました。
Salesforce でカスタムオブジェクトを作成する。
- オブジェクトのレコードを操作する。
- 登録
- 参照
- 更新
- 削除
Salesforce でレコードを確認する
次章 SOQLによるレコードの検索 では、SOQL クエリを発行し、 Salesforce のレコードを検索するチュートリアルを用意しています。
この章では動作確認を行わなかった レコードの更新 と レコードの削除 で作成したユーザ定義を使用するフロー定義を作成します。