В едином интерфейсе Dynamics CRM событие OnSave не работает

У меня есть обработчик событий для события формы OnSave:

function saveEntityForm(executionContext) {
   executionContext.getFormContext().data.save().then();
}

когда я нажимаю кнопку Сохранить в форме, появляется всплывающее окно со следующими текстами:

Сохранение в процессе

Подождите, пока сохранение завершится Код ошибки: 0x83215603

Я использую единый интерфейс.

В чем может быть причина возникновения этой проблемы и как ее решить?

2 ответа

Сообщение "Подождите, пока завершится сохранение" появится только в том случае, если вы попытаетесь сохранить, когда форма уже сохраняется - форма не позволяет выполнять два сохранения одновременно. Вот почему вызов setTimeout работает - он задерживает вызов сохранения, и к этому моменту исходное сохранение будет завершено.

Однако обратите внимание, что это влияет на производительность и, в медленной сети, может даже не работать, так как форма может не сохраниться через XXX секунд!

Если этот код выполняется в обработчике событий onsave, вы должны сначала вызвать preventDefault(), чтобы остановить сохранение по умолчанию, а затем вызов executeContext.getFormContext(). Data.save() будет работать должным образом (см. Https https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/save-event-arguments/preventdefault)

Если этот код выполняется в обработчике onchange для определенного элемента управления, вы можете попробовать вызвать isDefaultPrevented или getSaveMode, чтобы определить, сохраняется ли форма, и если да, вызовите save ()https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/save-event-arguments/isdefaultprevented

Я решил проблему самостоятельно, добавив setTimeout для своего пользовательского кода вместо использования явного метода сохранения, как показано ниже:

function saveEntityForm(executionContext) {
   // waiting few seconds to process the form
   setTimeout(() => {
      processForm(executionContext);
   }, 3000);
}
Другие вопросы по тегам