warnDefault () выдает ошибку только при событии Mark Complete (унифицированный интерфейс D365) - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь прервать событие сохранения Mark Complete для одного из наших объектов активности. У меня был существующий скрипт, который до Unified Interface работал отлично, но так как мы переключились на UI, он выдает ужасную ошибку, приводящую к ухудшению работы пользователя.

Ошибка гласит: «Эту форму невозможно сохранить из-за пользовательской настройки. Код ошибки: 0x83215605». Однако после этого всплывающего окна оно продолжает работать в обычном режиме (оно все еще предотвращает сохранение и работает в обычном режиме, просто выдает ошибку, информирующую меня о предотвращении сохранения).

Я вставил ниже Javascript в onSave событие новой сущности без других настроек:

function preventSave(executionContext) {
  e = executionContext.getEventArgs();
  e.preventDefault();
  console.log("Save prevented. Save mode: " + e.getSaveMode());
  return;
}

Из консоли я вижу, что при обычном сохранении формы (режим сохранения 1) сценарий все еще выполняется и предотвращает сохранение без ошибок. Однако, когда я отмечаю запись как завершенную (режим сохранения 58), выдается сообщение об ошибке вместе с консольным предупреждением «Пустая строка передана getElementById ()» из приложения. js.

Я пробовал на несколько объектов и несколько форм с одинаковым результатом. Может ли кто-нибудь еще проверить, что он может предотвратить сохранение действий с помощью Mark Complete без возникновения этой ошибки? Как дополнительный запрос, есть ли какой-либо поддерживаемый способ скрыть выданную ошибку? Буду очень признателен за любые советы.

Информация о версии Dynamics: Версия сервера: 9.1.0000.15631 Версия клиента: 1.4.376-2003.3

...