Note
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。
Important
財務と運用 (Dynamics 365) モバイル アプリおよびプラットフォームは、サポートされなくなりました。 モバイル アプリをサポートするプラットフォーム コンポーネントは、将来の更新で削除される予定です。 モバイル アプリは、アプリストアからも削除されました。 以前にインストールしたアプリのインスタンスは引き続き動作します。 詳細については、削除済みまたは非推奨のプラットフォーム機能を参照してください。
アクションを使用すると、ユーザーはデータを作成、更新、または削除できます。 また、 送信、 確認、投稿など、そのデータに対してビジネス プロセスを実行 します。 アクションを完了したユーザーは、アクションがデータ入力を受け入れる場合に、最初にアクションのデータを提供します。 ユーザーがデータの提供を完了すると、アクションは同様のアクションのキューに入ります。 これらのアクションは、 データ同期操作と呼ばれることもあります。 デバイスが接続されている場合、キューはすぐに処理されます。 それ以外の場合は、デバイスが次に接続されるときに処理されます。 キューは非同期的に処理され、データ同期中にエラーが発生しない限り、ユーザーの注意は必要ありません。 このタイプのエラーは、サーバー側のデータ入力規則が原因で発生します。 アクションは、タスクの記録に似たサーバー側メカニズムを使用します。 このメカニズムは、アクションからユーザーの入力を抽出し、ユーザーが指定した入力値を使用して、サーバーでビジネス プロセス ステップを自動的に実行します。 この仕組みは、自動的にフォームを開き、フォーム上のボタンをクリックし、ユーザーの入力をフォームのコントロールに入力します。 サーバー上のフォームに対してアクションを再生するこのプロセスは、「ヘッドレス」フォームとは非同期で行われます。 モバイル アプリは、プロセスが完了するとユーザーに通知し、フォームに記録された情報、警告、またはエラー メッセージをユーザーに表示します。 アクションを設計するときは、まず、アクションが関連するエンティティを検討します。 現在のフレームワークでは、アクションでエンティティを 1 つだけ操作する必要があります。 アクションでは、複数のエンティティを同時に更新しないでください。 たとえば、新しい販売注文を作成するアクションは、注文のヘッダーのみを作成する必要があります。 また、行は個別のエンティティであるため、行を作成しようとしないでください。 アクションを設計することを決定したときは、以下の質問を検討して、展開の方法を決定します。
エンティティが作成されるようにするアクションをどのように設計しますか。
- エンティティのリスト ビュー ページを識別または作成します。
- リスト ビュー ページに使用するフォームに、ユーザーがリストに新しいレコードを追加するために使用できる [新規 ] ボタンが含まれていることを確認します。
- デザイナーを使用して、ページに新しいアクションを作成します。 アクションを作成するときは、不要なアクションを実行しないように注意します。 ユーザーが使用できるフィールドにのみデータを入力し、必要なボタン ([ 新規 ] ボタンや [保存 ] ボタンなど) のみをクリックします。
エンティティが編集されるようにするアクションをどのように設計しますか。
- エンティティの詳細ビュー ページを識別または作成します。
- 詳細ビュー ページに使用するフォームに、表示されているレコードの編集にユーザーが使用できる [編集 ] ボタンが含まれていることを確認します。
- 詳細ビュー ページに使用するフォームで、フィルター ウィンドウでフィルターを適用してユーザーが特定のレコードを開くことができることを確認します。
- デザイナーを使用して、ページに新しいアクションを作成します。 アクションを作成するときは、不要なアクションを実行しないように注意します。 ユーザーが使用できるフィールドにのみデータを入力し、必要なボタン ( [編集] ボタンや [保存 ] ボタンなど) のみをクリックします。
エンティティが削除されるようにするアクションをどのように設計しますか。
- エンティティの詳細ビュー ページを識別または作成します。
- 詳細ビュー ページに使用するフォームに、表示されているレコードを 削除 するためにユーザーが使用できる [削除] ボタンが含まれていることを確認します。
- 詳細ビュー ページに使用するフォームで、フィルター ウィンドウでフィルターを適用してユーザーが特定のレコードを開くことができることを確認します。
- デザイナーを使用してページの新しいアクションを作成し、アクションの設計プロセスの一部として 削除をクリックします。
エンティティで実行される事業活動を有効にするアクションをどのように設計しますか。
- エンティティの詳細ビュー ページを識別または作成します。
- 詳細ビュー ページに使用するフォームに、表示されているレコードを 削除 するためにユーザーが使用できる [削除] ボタンが含まれていることを確認します。
- 詳細ビュー ページに使用するフォームで、フィルター ウィンドウでフィルターを適用してユーザーが特定のレコードを開くことができることを確認します。
- デザイナーを使用して、ページの新しいアクションを作成し、ビジネス アクションに必要な手順を実行します。 アクションの一部として、必ずしもフィールドにデータを入力する必要があるわけではありません。 送信などのアクションの場合は、[送信] ボタンを選択するだけで済み (表示される確認を確認します)。
豊富なルックアップを介して設定するフィールド値を有効にするアクションをどのように設計しますか。
モバイル アプリ内のフィールドの検索は、アプリのクラウド バージョンでの高度な参照動作とは関連付けられません。 クラウド バージョンのアプリでカスタム参照を使用するか、単純なクエリを使用する自動参照を使用するかに関係なく、モバイル アプリは、ユーザーに表示する UI を決定する必要があるときに既存の参照コードを実行しません。 (ユーザーがアプリの使用中にオフラインになっている可能性があり、アクションが同期されるまでサーバー側コードが実行されない可能性があることに注意してください)。ただし、アクションからデータを同期する際にモバイル バックエンドによって値が設定されると、ルックアップやコントロールのオーバーライド ( 変更 された実行など) が行われます。 モバイル アプリは、アクションのフィールドがフォーム上のルックアップ フィールドから選択されたことを検出すると、デバイスネイティブのコンボ ボックスまたはリスト ピッカー コントロールを表示し、そのルックアップ フィールドのバッキング テーブルに直接クエリを実行して項目を設定します。 リスト内の項目は、そのテーブルのレコードの TitleField のユーザー データを示します。 アクションに豊富なルックアップ エクスペリエンスを追加するには、これらの手順に従います。 このルックアップ エクスペリエンスには、オフライン検索を含むフル ページの複数列のルックアップ セレクターが含まれます。
- ルックアップの背後にあるエンティティの詳細ビュー ページを識別または作成します。 既に作成した既存のリスト ビュー ページを再利用できます。
- アクションの設計が完了したら、リッチ ルックアップ機能を追加するフィールドを選択し、[ プロパティ] を選択します。
- コントロールのプロパティ ダイアログ ボックスで、手順 1 で指定または作成したリスト ビュー ページを選択し、その他の関連するプロパティを設定します。
- アクションに変更内容を保存して公開します。
既存のリスト ビュー ページのプロパティが表示されていない、またはコントロールのプロパティ ダイアログ ボックスにアクセスできない場合、アプリのより古いビルドを使用している可能性があります。 この場合、ビジネス ロジック ファイルを使用して、豊富なルックアップ機能を追加できます。
function main(metadataService, dataService, cacheService, $q) {
return {
appInit: function (appMetadata) {
metadataService.configureLookup(
// specify the name of the Action to add the lookup to
'Add-Reservation',
// specify the name of the Action’s field to add the lookup to
'FMRental_Customer',
{
// specify the name of the Page for the Entity for the lookup
lookupPage: 'All-Customers',
// specify the Page’s field which contains the value to set on the lookup
// this value should be the same value you can type into the field on the Form
valueField: 'FMCustomer_RecId',
// specify the Page’s field which contains the value to display to the user
// this value is only used for display. The value field is passed to the Form
displayField: 'FMCustomer_FullName',
// set this to true to enable the rich lookup
showLookupPage: true
}
);
},
};
}
アクションを、ページのアクションの一覧に表示されないようにするにはどうすればよいですか。
ページのアクション一覧にアクションが表示されないようにするには、ビジネス ロジックの appInit() セクションから次のコードを呼び出します。 このコードでは、アクション名はアクションの名前です (デザイナーのアクション名フィールドで指定したとおり)。
function main(metadataService, dataService, cacheService, $q) {
return {
appInit: function (appMetadata) {
metadataService.configureAction('action-name', { visible: false });
},
};
}