2

Dynamics CRM 365 zeigt standardmäßig nur eine begrenzte Anzahl von Notizen auf dem Notizblock des Entitätsformulars. In meinem Fall sind es 10 Notizen. Die restlichen Notizen sollen "lazy loaded" sein, wenn der Benutzer Notizen herunterscrollt. Irgendwie ist dieses Feature kaputt, Noten werden nicht geladen.CRM: Zeige alle Notizen auf dem Formular statt Lazy-Laden

enter image description here

Nichts interessant weder in der Konsole, noch in dem Ereignisprotokoll des Servers. Das ist komplette Verrücktheit.

Gibt es eine Möglichkeit, alle Notizen gleichzeitig zu laden, wie in alten CRM 2011?

Oder vielleicht kann jemand beraten, wie man dieses Problem untersucht?


UPDATE: Genau dieses Problem habe mit Werkzeug Tracing auf ‚Warnung‘ Ebene und hier ist es, was es zeigt, wenn ich versuche, Notizen zu laden:

[2017-07-06 08:39:43.344] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread: 39 |Category: Exception |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: 055f8ace-5e77-4c01-b980-0e97088ed4aa |ActivityId: 055f8ace-5e77-4c01-b980-0e97088ed4aa | CrmHttpException..ctor ilOffset = 0x22 
    at CrmHttpException..ctor(HttpStatusCode statusCode, String message, Object[] args) ilOffset = 0x22 
    at CrmODataOptimisticConcurrencyHelper.HandleGetMatchETags(CrmODataExecutionContext context, Entity entity) ilOffset = 0x129 
    at CrmODataServiceDataProvider.RetrieveEntityWithRelatedRecords(CrmODataExecutionContext context, EntityReference primaryEntityReference, QueryExpression qe, RelationshipQueryCollection relatedEntitiesQuery) ilOffset = 0x19 
    at CrmODataServiceDataProvider.RetrieveEdmEntity(CrmODataExecutionContext context, String edmEntityName, String entityKeyValue, ODataQueryOptions queryOptions) ilOffset = 0x2D 
    at EntityController.GetEntity(String entityName, String key) ilOffset = 0x32 
    at ilOffset = 0xFFFFFFFF 
    at <>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters) ilOffset = 0x0 
    at ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken) ilOffset = 0x34 
    at <InvokeActionAsyncCore>d__0.MoveNext() ilOffset = 0x52 
    at AsyncTaskMethodBuilder`1.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at ApiControllerActionInvoker.InvokeActionAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken) ilOffset = 0x35 
    at ApiControllerActionInvoker.InvokeActionAsync(HttpActionContext actionContext, CancellationToken cancellationToken) ilOffset = 0x3 
    at <ExecuteAsync>d__2.MoveNext() ilOffset = 0xD9 
    at AsyncTaskMethodBuilder`1.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at ActionFilterResult.ExecuteAsync(CancellationToken cancellationToken) ilOffset = 0x35 
    at ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken) ilOffset = 0x138 
    at <SendAsync>d__1.MoveNext() ilOffset = 0x123 
    at AsyncTaskMethodBuilder`1.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x3D 
    at HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x3C 
    at HttpRoutingDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0xBF 
    at DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x19 
    at <SendAsync>d__0.MoveNext() ilOffset = 0x17D 
    at AsyncTaskMethodBuilder`1.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at CorsMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x3D 
    at DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x19 
    at <SendAsync>d__0.MoveNext() ilOffset = 0x50 
    at AsyncTaskMethodBuilder`1.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at CrmETagMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x3D 
    at DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x19 
    at <SendAsync>d__0.MoveNext() ilOffset = 0xF 
    at AsyncTaskMethodBuilder`1.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at CrmDelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x3D 
    at DelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x19 
    at <SendAsync>d__0.MoveNext() ilOffset = 0x11D 
    at AsyncTaskMethodBuilder`1.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at HttpServer.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x3D 
    at HttpMessageInvoker.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) ilOffset = 0x3C 
    at <ProcessRequestAsyncCore>d__0.MoveNext() ilOffset = 0x96 
    at AsyncTaskMethodBuilder.Start(TStateMachine& stateMachine) ilOffset = 0x2C 
    at HttpControllerHandler.ProcessRequestAsyncCore(HttpContextBase contextBase) ilOffset = 0x2C 
    at TaskAsyncHelper.BeginTask(Func`1 taskFunc, AsyncCallback callback, Object state) ilOffset = 0xD 
    at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() ilOffset = 0xE6 
    at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ilOffset = 0x3C 
    at PipelineStepManager.ResumeSteps(Exception error) ilOffset = 0x27A 
    at HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) ilOffset = 0x31 
    at HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) ilOffset = 0xB0 
    at PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) ilOffset = 0x131 
    at PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) ilOffset = 0x0 
    at UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus) ilOffset = 0xFFFFFFFF 
    at UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus) ilOffset = 0xFFFFFFFF 
    at PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) ilOffset = 0x1E7 
    at PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) ilOffset = 0x0 
>Crm Exception: Message: The requested record matches a specified If-None-Match version., ErrorCode: -2147088246 
[2017-07-06 08:39:43.344] Process: w3wp |Organization:3eb43172-29f4-dd11-80b4-0015178dc928 |Thread: 39 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Error |ReqId: 055f8ace-5e77-4c01-b980-0e97088ed4aa |ActivityId: 055f8ace-5e77-4c01-b980-0e97088ed4aa | CrmODataUtilities.Trace ilOffset = 0x24 
>{"Error":{"InnerError":null,"Message":"CrmHttpException: The requested record matches a specified If-None-Match version."}} 
+0

Ich würde versuchen, das Problem in einer Vanilla-Organisation neu zu erstellen, um zu sehen, ob es ein Problem ist, das nur in Ihrer Organisation oder einem Plattformfehler auftritt (in diesem Fall würde ich es zum MS-Supportteam bringen). –

+0

@FedericoJousset Ich habe Tracing-Tool ausgeführt und es zeigt mir eine Art Ausnahme, siehe Update. –

+1

Entschuldigung, leider habe ich diesen Fehler vorher nicht gesehen und die Information darüber ist nicht sehr gut. Die Web-Service-Fehlercodes beschreiben es als "Fehler in Wep API in Dynamics 365." und es hängt wahrscheinlich mit der Anfrage zusammen, die CRM erstellt (mit dem If-None-Match-Header), um die Notizen abzufragen. Sie können versuchen, die Anfrage zu erhalten, die mit Fiddler erzeugt wird, um zu sehen, wenn Sie den Fehler finden, aber ich würde es als ein Fehler zum MS-Support-Team auslösen. –

Antwort

1

@Dot_NETPro, jetzt ist das Problem gelöst.

Das Stammverzeichnis befand sich in der Funktion renderOlderPosts des Aktivitätsfeeds, da wir es im vorherigen Aktualisierungspaket deaktiviert hatten, weil es auf der Seite für alle Benutzer eine Nullreferenzausnahme (wegen des MS-Fehlers) ausgelöst hat. Die Funktion wurde anscheinend nicht vom CRM verwendet, aber im nächsten Update Pack begann sie, die Kommentare zu rendern. Außerdem ist die Null-Referenz-Ausnahme im aktuellen Update-Paket vorläufig behoben.

Verwandte Themen