2016-11-16 7 views
0

때때로 OnChange 이벤트에서 시작하는 async 플러그인 실행 사이에 오류가 있습니다. 업데이트 프로세스에서 Plugin throw 오류가 발생했습니다. 플러그인은이 플러그인의 기본 엔터티 인 엔터티를 업데이트해야합니다.async plugin의 업데이트 레코드 간의 System.Data.SqlClient.SqlException Microsoft Dynamics CRM 2011

오류 메시지 :

처리되지 않은 예외 : System.ServiceModel.FaultException`1 [[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, 버전 = 5.0.0.0, 문화 = 중립 , PublicKeyToken = 31bf3856ad364e35]] : System.Data.SqlClient.SqlException : Microsoft Dynamics CRM에서 오류가 발생했습니다. # 5083140DDetail : 관리자 나 지원을위한 참조 번호는


-2147220970 System.Data.SqlClient.SqlException :의 Microsoft Dynamics CRM 오류가 발생했습니다. 관리자 또는 지원 참조 번호 : # 5083140D
2016-11-11T09 : 31 : 15.2410512Z [Zeppelin.Approval : Zeppelin.Approval.SignStatusUpdated] [7059a33a-804e-e211-b1b9-00155d003b10 : Zeppelin.Approval .SignStatusUpdated : Microsoft.Crm.Extensibility.InprocessServiceProxy.UpdateCore (엔티티 엔티티)에 Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Update (엔티티 엔티티 correlationToken correlationToken, CallerOriginToken callerOriginToken, ServiceType 자리 WebServiceType)에서 ma_sign] 업데이트 at Zeppelin.Approval.Helper.ApprovalService.SetSignDateOnSign (EntityReference) Microsoft.Crm.Asynchronous.EventOperation.InvokePlugin에서 Microsoft.Crm.Asynchronous.V5ProxyPlugin.Execute에서 Zeppelin.Approval.SignStatusUpdated.Execute (IServiceProvider serviceProvider) (IServiceProvider serviceProvider) (에서 16,기호, Nullable`1 signDate) 상황, IPlugin pluginInstance)

+0

'당신이 코드 방법을 읽을 수 – dynamicallyCRM

+0

? 공개 무효 SetSignDateOnSign (EntityReference sign, Nullable signDate) {if (sign == null || ! signDate.HasValue ) return; 엔티티 updatedSing = 새 엔티티 (sign.LogicalName) { Id = 부호 .Id }; updatedSing [ "ma_date"] = signDate; _service.Update (updatedSing); } – barsmaga

+0

그리고 어떻게 플러그인이 등록 되었습니까? 'sign' 엔티티 업데이트? 또는 다른 단체에서? 재귀 호출 루프에 들어가는 지 확인하고 싶을 수도 있습니다. – dynamicallyCRM

답변

0

AsyncExecutionContext 내 팀의 수석 개발자와이 문제에 대해 이야기하고, 우리는 그것을 찾을 수 있습니다. 비동기 플러그인을 사용하면 엔티티를 업데이트 해 봅니다.하지만 지금은 워크 플로도 업데이트 엔티티를 사용해보세요. 우리는 시스템 작업에 대한 로그에서 이러한 상황을 파악합니다. 비동기 플러그인은 현재 워크 플로를 업데이트하고 데이터베이스에 기록하도록 잠금을 설정하기 때문에 예외로 실행됩니다. 여기 Zeppelin.Approval.SignStatusUpdated.Execute (IServiceProvider serviceProvider)에서`Zeppelin.Approval.Helper.ApprovalService.SetSignDateOnSign (의 EntityReference 기호, Null 허용 한 signDate를) 시작할 것