Ребята привет.
Версия срм-ки 2020 release wave 1 enabled Server version: 9.1.0000.22251 Client version: 1.4.1442-2008.3.
Суть задачи проста как мир, обновить грид после асинхронной операции.
Функцию зарегистрировал с CrmParemeter "SelectedControl" и вызываю после асинхронной операции, но грид не обновляется
X++:
function rejectGridView(primaryControl) {
initiateApprovaRequestFromGrid(primaryControl, 173030003);
}
function approveGridView(primaryControl) {
initiateApprovaRequestFromGrid(primaryControl, 173030002);
}
function initiateApprovaRequestFromGrid(primaryControl, status) {
var entityGuids = [];
var rows = primaryControl.getGrid().getSelectedRows();
rows.forEach(function (selectedRow, i) {
var entity = selectedRow.getData().getEntity();
entity.attributes.forEach(e => {
if (e.getName() == "status" && e.getValue() == 173030001) {
entityGuids.push({ id: entity.getId() })
}
})
});
if (entityGuids.length > 0) {
showApprovalDialog(primaryControl, entityGuids, status);
}
}
function handleApprovalRequest(primaryControl, recordsToApprove, status, comment) {
Xrm.Utility.showProgressIndicator("Please wait...");
var last = recordsToApprove.length - 1;
recordsToApprove.forEach((record, indx) => {
var data =
{
"status": status,
"approvalcomment": comment
};
Xrm.WebApi.updateRecord("landedcost", record.id, data).then(
function success(result) {
if (length == indx) {
Xrm.Utility.closeProgressIndicator();
primaryControl.refresh();
}
},
function (error) {
console.log(error.message);
}
);
})
}