次の方法で共有


アプリ、フロー、コード、または別の関数から関数を呼び出す (プレビュー)

[このトピックはプレリリース ドキュメントであり、変更されることがあります。]

関数は、キャンバス アプリから、モデル駆動型アプリのカスタム ページ、フロー、コード、または別の関数から Dataverse で呼び出すことができます。

重要

  • これはプレビュー機能です。
  • プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が事前にアクセスし、そこからフィードバックを得ることができます。

キャンバス アプリ またはカスタム ページから関数を呼び出す

  1. Power Apps の 関数 領域 (make.powerapps.com) から、キャンバス アプリまたはカスタムページから呼び出す関数を選択します。
  2. コマンド バーで コード スニペットのコピー を選択します。
  3. コピーした数式をテキスト エディターやメモ帳など、簡単に参照できる場所に貼り付けて保存します。
  4. Power Apps Studio の場合
    1. Power Apps Studio でキャンバス アプリまたはカスタム ページを作成または編集します。
    2. 左側のナビゲーション ウィンドウの データ ソース タブで データの追加を選択し、Dataverse コネクタから 環境 オプションを検索して選択します。
    3. 次のコンポーネントを キャンバス に挿入します。
      • 数値入力など、各パラメーターのデータ型に対応する入力コントロールを追加します。
      • 関数を呼び出すボタンを追加します。
      • 数値入力など、パラメーターのデータ型に対応する出力コントロールを追加します。
  5. 作成したボタンを選択し、OnSelect プロパティに Environment.new_calculatesum などの関数を入力します。
  6. 各入力パラメーター Value をマップして、対応する入力コントロールを参照します:
    • 関数が Environment.new_CalculateSum({ X: Value, Y: Value });の場合は、次のように書き換えることができます: Environment.new_CalculateSum({ X: NumberInput1.value, Y: NumberInput2.value });
    • 関数の 'result' 出力を設定するには、数式を 'Set(result, Environment.new_CalculateSum({ X: NumberInput1.value, Y: NumberInput2.value }))' に更新します。
  7. 出力コントロールを選択し、'result.z' の数式で 'Value' プロパティを設定します。

アプリをプレビューし、入力 1 と 2 の値を入力して、ボタンを選択します。 結果が出力フィールドに表示されます。

Power Automate クラウド フローから関数を呼び出す

  1. クラウド フローで、Microsoft Dataverse コネクタから新しいアクションを追加します。
  2. バインドされていないアクションを実行する というアクションを選択します
  3. 関数を選択します。 関数には、プレフィックス付きの一意の名前が付けられます。
  4. 入力パラメーターの値をすべて指定します (ある場合)。

Dataverse Web API から関数を呼び出す

Web API からのカスタム API の呼び出し の記事のバインドされていないアクション セクションの手順に従います (プラグインの適切なスコープによって異なります)。

新しい関数内から既存の関数を呼び出す

新しい関数内で既存の関数を呼び出すには、次の構文を使用します: Environment.ExistingFunction({inputParam1: value1, inputParam2: value2, ... inputParamN: valueN})

出力は常にレコードであるため、ドット表記を使用して出力パラメーターにアクセスします。 たとえば、関数 "ExistingFunction" に out1 と out2 として定義された 2 つの出力パラメーターがある場合、次の 2 つの方法のいずれかでアクセスできます。

  • Environment.ExistingFunction({inputParam1: value1, inputParam2: value2, ... inputParamN: valueN}).out1
  • Environment.ExistingFunction({inputParam1: value1, inputParam2: value2, ... inputParamN: valueN}).out2

Dataverse での関数の制限

  • 既存のキャンバス アプリ内の新しい関数にアクセスするためには、環境言語オブジェクトを再追加する必要があります。 既存のキャンバス アプリに環境テーブル データ ソースを追加した後に作成した関数の場合、Power Fx 環境言語オブジェクトを削除して再追加する必要があります。 次に、更新された関数のリストがアクションとして表示されます。
  • ネスト化されたサポート。 関数は、Power Fx 式から Microsoft によって Microsoft アクションのみを呼び出すことができます。
  • Collect のシナリオには Patch が必要なものもあります。 一部、Collect() が機能しないシナリオがあります。 回避策は、ここに示されている関連列の設定例のように Patch() を使用することです。
Patch(Faxes,
       Collect(Faxes, {  Subject : "Sub1" } ),
       { Regarding : First(Accounts) }
    )

関数をデバッグしてサポートを受ける

関数の作成または実行で問題が発生した場合は、trace() 関数を使用してデバッグするか、Dataverse の関数の制限 に進んで発生する可能性のある一般的な問題を確認してください。

trace() 関数を使用したデバッグ

  1. トレース関数を使用してデバッグするには、プラグインとカスタム ワークフロー活動の追跡を有効にしてください。
  2. Power Apps (make.powerapps.com) に移動して、右上にある 設定 ギアアイコンを選択して、詳細設定 を選択します。
  3. 設定 > 監査 > グローバル監査設定を選択します。
  4. カスタム設定 タブで、プラグイン トレース ログへのログ記録を有効にするすべて 有効に設定します。

追跡を有効にすると、trace() 関数を使用して Power Fx 数式をデバッグできるようになります。 Power Fx 関数内の trace() 関数を使う方法については、関数 Power Platform のトレース を参照してください。

ヘルプ + サポートに問い合わせる

Microsoft Dataverse ローコード プラグイン ヒントに記載されていない関数の問題や、文書化されていないエラーが表示されるなどの既知の問題については、ヘルプ + サポート エクスペリエンスを使用し、次の情報を含めてください。

  • 問題の種類 - Dataverse Web API および SDK。
  • 問題のサブタイプ。

関数の例

Microsoft Dataverse で関数を作成および使用する