Я пытаюсь создать карточку действия с помощью CDS, но по запросу сталкиваюсь с проблемой ниже - PullRequest
1 голос
/ 29 мая 2020

Содержание тела:

{
 "@odata.context": "https://aaaaaaaaaaaaaaaaa.crm.dynamics.com/api/data/v9.0/$metadata#actioncards/$entity",

"_cardtypeid_value@OData.Community.Display.V1.FormattedValue": "CloseDateComingSoon",
"_cardtypeid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "cardtypeid",
"_cardtypeid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "cardtype",
"_cardtypeid_value": "c16b8555-d33a-4e98-8188-1b123efbd4e9",


"_ownerid_value@OData.Community.Display.V1.FormattedValue": "Sudhakar Marreddy",
"_ownerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "ownerid",
"_ownerid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "systemuser",
 "_ownerid_value": "f6fa6fa7-0bac-e711-8114-c4346bdca111",

"msdyn_regardingobjectid": "77af6f8e-f55d-e811-a83d-000d3a1bbafa",

"expirydate": "2020-06-27T21:36:05Z",
"priority": 400,
"source": 1,
"startdate": "2020-05-19T01:36:05Z",
"state": 0,
"visibility": true,
"title": "TestingRACards_5/19_via_postman",
"description": "This Works! RA Cards created successfullt from Postman"

}

Результат:

{
"error": {
    "code": "0x0",
    "message": "CRM do not support direct update of Entity Reference properties, Use Navigation properties instead.",
    "innererror": {
        "message": "CRM do not support direct update of Entity Reference properties, Use Navigation properties instead.",
        "type": "Microsoft.Crm.CrmHttpException",
        "stacktrace": "   at Microsoft.Crm.Extensibility.OData.TypeConverters.EntityReferenceAttributeTypeConverter.ConvertToCrmTypeInternal(Guid edmTypeValue, String operationName)\r\n   at Microsoft.Crm.Extensibility.OData.TypeConverters.EdmTypeConverterBase`2.ConvertToCrmType(Object edmTypeValue, String operationName)\r\n   at Microsoft.Crm.Extensibility.OData.TypeConverters.EdmEntityTypeConverter.SetStructuralPropertyToXrmEntity(Entity entity, EntityMetadata entityMetadata, String crmAttributeName, IEdmProperty edmProperty, Object propertyValue)\r\n   at Microsoft.Crm.Extensibility.OData.TypeConverters.EdmEntityTypeConverter.ConvertToCrmTypeInternal(EdmEntityObject edmTypeValue, String operationName)\r\n   at Microsoft.Crm.Extensibility.OData.TypeConverters.EdmTypeConverterBase`2.ConvertToCrmType(Object edmTypeValue, String operationName)\r\n   at Microsoft.Crm.Extensibility.OData.EdmTypeConverter.ConvertToCrmEntity(EdmEntityObject edmEntity, EntityReference entityReference, IEdmModel edmModel)\r\n   at Microsoft.Crm.Extensibility.OData.CrmODataUtilities.<>c__DisplayClass10_0`2.<InvokeActionAndLogMetric>b__0()\r\n   at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute[TResult](ILogger logger, EventId eventId, ActivityType activityType, Func`1 func, IEnumerable`1 additionalCustomProperties)\r\n   at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute[TResult](ILogger logger, XrmTelemetryActivityType activityType, Func`1 func)\r\n   at Microsoft.Crm.Extensibility.OData.CrmODataServiceDataProvider.CreateEdmEntity(CrmODataExecutionContext context, String edmEntityName, EdmEntityObject entityObject, Boolean isUpsert)\r\n   at Microsoft.Crm.Extensibility.OData.EntityController.PostEntitySetImplementation(String& entitySetName, EdmEntityObject entityObject)\r\n   at Microsoft.Crm.Extensibility.OData.CrmODataUtilities.<>c__DisplayClass10_0`2.<InvokeActionAndLogMetric>b__0()\r\n   at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute[TResult](ILogger logger, EventId eventId, ActivityType activityType, Func`1 func, IEnumerable`1 additionalCustomProperties)\r\n   at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute[TResult](ILogger logger, XrmTelemetryActivityType activityType, Func`1 func)\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"
    }
}
}

1 Ответ

1 голос
/ 01 июня 2020
"msdyn_regardingobjectid": "77af6f8e-f55d-e811-a83d-000d3a1bbafa",

Вместо этой строки вы должны получить что-то похожее на _ownerid_value для _regardingobjectid_value. Итак, некоторая простая проблема с назначением.

Используйте этот фрагмент ниже для назначения regardingobjectid поиска: (убедитесь, что вы используете правильный объект вместо accounts)

"regardingobjectid@odata.bind": "/accounts(77af6f8e-f55d-e811-a83d-000d3a1bbafa)",
...