Dynamics crm 2011 Dynamics CRM脚本帮助-日期字段与当前日期+数字字段的比较

Dynamics crm 2011 Dynamics CRM脚本帮助-日期字段与当前日期+数字字段的比较,dynamics-crm-2011,jscript,Dynamics Crm 2011,Jscript,订单有两个字段,发货日期字段和提前期天数字段 输入发货日期时,应大于当前日期+提前期。如果不允许,则通知用户,并且不允许保存记录 不过,该规则有一个例外:如果填写了“批准用于赶工”字段和“批准人”字段,则不需要发出警报,并且可以保存记录。 ++如果这真的不能解释周末,那将是一个加号。但不是强制性的 function checkLeadTime { var shipDate = Xrm.Page.getAttribute("requestdeliveryby").getValue(); var l

订单有两个字段,发货日期字段和提前期天数字段

输入发货日期时,应大于当前日期+提前期。如果不允许,则通知用户,并且不允许保存记录

不过,该规则有一个例外:如果填写了“批准用于赶工”字段和“批准人”字段,则不需要发出警报,并且可以保存记录。 ++如果这真的不能解释周末,那将是一个加号。但不是强制性的

function checkLeadTime
{
var shipDate = Xrm.Page.getAttribute("requestdeliveryby").getValue();
var leadTime = Xrm.Page.getAttribute("orbus_leadtime").getValue();
var leadTimeDate = Xrm.Page.getAttribute("orbus_leadtimedate").getValue():

if(leadTime != NULL)
{

var approvedRushProduction = xrm.getAttribute("orbus_projectapprovedrush").getValue();
var approvedBy = Xrm.Page.getAttribute("orbus_approvedbyid").getValue();
var currentTime = new Date();
var newDate = currentTime.setDays(currentTime.getDays + leadTime);
leadTimeDate.setValue(newDate);

if(approvedRushProduction == 0 && approvedBy == NULL)
 {
 if ( newDate < shipDate)
  {
    alert("Sorry, Ship Date is less than lead time!");
  }
  else
  {
    alert("Current Time = " + newDate);
  }
 }
}
}

您可以将函数附加到表单onSave事件

if ( newDate < shipDate ) {
    alert("Sorry, Ship Date is less than lead time!");
    Xrm.Page.context.getEventArgs().preventDefault();
} else {
    alert("Current Time = " + newDate);
}

使用Xrm.Page.context.getEventArgs.preventDefault停止保存事件。

要停止保存并显示错误消息,可以使用:

Xrm.Page.getControl(fieldName).setNotification(message);