Lightningレイアウトの秘訣:クイックアクションハック
Lightningレイアウトの秘訣:クイックアクションハック
クイックアクションは、ユーザーがボタンをクリックするだけでレコードをすばやく作成し、現在のレコードから値を事前入力できるようにする強力なツールです。ただし、場合によっては、作成するオブジェクトが[ターゲットオブジェクト]メニューに表示されません。
この例では、「Component」オブジェクトから新しい「Dependency」レコードを作成したいのですが、クイックアクションを作成する場合、これらが唯一のオプションです。
この動作の理由は、関係タイプに関係しています。
コンポーネントはオブジェクトAとのマスター詳細関係の詳細であり、依存関係はオブジェクトAとのマスター詳細関係の詳細でもあります。このヘルプ記事でSalesforceが指摘しているように:
マスターと詳細の関係で詳細オブジェクトにアクションを作成する場合、アクションのターゲットオブジェクトを同じマスターの別の詳細オブジェクトにすることはできません。
たとえば、マスターオブジェクトAにはBとCの2つの詳細オブジェクトがあります。ターゲットオブジェクトとしてBまたはCを使用して、オブジェクトAにアクションを作成できます。ただし、オブジェクトBでアクションを作成する場合、BとCは同じマスターを持っているため、ターゲットオブジェクトをオブジェクトCにすることはできません。これを回避して、Cをターゲットオブジェクトとして使用してBにアクションを作成するには、2つの方法があります。
残念。しかし、それで私たちを止めるつもりはありません–クイックアクションハックに参加してください!
クイックアクションハックを作成するには、カスタムフィールド、レコードの更新クイックアクション、およびプロセスビルダーを組み合わせて、レコードの作成クイックアクションをシミュレートします。
最も単純な形式では、「依存関係(ターゲットオブジェクト)レコードの作成」と呼ばれるコンポーネントオブジェクト(ソースオブジェクト)の単一のチェックボックスカスタムフィールドのみが必要ですが、ソースオブジェクトページレイアウトには追加しません。
ソースオブジェクトに[レコードの更新]クイックアクションを作成し、チェックボックスをページレイアウトに追加するだけで、そのチェックボックスをtrueとして事前定義します。
次に、Process Builderを使用して新しいプロセスを作成します。チェックボックスがtrueの場合、ターゲットオブジェクトレコード(私の場合はDependency)を作成し、必要なすべての値をソースオブジェクト(コンポーネント)からターゲットオブジェクト(Dependency)に渡します。プロセスにレコード更新ステップを追加して、チェックボックスをFalseに戻し、クイックアクションを再度使用できるようにします。
これで、レコードの更新クイックアクションをページレイアウトに追加するだけで、ユーザーはボタンをクリックしてターゲットレコードを作成できるようになります。
オプションと考慮事項:
クイックアクションでユーザーにさらに多くのフィールドを表示させたい場合は、ソースオブジェクトにそれらのフィールドを作成し、ページレイアウトに追加しないでください。代わりに、これらすべてのフィールドを[レコードの更新]クイックアクションレイアウトに追加します。ユーザーは、偽の[ターゲットオブジェクトの作成]ボタンをクリックしたときにそれらのフィールドにデータを入力し、ProcessBuilderでこれらすべてのフィールドをマップできます。
エンドユーザーは、標準の「レコードの作成」クイックアクションとまったく同じエクスペリエンスを利用でき、システムを打ち負かすためにスーパー管理者の権限を使用していることを認識できません。
考慮事項と制限事項に関しては、レポートや物事に表示され、ユーザーを混乱させる可能性があるため、明らかに大量のカスタムフィールドを追加することは実用的な解決策ではない可能性があります。可能であれば、これをチェックボックスまたは少数のカスタムフィールドのみに制限します。