2

タイプと期間の2つのカスタム選択リストがあります。タイプ選択リストには2つのオプションがあり、期間には3つのオプションがあります。タイプ選択リストで彼が選択したものに基づいて、2つの変数のいずれかがOOTB説明テキストボックスに渡されます。そして、彼が両方の選択リストで選択したものに基づいて、6つの変数の1つがカスタム保証テキストボックスに渡されます。両方のテキストボックスは編集可能であるため、必要に応じて段落の長さの変数を微調整できます。

問題1:setSubmitModeメソッドが最初は存在しませんでした。それが存在しなかったとき、彼は見積もりを修正することができませんでした。 解決策1:OnChangeイベントでsetSubmitModeを「always」に設定しました。

問題2:見積もりを修正しようとすると、読み取り専用エラーがスローされますが、見積もりを修正して保存することはできます。 解決策2:OnChangeイベントでsetSubmitModeを「dirty」に設定し、setSubmitModeを「always」に設定したOnSaveイベントを追加しました。

問題3:見積もりを修正しようとすると、[変更を保存しますか]ダイアログボックスが表示されます。彼が「はい」をクリックすると、変更が消去され、「いいえ」をクリックすると、見積もりで修正できます...ユーザーが表示するダイアログボックスを作成できません。

これをCRMforOutlookとブラウザーで試しました。

両方の設定で、それが新しい見積もりウィンドウを開くように見えます。ただし、私の場合、Outlookのダイアログボックスが表示されずに新しいウィンドウがすぐに閉じます。ただし、ブラウザでは、元のフォームも閉じます。(これは理想的ではありませんが、それでも彼が得ているものよりも優れています。)

ありがとう&よろしく、M

4

1 に答える 1

0

あなたの問題を正確に理解できるかどうかはわかりませんが、そのような問題については、常に同じ解決策を使用しました。OnSave イベントで、javascript によって編集された読み取り専用フィールドを保存するための次のコードがあります。

 if (Xrm.Page.getAttribute("my_field").getIsDirty()) {
    Xrm.Page.getAttribute("my_field").setSubmitMode("always");
 }

setSubmitMode("dirty") などはありません。onChange イベントでも。

それ以外の場合は、プロセスに関する情報を追加することをためらわないでください。

ケビン

于 2012-08-01T13:11:27.823 に答える