我在訂單表單上有一個自定義工作流,如果訂單沒有被用戶追隨,那麼需要刪除訂單的關注。當我將它設置爲按需運行時,自定義工作流程正常工作,但在取消選中Dynamics CRM 2016中的按需選項時無法正常工作。自定義工作流程未在Dynamics CRM 2016中運行
以下是我的代碼段以及通過跟蹤服務收到的詳細信息。任何人都可以請指導這個?
代碼段
Guid orderId = this.inputEntity.Get(caContext).Id;
var fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
" <entity name='postfollow'>" +
" <attribute name='regardingobjectid' />" +
" <attribute name='ownerid' />" +
" <filter type='and'>" +
" <condition attribute='regardingobjectid' operator='eq' uitype='salesorder' value='"+ orderId + "' />" +
" </filter>" +
" </entity>" +
"</fetch>";
var followQuery = new FetchExpression(fetchXml);
EntityCollection followCollection = service.RetrieveMultiple(followQuery);
temp = followCollection.Entities.Count;
if (temp < 1)
{
return;
}
ownerIds = new string[temp];
foreach (Entity follow in followCollection.Entities)
{
ownerIds[i] = (((EntityReference)follow.Attributes["ownerid"]).Id).ToString();
i++;
}
List<string> allUsersList = allUsers(service, orderId);
string[] allusersArray = allUsersList.Distinct().ToArray();
do
{
if (allusersArray.Contains(ownerIds[j].ToLower()))
{
}
else
{
removeFollowShip(caContext, service, new Guid(ownerIds[j]), orderId);
}
j++;
} while (j < ownerIds.Length - 1);
跟蹤服務詳情
插件跟蹤:
[Microsoft.Xrm.Sdk.Workflow: Microsoft.Xrm.Sdk.Workflow.Activities.RetrieveEntity]
[RetrieveEntity]
Error Message:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Entity Reference cannot have Id and Key Attributes empty.Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2147220989</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>Entity Reference cannot have Id and Key Attributes empty.</Message>
<Timestamp>2017-04-11T16:17:32.745259Z</Timestamp>
<InnerFault>
<ErrorCode>-2147220970</ErrorCode>
<ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>System.ArgumentException: Entity Reference cannot have Id and Key Attributes empty.</Message>
<Timestamp>2017-04-11T16:17:32.745259Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</InnerFault>
<TraceText>[Microsoft.Xrm.Sdk.Workflow: Microsoft.Xrm.Sdk.Workflow.Activities.RetrieveEntity]
[RetrieveEntity]
</TraceText>
</OrganizationServiceFault>
at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Retrieve(EntityReference entityReference, ColumnSet columnSet, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)
at Microsoft.Crm.Extensibility.InprocessServiceProxy.RetrieveCore(String entityName, Guid id, ColumnSet columnSet)
at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.Retrieve(String entityName, Guid id, ColumnSet columnSet)
at Microsoft.Crm.Workflow.Services.RetrieveActivityService.<>c__DisplayClass1.<RetrieveInternal>b__0(IOrganizationService sdkService)
at Microsoft.Crm.Workflow.Services.ActivityServiceBase.ExecuteInTransactedContext(ActivityDelegate activityDelegate)
at Microsoft.Crm.Workflow.Services.RetrieveActivityService.ExecuteInternal(ActivityContext executionContext, RetrieveEntity retrieveEntity)
at Microsoft.Crm.Workflow.Services.RetrieveActivityService.Execute(ActivityContext executionContext, RetrieveEntity retrieveEntity)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
投票回答問題時未解釋如何使它們變得更好並沒有幫助。 –