Dynamics 365:在 OData $filter中使用创建日期是"UserId is empty guid"!错误



我在 POST man 中使用以下 OData 查询并给出错误,即

下面的查询工作正常,即 http:///api/data/v9.0/ngt_assignments(173554B4-A103-EC11-8117-005056814F19)?$select=ngt_assignmentid, 创建于

但是当我$filter查询中使用以下内容时,即 and%20createdon%20ge%202022-02-21 过滤器如下 Url,即

http:///api/data/v9.0/ngt_assignments(173554B4-A103-EC11-8117-005056814F19)?$select=ngt_assignmentid, createdon&$filter=createdon%20ge%202022-02-21

然后,我收到以下错误,即

"错误":{ "代码": "0x80040217", "消息": "用户 ID 是空 GUID!", "内部错误":{ "消息": "用户 ID 是空 GUID!", "type": "Microsoft.Crm.BusinessEntities.CrmObjectNotFoundException", "stacktrace": " at Microsoft.Crm.Caching.UserDataCacheLoader.<>c__DisplayClass2_0.b__0()\r at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute[TResult](ILogger logger, EventId eventId, ActivityType activityType, Func1 func)rn at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute[TResult](ILogger logger, XrmTelemetryActivityType activityType, Func1 func)\r at Microsoft.Crm.Caching.ObjectModelCacheLoader2.LoadCacheDataInternal(TKey key, Object existingDataContainer, IOrganizationContext context)rn at Microsoft.Crm.Caching.ObjectModelCacheLoader2.LoadCacheData(TKey key, IOrganizationContext context)\r at Microsoft.Crm.Caching.CrmMultiOrgCacheBase2.CreateEntry(TKey key, IOrganizationContext context)rn at Microsoft.Crm.Caching.CrmMultiOrgCacheBase2.<>c__DisplayClass19_0.b__2()\r at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute(ILogger logger, EventId eventId, ActivityType activityType, Action action)\r at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute(ILogger logger, XrmTelemetryActivityType activityType, Action action)\r at Microsoft.Crm.Caching.CrmMultiOrgCacheBase2.LookupEntry(TKey key, IOrganizationContext context)rn at Microsoft.Crm.BusinessEntities.CrmDateTimeBuilderBase.ConvertUtcTimeToUserTime(DateTime utcTime, IUserAndOrganizationContext userAndOrganizationContext)rn at Microsoft.Crm.BusinessEntities.DynamicCrmDateTimeBuilder.ConvertToCrmDateTime(DateTime dateTime, IUserAndOrganizationContext userAndOrganizationContext, DateTimeToCrmDateTimeConversionStrategy strategy)rn at Microsoft.Crm.Query.DateTimeConditionParser.GetCrmDateTime(AttributeMetadata attribute, Object value, IUserAndOrganizationContext userAndOrganizationContext)rn at Microsoft.Crm.Query.ConditionExpression..ctor(AttributeMetadata attribute, ConditionOperator conditionOperator, Array values, Boolean isCustom, IUserAndOrganizationContext userAndOrganizationContext, DynamicMetadataCache cache)rn at Microsoft.Crm.Extensibility.OData.DataQueryOptionsConverter.GetConditionExpression(Object leftVal, BinaryOperatorNode node, Object rightVal, Boolean negateOperator)rn at Microsoft.Crm.Extensibility.OData.DataQueryOptionsConverter.BindBinaryOperatorNode(BinaryOperatorNode binaryOperatorNode, FilterExpression parentFilter, Boolean negateOperator)rn at Microsoft.Crm.Extensibility.OData.QueryOptionsConverterBase4.Bind(QueryNode node, TFilterExpression parentFilter, Boolean negateOperator, XrmMetadataEntityMetadata metadata)\r atMicrosoft.Crm.Extensibility.OData.DataQueryOptionsConverter.BindBinaryOperatorNode(BinaryOperatorNode binaryOperatorNode, FilterExpression parentFilter, Boolean negateOperator)\r at Microsoft.Crm.Extensibility.OData.QueryOptionsConverterBase4.Bind(QueryNode node, TFilterExpression parentFilter, Boolean negateOperator, XrmMetadataEntityMetadata metadata)rn at Microsoft.Crm.Extensibility.OData.QueryOptionsConverterBase4.BindFilterClause(FilterClause filterClause, XrmMetadataEntityMetadata metadata, Object[] args)\r at Microsoft.Crm.Extensibility.OData.DataQueryOptionsConverter.SetFilterExpression(EntityExpression qe,FilterQueryOption filterQueryOption, XrmMetadataEntityMetadata metadata)\r at Microsoft.Crm.Extensibility.OData.QueryOptionsConverterBase4.GetQueryExpression(ODataQueryOptions queryOptions, String edmEntityName, CrmODataExecutionContext context, XrmMetadataEntityMetadata metadata)rn at Microsoft.Crm.Extensibility.OData.CrmODataServiceDataProvider.RetrieveEdmEntity(CrmODataExecutionContext context, String edmEntityName, String entityKeyValue, ODataQueryOptions queryOptions)rn at Microsoft.Crm.Extensibility.OData.EntityController.GetEntityImplementation(String& entityName, String key)rn at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute[TResult](ILogger logger, EventId eventId, ActivityType activityType, Func1 func)\r at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute[TResult](ILogger logger, XrmTelemetryActivityType activityType, Func1 func)rn at lambda_method(Closure , Object , Object[] )rn at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)rn at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary2 个参数, CancelToken cancelToken)\r--- 从引发异常的先前位置开始的堆栈跟踪结束 ---\r 在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r--- 从引发异常的先前位置的堆栈跟踪结束 ---\r at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r atSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()\r--- 从引发异常的先前位置的堆栈跟踪结束 ---\r at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r atSystem.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()" } } }

快速帮助真的非常感谢。

我在Dynamics社区发布了这个问题,并从其中一位成员那里得到了线索。有关上述问题,请在 https://community.dynamics.com/crm/f/microsoft-dynamics-crm-forum/462500/dynamics-365-on-premises-using-createdon-date-in-the-odata-filter-is-giving-userid-is-empty-guid-error/1267182

最新更新