Динамика CRM v9.0 getIsDirty не дает обновленного значения - PullRequest
0 голосов
/ 08 мая 2019

Я использую динамическую версию CRM

9.1.0.4435 онлайн

.У меня возникают проблемы при использовании formContext.data.entity.getIsDirty() в событии Сохранить.

В нижеуказанной версии CRM 9.0 , Xrm.Page.data.entity.getIsDirty() дали нам значение, основанное на одном последнем статусе полей, и если я вызываю этот метод каждую минуту, он работал хорошо.

Но так как в v9.0 он заменен на formContext.data.entity.getIsDirty(), он не дает мне значение, равное TRUE, даже если присутствует грязное поле.Кто-нибудь знает обходной путь или знает причину такого поведения?

1 Ответ

0 голосов
/ 08 мая 2019

Я только что попытался повторить вашу проблему в моем экземпляре для OnSave Event.

Моя версия CRM: версия 1710 (9.1.0.4435) онлайн

То, что я пытался и работал для меня.

function testFunction(executionContext){

    var formcontext = executionContext.getFormContext(); // gives me formcontext

    formcontext.data.getIsDirty() // returns True for me when form is dirty

    formcontext.getAttribute("caseorigincode").getIsDirty() // return true when this field is changes

    formcontext.getAttribute("emailaddress").getIsDirty() // returns false as this field was not changed.

    formcontext.data.entity.getIsDirty() // even this function returns true as form is dirty
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...