When Call The Alert.Show It Is Not Working After Save Process Completed It Show To Me Dialog With Two Button. I Want To Prevent Save. :(
My Code:
function Onsave(econtext) {
var NewFeature = Xrm.Page.getAttribute("eit_featuregroup").getValue();
Newstatus = Xrm.Page.getAttribute("statuscode").getValue();
if (FormType == 2) {
if (Newstatus == 915840011 || Newstatus == 915840012) {
NewTeam = RetrieveTeam(NewFeature[0].id);
}
}
if (NewTeam != CurrentTeam) {
TeamChangeconfirm(econtext);
}
}
function TeamChangeconfirm(econtext) {
Alert.show("This Function Is Go", null, [
new Alert.Button("Yes", null, true, false),
new Alert.Button("No", function () {
preventSave(econtext);
Alert.show("It Is Not Save", null, [new Alert.Button("Close", null, true, false)], "INFO", 500, 200);
}, true, false)
], "QUESTION", 500, 200);
}
function preventSave(econtext) {
var eventArgs = econtext.getEventArgs();
var SaveMode = eventArgs.getSaveMode();
if (SaveMode == 70 || SaveMode == 2 || SaveMode == 1) {
eventArgs.preventDefault();
}
}
Comments: ** Comment from web user: Liger **
Something like this "should" work:
```
var _autoFired = false;
function Onsave(econtext) {
if (_autoFired) { _autoFired = false; return; }
var NewFeature = Xrm.Page.getAttribute("eit_featuregroup").getValue();
Newstatus = Xrm.Page.getAttribute("statuscode").getValue();
if (FormType == 2) {
if (Newstatus == 915840011 || Newstatus == 915840012) {
NewTeam = RetrieveTeam(NewFeature[0].id);
}
}
if (NewTeam != CurrentTeam) {
TeamChangeconfirm(econtext);
}
}
function TeamChangeconfirm(econtext) {
preventSave(econtext);
Alert.show("This Function Is Go", null, [
new Alert.Button("Yes", function () {
_autoFired = true;
Xrm.Page.data.entity.save();
}, true, false),
new Alert.Button("No", function () {
Alert.show("It Is Not Save", null, [new Alert.Button("Close", null, true, false)], "INFO", 500, 200);
}, true, false)
], "QUESTION", 500, 200);
}
```
Regards,
Paul