使用JavaScript还原Dynamics CRM表单更改(按用户)
只是想知道如何还原用户使用Javascript在Dynamics CRM中所做的更改。例如,如果用户尝试为实体a创建新记录,并将实体a表单上的属性a的值设置为X,然后单击“保存”,我需要JavaScript显示一条消息,说明用户无法创建X类型,并阻止用户保存表单。更新时的情况与此相同当用户尝试将属性A设置为X并单击保存时,JavaScript应显示一条消息,防止发生保存,并在用户更改之前回滚到所有属性的先前值。您需要在OnSave事件中调用以下方法 在PreventOnSave方法中,确保定义了用于接收执行对象的参数使用JavaScript还原Dynamics CRM表单更改(按用户),javascript,dynamics-crm-2011,dynamics-crm,Javascript,Dynamics Crm 2011,Dynamics Crm,只是想知道如何还原用户使用Javascript在Dynamics CRM中所做的更改。例如,如果用户尝试为实体a创建新记录,并将实体a表单上的属性a的值设置为X,然后单击“保存”,我需要JavaScript显示一条消息,说明用户无法创建X类型,并阻止用户保存表单。更新时的情况与此相同当用户尝试将属性A设置为X并单击保存时,JavaScript应显示一条消息,防止发生保存,并在用户更改之前回滚到所有属性的先前值。您需要在OnSave事件中调用以下方法 在PreventOnSave方法中,确保定义了
function PreventOnSave(ExecutionObj){
// The getEventArgs() method returns an object with methods to manage the Save event.
// The preventDefault() method cancels the save operation
ExecutionObj.getEventArgs().preventDefault();
}
Microsoft reference我不想在保存时捕捉错误,而是在加载时通过javascript禁用该字段。这样,您的用户就不会尝试更新他们无法更新的内容。正如Daryl所说,如果用户根本不应该更改字段,请将该字段设置为表单的只读OnLoad() 正如Shanks所指出的,您还可以捕获OnSave()中的所有更改,在这里您可以通知用户表单中所有不允许的更改并采取措施
第三个选项是为每个字段附加一个受支持的OnChange(),并处理每个不允许的字段编辑另一个选项是捕获字段OnChange()中的异常,通知用户异常,并将字段恢复到以前的值感谢大家。用户将更改字段,但仅更改为某些值。