0

リボン ボタンが押されたときにエンティティ属性値を null に設定する単純な関数を作成しようとしています。今私が直面している問題は、エンティティに加えた変更が保存されず、フォームがリロードされ、以前の値が返されることです。

ボタン イベントには、'Task' アクティビティ属性 'actualend' を渡します。「実際の終了」フィールドはデフォルトで無効になっています。

ClearField: function (field) {
    if (Xrm.Page.getAttribute(field) == null) return;

    Xrm.Page.ui.controls.get(field).setDisabled(false);
    Xrm.Page.getAttribute(field).setSubmitMode("always");
    Xrm.Page.getAttribute(field).setValue(null);

    if (Xrm.Page.data.entity.getIsDirty()) {
        Xrm.Page.data.entity.save(); //also tried addOnSave(function)
    }
}

デバッガーに続いて、すべての変更が正しく行われたことを追跡できましたが、save() メソッドでそれらが「破棄」され、フォームが以前の値でリロードされることを除きます。このコードは CRM UR8 では問題なく動作しますが、CRM UR13 では動作しません。

何か不足していますか?

4

2 に答える 2