2022.08.26

SkyVisualEditor VFでSalesforceの個人取引先に対応した画面を作成するTips

みなさんこんにちは。 Salesforceでは、Summer’22からサポートに依頼しなくても個人取引先の有効化ができるようになったこと、ご存じでしょうか。
個人取引先は、取引先と取引先責任者を1つのオブジェクトとしてみなすような動きになり、有効にすると元には戻せないので利用する際は二の足を踏みがちです。ただ、法人と個人の両方の情報を扱われている場合には便利な機能でもありますので、これを機に検証してみてはいかがでしょうか。
有効化はDeveloperEditionでも行えるようですので、Sandboxをお持ちでない方でも検証ができます。
さて、この個人取引先ですが、SkyVisualEditor VF(以後、SVE)で扱う場合には機能的な制約があります。そこで今回は、この制約を回避するための代替策をご紹介します。

個人取引先を有効化した組織でSVEを利用する際の制約

個人取引先を有効化した組織にて、SVEで作成した画面を利用する際には下記3つの制約があります。

  • 1. レコードの新規登録画面で個人取引先の「姓」と「名」が入力できない
  • 2. 編集画面でレコードタイプが法人のときに「姓」と「名」の項目があると、保存時にエラーとなる
  • 3. 編集画面でレコードタイプが個人取引先のときに「取引先名」の項目があると、編集画面の表示時にエラーとなる

それぞれにつきまして、もう少し具体的に説明します。

1. レコードの新規登録画面で個人取引先の「姓」と「名」が入力できない

1については、入力項目として「姓」と「名」を配置しても、Salesforceの画面上では入力項目として表示されません。そのため、「姓」が必須項目なのに入力ができないため、個人取引先のレコードが作成できません。

個人取引先の新規作成時に「姓」と「名」が入力できない

2. 編集画面でレコードタイプが法人のときに「姓」と「名」の項目があると、保存時にエラーとなる

2については編集時に発生する問題で、この事象が発生するとレコードの編集ができません。 法人取引先の画面なので、通常は「姓」と「名」を配置することはないのですが、個人取引先と法人取引先の編集画面を共通化すると発生する問題です。

法人取引先編集画面のエラー

3. 編集画面でレコードタイプが個人取引先のときに「取引先名」の項目があると、編集画面の表示時にエラーとなる

3も2と同様で、編集時に発生する問題です。こちらもレコードの編集ができません。 個人取引先なので、「取引先名」を配置する必要はありませんが、2と同様に個人取引先と法人取引先の編集画面を共通化すると発生します。

個人取引先編集時のエラー

このように制限事項はあるのですが、これらに対する回避策がありますので、次に詳しく説明します。

個人取引先レコードの新規登録画面の対応策

標準項目の「姓」が入力項目にならないため、対応策としては「姓」を入力するためのカスタム項目をテキスト型で用意し、保存時にフローで標準項目の「姓」に保存させます。「名」も同様の対応が可能です。対応手順は以下で説明します。

取引先にカスタム項目を作成する

Salesforceのオブジェクトマネージャを開き、取引先オブジェクトに下記2つのカスタム項目を追加します。
データ型と文字数は合わせていただく必要がありますが、その他は任意の値を設定してください。

データ型 項目の表示ラベル 文字数 項目名
テキスト 姓(カスタム) 80 LastNameC
テキスト 名(カスタム) 40 FirstNameC

SVEで取引先の入力画面を作成する

SVEのStudioで画面を作成します。
新規画面作成でSalesforceレイアウトを選択し、オブジェクトは「取引先」を指定します。
画面には、入力項目として先ほど作成した「姓(カスタム)」「名(カスタム)」、標準項目の「レコードタイプID」「取引先名」を配置します。「取引先名」については、コンポーネントプロパティの「必須」を”false”にしてください。他の項目は任意で配置していただいて問題ありません。
次に、保存操作を行うので「保存」ボタン「キャンセル」ボタンも配置します。
Studio上では以下のようになっているかと思います。

Studio上の画面

※ ページブロックとページブロックセクションのタイトルは任意で変更してください。

Studioでの設定は以上です。最後にSalesforceにデプロイし、画面が表示できることを確認してください。

フローでレコードの保存処理を作成する

ここでは「レコードトリガーフロー」を使い、取引先レコードが作成されるときに実行するフローの処理を作成します。
フローの処理の全体像は以下のようになります。

フロー全体の流れ

まずは開始部分の設定です。
設定内容は下記の画面キャプチャの内容のように設定してください。 ポイントは、最後の「フローを最適化」では”高速項目更新”を選択することです。
”高速項目更新”を選択することで、保存前にカスタム項目の「姓」と「名」を標準項目の「姓」と「名」にコピーすることができます。

フローの開始条件

次に分岐条件を設定する「決定」要素の作成です。
こちらの設定内容も下記のキャプチャのようにしてください。
下記の条件では、「名(カスタム項目)」の値も判定に入れていますが、標準項目で必須なのは「姓」のみですので、「名(カスタム項目)」の判定は省略していただいても動作します。

決定の設定

最後に「姓」と「名」をレコードに保存するための設定をします。
こちらの設定内容も下記のキャプチャのようにしてください。
この処理に来る前に判定条件を行っているので、ここでは単純に値を設定するのみとなります。

「姓」と「名」を設定する画面

作成したフローは保存し、有効化します。
先ほど作成した画面でレコードタイプに「個人取引先」を選択し、「姓(カスタム項目)」と「名(カスタム項目)」を入力して保存しますと、「個人取引先」としてレコードが作成され、標準項目の「取引先名」に「姓」と「名」の値が入っていることが下記の通り確認できます。

個人取引先の登録

こちらは法人取引先の登録です。
保存後の画面が先ほどと違い、「取引先」として登録されていることが分かります。

法人取引先の登録

今回は新規作成画面の中でレコードタイプを選択していますが、先にレコードタイプを選択させてから「個人取引先」や「法人取引先」の入力画面を表示することもできます。この場合、レコードタイプ選択画面をSVEで作成する必要がありますが、こちらは下記Blogで作成方法を紹介しておりますのでご参考ください。

SkyVisualEditorで作成した画面をSalesforceのレコードタイプで出し分けるTips

個人取引先と法人取引先の編集画面の対応策

編集画面の制限事項は2つありますが、これらは「個人取引先」と「法人取引先」の編集画面を別々に用意し、Salesforceのアプリケーションビルダーの表示条件で出し分けることで解決できます。
こちらも以下で手順を説明します。

個人取引先と法人取引先の編集画面を作成する

まず、「個人取引先」と「法人取引先」の編集画面をSVEで作成します。ポイントは、

  • 「個人取引先」の編集画面に”取引先名”の項目を配置しない
  • 「法人取引先」の編集画面に”姓”と”名”の項目を配置しない

の2点です。
シンプルな画面ですが、以下に画面の例を示します。上記のポイントを押さえていただければ、お好きなレイアウトで他の項目を配置いただいても大丈夫です。
作成した画面は、Salesforceにデプロイしてください。

編集画面の例

カスタムボタンの作成と配置

SVEで作成した編集画面を表示するためのカスタムボタンを作成します。「個人取引先」と「法人取引先」で1つずつボタンを作成しますが、作成方法は同じです。
2つのカスタムボタンは、Salesforceのオブジェクトマネージャを開き、「取引先」”ボタン、リンク、およびアクション”で作成します。
設定内容は下記画面のようになります。「コンテンツ」には、先ほどデプロイした画面を指定します。
「名前」「コンテンツ」は「個人取引先」と「法人取引先」で別にする必要があります。「表示ラベル」は同じでも大丈夫ですが、レイアウトで配置する際に同じ名前で表示されるので、間違えないように注意する必要があります。

カスタムボタンの作成画面

最後に作成したカスタムボタンを配置して完成です。
注意点としては、「個人取引先」のページレイアウトは、オブジェクトマネージャの「個人取引先」オブジェクトのページレイアウトで配置することです。
「法人取引先」は「取引先」オブジェクトのページレイアウトで配置してください。

カスタムボタンの配置

配置したカスタムボタンをクリックし、編集画面を表示して任意の項目を編集後、保存を押すと元のレコード詳細画面が正しく表示されます。
以下は個人取引先の画面ですが、法人取引先も同様に動きます。

個人取引先の編集

さいごに

今回のTipsはいかがでしたか。
個人取引先を有効にしている組織でSVEを利用する際には必ず直面する課題ですので、お困りの際は是非、一度お試しください。
もし、うまくできない、もう少し詳しい説明を聞きたいなどがありましたら、アドミンカフェでもフォローはできると思いますので、是非、ご利用ください。

 アドミンネットカフェ お申し込み窓口

今後も、SkyVisualEditorをよろしくお願いいたします!

51 件
     
  • banner
  • banner

関連する記事