フォームが更新モードのときに自動的に実行されるように、メインの請求書フォームで "Get Products"リボンアクションロジックを取得しようとしています。フォームが2回ロードされ、ロードイベントロジックがキャンセルされます
請求書は、オポチュニティで始まるビジネスフローによって作成されます。
onFormLoad = function() {
//if we are in update mode...
if (Xrm.Page.ui.getFormType() == 2) {
//if no products are present in the list...
if (loadInvoiceProducts().length == 0) {
Mscrm.CommandBarActions.getProducts();
}
}
};
loadInvoiceProducts = function() {
//just a jQuery ajax call to the oData service... this works.
var products = oDataQuery("InvoiceDetailSet?$filter=InvoiceId/Id eq guid'" + Xrm.Page.data.entity.getId() + "'");
return products.results;
};
私は手動で新しいオーダーを作成する場合、これは正常に動作します(フォームがフォームモード== 1で、その後で、作成)とするとき:
は、ここでのコードは、請求書のonLoadイベントのLoadイベントを形成します必要なフィールドに入力して保存し、フォームが更新モードでリロードされたら、[Get Products]ポップアップが表示されます。
問題は、ビジネスフローによって請求書が作成される場合です。請求書フォームは作成モードで開きます(ビジネスフローを通じて、すべての必須フィールドはすでに入力済みです)。Ctrl-Sを押すと、上記のコードがトリガーされ、フォームは更新モードになります。上記のコードは実行されません。
もう一度トリガーするにはF5キーを押す必要があります。
誰もこれの前に何かを試みましたか?
ありがとうございました。
2016年ですか? – Polshgiant
はい私は2016を使用しています –