#javascript #dynamics-crm
#javascript #динамика-crm
Вопрос:
Мы использовали этот фрагмент для редактируемой подсети в форме, в то время как одно из onchange
событий триггера атрибута, запускающее эту функцию, и необходимые поля были отмечены как требуемые до сих пор. Таким образом, пользователи не могут сохранить редактируемую строку подсети, и автосохранение также будет заблокировано с уведомлением.
Внезапно он перестал работать, и во время отладки ошибок или исключений нет, хотя поле помечено как обязательное для onchange
функции — пользователи все еще могут сохранить запись без значения в обязательном поле. Понятия не имею, почему это изменение поведения наблюдается сейчас.
Кто-нибудь еще сталкивался с этой проблемой и каким-либо обходным путем для этого?
function ReasonChange(eContext) {
debugger;
// get the attribute which fired the onchange.
var reasonAttr = eContext.getEventSource();
// get the container for the attribute.
var attrParent = reasonAttr.getParent();
// get the value of the reason.
var reason = reasonAttr.getValue();
if (reason != null) {
// var field1 Attribute
var field1 = attrParent.attributes.get("new_followupdate");
//Callback
if (reason[0].id == "{33E9E459-5A8B-EA11-A812-000D3A5A17E3}") {
// set field as mandatory.
field1.setRequiredLevel("required");
}
else {
//clear field value
field1.setValue(null);
// set field as mandatory.
field1.setRequiredLevel("none");
}
}
Ответ №1:
Один из способов, о котором я мог бы подумать сейчас, — добавить код в событие Onsave и проверить, содержит ли значение поля данные, если не отображается сообщение об ошибке.
Кроме того, вы проверили в другом браузере, такое же поведение или другое?
Пожалуйста, отметьте мой ответ подтвержденным, если я был полезен
Комментарии:
1. да, спасибо, такой же опыт и в Edge. При сохранении немного сложно перебирать все строки, есть ли у вас какой-либо рабочий пример кода. Пробовал также использовать бизнес-правило, происходит что-то странное, но не уверен, почему это так сложно. Планирую перейти на плагин в качестве последнего средства, вместо того, чтобы тратить больше времени на это/