プレイブックを手動でトリガーする

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:4分
  • サーバースクリプトを使用して、プレイブックを手動でトリガーします。

    プレイブック機能をトリガー

    次のコードでサーバースクリプト関数を使用して、プレイブックを手動でトリガーします。
    sn_playbook.PlaybookExperience.triggerPlaybook('<scoped name>',parentRecord);
    <スコープ対象の名前> をプレイブックのスコープ対象の名前に置き換えます。スコープ対象の名前を見つけるには、 sys_pd_process_definition テーブルでプロセス定義を見つけ、名前とアプリケーションスコープのフィールドをコピーします。parentRecord を、プロセスを実行する入力/親レコードに置き換えます。

    サーバースクリプトは失敗時に例外をスローします。成功した場合は情報メッセージを追加し、失敗した場合はエラーメッセージを追加できます。

    ヘルパー関数

    次のスクリプト可能な関数を使用して、プレイブックをトリガーする UI アクションまたは宣言アクションを表示する前に、プレイブックがレコードで既に実行されているかどうかを判断します。
    sn_playbook.PlaybookExperience.parentRecordContainsPlaybook(parentRecord, '<scoped name>')
    特定の親レコードで実行されているすべてのプレイブックを表示するには、次のコードを使用します。
    sn_playbook.PlaybookExperience.getPlaybooksForParentRecord(parentRecord)
    この情報を使用して、UI アクションなどのプレイブックアクションをトリガーするタイミングを制御できます。

    次のセクションは、プレイブックのトリガー機能を使用して [プレイブックを追加] ボタンを作成する方法の例です。

    プレイブックの追加 UI アクションの作成

    ワークスペースで [プレイブックを追加] UI アクションを作成します。

    始める前に

    必要なロール:workspace_admin

    手順

    1. 次のように移動する。 All (すべて) > システム定義 > UI アクション.
    2. [New] をクリックします。
    3. フォームのフィールドに入力します。
      注:
      次の表に記載されていないフィールドがフォームに表示されますが、ワークスペースでは機能しません。UI アクションフォームの各フィールドの詳細については、「 従来のワークスペースでのカスタム UI アクションの設定」を参照してください。
      表 : 1. UI アクションフォーム
      フィールド 説明
      [Name (名前)] UI アクション名。これは、[ オンボーディングプレイブックを追加] などのワークスペース UI に表示されます。
      テーブル UI アクションが適用されるテーブル。エージェントがこのテーブルのレコードを表示するたびに、この UI アクションが表示されます。
      順番 水平リストでの UI アクションの配置。順番の数値は左から右に、小さいものから大きいものになります。
      アクション名 ログやテーブルの列に表示される 名前 に相当します ( 例:interaction_add_onboarding
      [Active (アクティブ)] 切り替えて、UI アクションを表示します。
      レコード更新時に表示 切り替えて [テーブル (Table)] に更新を表示します。
      条件 UI アクションを表示するために満たす必要がある条件。例:current.canWrite() & !sn_playbook。PlaybookExperience.parentRecordContainsPlaybook(current, 'sn_pad_demo.playbook_onboarding_demo')
      スクリプト UI アクションを実装するサーバー側スクリプト。
      アプリケーション このコンポーネントが適用されるアプリケーション。[グローバル (Global)] とは、コンポーネントがすべてのアプリケーションに適用されることを意味します。
    4. [プレイブックを追加] アクションを実装するサーバー側スクリプトを作成するには、[ スクリプト ] フィールドにスクリプトを入力します。
      try{
      	current.update();
      	sn_playbook.PlaybookExperience.triggerPlaybook('sn_pad_demo.playbook_onboarding_demo',current);
      	gs.addInfoMessage(gs.getMessage("Onboarding Playbook added to Interaction."));
      } catch(e){
      		gs.addErrorMessage(e.getMessage());
      }

      システムは、このフィールドに含まれるクライアントスクリプトをすべて無視します。クライアントスクリプトには、ワークスペースクライアントスクリプトフィールドのみを使用できます。sn_pad_demo.playbook_onboarding_demo をプレイブックのスコープ名に置き換えます。スコープ対象の名前を見つけるには、 sys_pd_process_definition テーブルでプロセス定義を見つけ、名前とアプリケーションスコープのフィールドをコピーします。

    5. [ ワークスペース ] タブで、[プレイブックを追加] ボタンが UI アクションの行に表示されるようにするには [ワークスペースフォームボタン ] を、メニューリストにリストとして表示するには [ワークスペースフォームメニュー ] を選択します。
    6. [ワークスペースクライアントスクリプト] フィールドで、ワークスペース固有のクライアントスクリプトを作成します。
      ワークスペースには、サービスポータル と同様のクライアントスクリプトの制限があります。たとえば、クリックしてフォームを開くには、次のクライアントスクリプトを追加します。
      function onClick(g_form) {
      
      }