機械翻訳について

関連オブジェクトのサブビューの構成(1対多)

カスタム・オブジェクトの詳細ページに関連オブジェクト・パネルを追加した後、サブビューを作成および構成できるようになりました。 このトピックでは、(1対多関係を介して関連付けられた)関連オブジェクトのサブビューを作成する方法について説明します。

シナリオとは何ですか。

この例では、PaymentオブジェクトとShipmentオブジェクトの関係が1対多になっています。 実行時に、ユーザーは支払詳細ページで支払の出荷を作成および表示し、出荷サブビューにドリルダウンできる必要があります。

支払詳細ページに出荷パネルをすでに追加しました。 次に、出荷サブビューを作成します。

出荷サブビューの作成

支払用に作成された出荷を表示するサブビュー用の新しいテンプレートを作成します。

  1. Visual Builder Studioで、「アプリケーションUI」タブをクリックします。

  2. cx-custom > payment_cを展開し、payment_c-detailノードをクリックします。

  3. payment_c-detailタブで、ページ・デザイナ・サブタブをクリックします。

  4. 「コード」ボタンをクリックします。

    このスクリーンショットは、コード・ボタンを示しています。

  5. ページ・デザイナでページを表示していることを確認します。

    このスクリーンショットは、ドロップダウンを使用してページを表示する方法を示しています。

  6. パネルおよびサブビューを含む動的コンテナ・コンポーネントのコメント・タグを削除します。

    このスクリーンショットは、動的コンテナ・コンポーネントをコメント・アウトする方法を示しています。

  7. サブビューの<oj-dynamic-container>タグを強調表示します。

    このスクリーンショットは、強調表示するコンポーネントを示しています。

  8. プロパティ・ペインのケース1リージョンで、「セクションの追加」アイコンをクリックし、「新規セクション」をクリックします。

  9. タイトル・フィールドに、セクションのタイトル(Shipment_cなど)を入力します。

  10. IDフィールドで、値をShipment_cに変更します。

    ノート: このIDにはREST APIオブジェクト名を使用します。
  11. 「OK」をクリックします。

  12. テンプレートのJSONを正しいサブビュー名で手動で更新します。

    1. payment_c詳細タブで、JSONサブタブをクリックします。

    2. SubviewContainerLayoutのセクション・テンプレート・レイアウトのセクションで、サブビューのID名Shipment_cと一致するようにsectionTemplateMapおよびdisplayPropertiesの値を置き換えます。 これはオブジェクトのREST API名です。

      この例では、SubviewContainerLayoutのsectionTemplateMapおよびdisplayPropertiesは次のようになります:

      このスクリーンショットは、JSONファイルの更新場所を示しています。

サブビュー・レイアウトの構成

次に、cx-subviewフラグメントを使用してサブビューの構造を構築します。

  1. payment_c-detailタブで、ページ・デザイナ・サブタブをクリックします。

  2. プロパティ・ペインで、追加したShipment_cセクションをクリックします。

    このスクリーンショットは、Shipment_cセクションを示しています。

    ページ・デザイナでは、payment_c-detailタブに引き続きテンプレート・エディタにナビゲートし、Shipment_cテンプレートを設計できます。

  3. 「コード」ボタンをクリックします。

    このスクリーンショットは、コード・ボタンを示しています。

  4. コンポーネント・パレットのフィルタ・フィールドに、cx-subviewと入力します。

  5. cx-subviewフラグメントをテンプレート・エディタのshipmentCテンプレート・タグの間にドラッグ・アンド・ドロップします。

    このスクリーンショットは、cx-subviewフラグメントを追加する場所を示しています。

  6. コードが次のサンプルになるように、次のパラメータをフラグメント・コードに追加します。 Shipment_cおよびPayment_Id_PaymentShipment1Mは、オブジェクトおよび外部キー・フィールドに適切な値に置き換えてください。

    ノート: 外部キー・フィールドの名前の形式は、常に<Source object name>_Id_<Relationship name>です。 ターゲット・オブジェクト(出荷)のREST記述を実行して、フィールド名を取得することもできます。
    <template id="shipmentC">
      <oj-vb-fragment bridge="[[vbBridge]]" name="oracle_cx_fragmentsUI:cx-subview">
        <oj-vb-fragment-param name="resource" value='[[ {"name": "Shipment_c", "primaryKey": "Id", "endpoint": $application.constants.serviceConnection } ]]'>
        </oj-vb-fragment-param>
        <oj-vb-fragment-param name="sortCriteria" value='[[ [{"attribute": "LastUpdateDate","direction": "desc" }] ]]'>
        </oj-vb-fragment-param>
        <oj-vb-fragment-param name="query"
          value='[[ [{"type": "qbe", "params": [{"key": "Payment_Id_PaymentShipment1M", "value": $variables.id }]}] ]]'>
        </oj-vb-fragment-param>
        <oj-vb-fragment-param name="context" value="[[ {} ]]"></oj-vb-fragment-param>
        <oj-vb-fragment-param name="extensionId" value="{{ $application.constants.extensionId }}"></oj-vb-fragment-param>
    
      </oj-vb-fragment>

    次の表では、サブビューに指定できるパラメータの一部について説明します:

    サブビューのパラメータ

    パラメータ名 説明
    sortCriteria 最終更新日による並べ替えや降順など、サブビュー上のデータの並べ替え方法を指定します。
    問合せ サブビューでデータを問合せするための基準を含めます。

次に、サブビュー・レイアウトを構成します。

  1. 「レイアウト」タブをクリックし、Shipment_c > 「ルール・セット」サブタブをクリックします。

  2. 「サブビュー・レイアウト」ルール・セットをクリックします。

  3. レイアウトに表示するフィールドを追加します。

    1. 「デフォルト」レイアウトの横にある開くアイコンをクリックします。

    2. フィールドのリストから、サブビュー・テーブルに表示するフィールドを選択します。 フィールドは、クリックした順序で列として表示されますが、並べ替えることができます。

  4. ユーザーがサブビューに移動したときにURLを更新するイベントを作成します。 これにより、ユーザーはレコードの編集後に自動的にサブビューに戻ることができます。

    ノート: 別のオブジェクトのサブビューを構成するときにこのイベントをすでに作成している場合は、このステップをスキップできます。
    1. payment_c-detailタブで、ページ・デザイナ・サブタブをクリックします。

    2. ページ・デザイナでページを表示していることを確認します。

      このスクリーンショットは、ドロップダウンを使用してページを表示する方法を示しています。

    3. 「コード」ボタンをクリックします。

      このスクリーンショットは、コード・ボタンを示しています。

    4. 詳細ページのコードで、oj-vb-fragmentタグをクリックします。

      このスクリーンショットは、クリックするフラグメント・タグを示しています。

    5. cx-detailフラグメントのプロパティ・ペインで、イベント・サブタブをクリックします。

      1. 「+新規イベント」 > 「'viewChangeEvent'の場合」をクリックします。

      2. 変数の割当てアクションをキャンバスにドラッグします。

      3. プロパティ・ペインの変数フィールドで、ページ・ヘッダーの下にある「ビュー」をクリックします。

        このスクリーンショットは、選択する変数を示しています。

      4. 値フィールドに、{{ payload.view }}と入力します。

  5. payment_c-detailページから動的コンテナ・コンポーネントをコメント・アウトします。

    1. payment_c詳細タブをクリックし、ページ・デザイナ・サブタブをクリックします。

    2. 「コード」ボタンをクリックします。

    3. ドロップダウンから「ページ」を選択します。

      このスクリーンショットは、ドロップダウンを使用してページを表示する方法を示しています。
    4. パネルとサブビューを含む動的コンテナ・コンポーネントをコメント・アウトします。

      このスクリーンショットは、動的コンテナ・コンポーネントをコメント・アウトする方法を示しています。

パネルとサブビューへのリンクの追加

パネルとサブビューの両方で、ユーザーは出荷名をクリックして出荷詳細ページに移動できる必要があります。 出荷名をハイパーリンクとして有効にするには、次を実行する必要があります:

  1. RecordNameフィールドを出荷パネルおよびサブビューのレイアウトに追加します。

  2. ハイパーリンク・フィールド・テンプレートを作成します。

  3. レイアウトごとに、RecordNameフィールドをハイパーリンク・フィールド・テンプレートに関連付けます。

ノート: ターゲット・オブジェクトのUIページがフラグメント・ベースでない場合は、この項をスキップし、かわりに関連オブジェクトのリンク・フィールドの作成(多対多)のステップに従います。

まず、ハイパーリンク・フィールド・テンプレートを作成します。

  1. レイアウト・タブをクリックし、Shipment_cノードをクリックします。

  2. Shipment_cタブで、テンプレート・サブタブをクリックします。

  3. 「+テンプレート」をクリックします。

  4. 「テンプレートの作成」ダイアログで、タイプに「フィールド」を選択します。

  5. ラベル・フィールドに、hyperlinkTemplateと入力します。

  6. 「作成」をクリックします。

  7. テンプレート・エディタで、デザイン・ボタンをクリックします。

  8. コンポーネント・パレットのフィルタ・フィールドに、cx-hyperlinkと入力します。

  9. cx-hyperlinkフラグメントを構造ペインの入力テキスト・ノードの下にドラッグ・アンド・ドロップします。

    このスクリーンショットは、cx-hyperlinkフラグメントを追加する場所を示しています。

  10. 入力テキスト・ノードを削除します。

次に、作成したハイパーリンク・フィールド・テンプレートを、パネル・レイアウトおよびサブビュー・レイアウトにすでに追加したRecordNameフィールドに関連付けます。

  1. レイアウト・タブをクリックし、Shipment_cノードをクリックします。

  2. Shipment_cタブで、ルール・セット・サブタブをクリックします。

  3. 「パネル・カード・レイアウト」ルール・セットをクリックします。

  4. プロパティ・ペインで、テンプレート・サブタブをクリックします。

  5. 「+デフォルト・フィールド・テンプレート」をクリックします。

  6. RecordNameフィールドを選択し、hyperlinkTemplateテンプレートを選択します。 「確認」をクリックします。

    このスクリーンショットは、フィールド・テンプレートをフィールドに関連付ける方法を示しています。

  7. ページ上部で、「<ルール・セット」をクリックしてルール・セットのリストに戻ります。

    このスクリーンショットは、ルール・セットのリストに戻る方法を示しています。

  8. 「サブビュー・レイアウト」ルール・セットをクリックします。

  9. 「デフォルト」レイアウトの横にある開くアイコンをクリックします。

  10. RecordNameフィールドをクリックして選択します。

  11. プロパティ・ペインのテンプレート・フィールドで、hyperlinkTemplateテンプレートを選択します。

    このスクリーンショットは、フィールド・テンプレートをフィールドに関連付ける方法を示しています。

  12. パネル・カード・レイアウトのハイパーリンク・テンプレートのJSONエントリを変更します。

    Shipment_cタブで、JSONサブタブをクリックします。

    次のコードがPanelCardLayoutセクションに表示されます:

    ,
          "fieldTemplateMap": {
            "RecordName": "/hyperlinkTemplate"
          }
  13. コードは次のようになるように「/」を削除します:

    ,
          "fieldTemplateMap": {
            "RecordName": "hyperlinkTemplate"
          }

パネルとサブビューのテスト

payment_cリスト・ページからアプリケーション拡張をプレビューして、サブビューをテストします。

  1. payment_c-listページで、プレビュー・ボタンをクリックして、ランタイム・テスト環境の変更を表示します。

    これは、Visual Builder Studioの「プレビュー」ボタンのスクリーンショットです。
  2. 結果のプレビュー・リンクは次のようになります:

    https://<servername>/fscmUI/redwood/cx-custom/payment_c/payment_c-list

  3. プレビュー・リンクを次のように変更します:

    https://<servername>/fscmUI/redwood/cx-custom/application/container/payment_c/payment_c-list

    ノート: プレビュー・リンクに/application/containerを追加する必要があります。

    次のスクリーンショットは、データを使用したリスト・ページの外観を示しています。

    これは、テスト・リスト・ページのスクリーンショットです。

  4. データが存在する場合は、リスト・ページの任意のレコードをクリックして詳細ページにドリルダウンできます。 ヘッダー・リージョンおよびパネルを含む詳細ページが表示されます。

    出荷パネルが表示されます。

    このスクリーンショットは、パネルの外観を示しています。

  5. アクション・バーで、出荷を作成アクションを選択します。

    このスクリーンショットは、出荷の作成処理にアクセスする方法を示しています。

    「出荷の作成」ページが表示されます。 一般的な「出荷の作成」ページの例を次に示します:

    このスクリーンショットは、「出荷の作成」ページの例を示しています。

    出荷を作成した後、出荷詳細ページにナビゲートする必要があります。 ブラウザの戻るボタンをクリックして、支払詳細ページに戻ります。

  6. 出荷パネルで、作成した出荷のリンクをクリックして出荷詳細ページにナビゲートします。

    ブラウザの戻るボタンをクリックします。

  7. すべて表示リンクをクリックして、サブビューにドリルダウンします。

    このスクリーンショットは、サブビューの外観を示しています。

  8. 出荷サブビューで出荷リンクをクリックして、出荷詳細ページに移動します。

    ブラウザの戻るボタンをクリックします。

  9. Push Gitコマンドを使用して作業内容を保存します。

    Gitタブに移動し、変更内容を確認し、Gitプッシュを実行します(これはコミットとGitリポジトリへのプッシュの両方を行います)。

    このスクリーンショットは、Push Gitコマンドの使用方法を示しています。