0
在用戶驗證訂單後,訂單的狀態被設置得如此確認,並被髮送到另一個系統X,問題在於插件在某些情況下被觸發兩次超過兩次,並且導致發送該實體的多個時間到系統X.我試圖通過使用context.depth糾正,但所有的時間等於1爲什麼我的PostUpdateOrder插件執行了兩次CRM 2013
JS方法:
Validate: function() {
Xrm.Page.getAttribute("eoz_validated").setValue(true);
Xrm.Page.data.entity.save();
ABE.Order.HideVisibleField();
Xrm.Page.ui.clearFormNotification('ProductError');
}
}
插件執行方法:
protected void ExecutePostOrderUpdate(LocalPluginContext localContext)
{
if (localContext == null)
{
throw new ArgumentNullException("localContext");
}
if (localContext.PluginExecutionContext.Depth > 1)
{
return;
}
tracingService = localContext.TracingService;
var order = (Entity)localContext.PluginExecutionContext.InputParameters["Target"];
bool isValidated = order.GetAttributeValue<OptionSetValue>("abe_isValidated").Value : false;
if (isValidated)
{
SendToSystemX(localContext.OrganizationService, order.Id);
SendProductsToOwner(localContext.OrganizationService, order.Id);
}
var statecode = order.Contains("statecode") ? order.GetAttributeValue<OptionSetValue>("statecode").Value : -1;
}
對不起,在最近的回覆中,我刪除了SendToSystemX(IOrganizationService,Guid)和SendProductsToOwner(IOrganizationService,Guid)。該插件仍然執行兩次。 –