出现错误时,没有为给定实体定义实体映射



尝试为父实体"帐户"打开"约会"的快速创建表单时出现错误。下面是我正在尝试实现的代码。不知道我哪里做错了:

let parent = {};
parent['entityType'] = "account";
parent['id'] = "xxxx";
parent['name'] = "xxx";
var entityFormOptions = {};
entityFormOptions["entityName"] = "appointment";
entityFormOptions["createFromEntity"] = parent;
entityFormOptions["useQuickCreateForm"] = true;
entityFormOptions["openInNewWindow"] = false;
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, params).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});

这是我收到的响应错误:

{">

错误":{"代码":"0x80040e01","消息":"没有实体映射 为给定实体定义","内部错误":{"消息":"没有 为给定定义的实体映射 实体","type":"System.ServiceModel.FaultException1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]","stacktrace":" at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Execute(OrganizationRequest request, InvocationContext invocationContext, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode, ExecutionContext executionContext, Dictionary2 可选参数)\r at Microsoft.Crm.Extensibility.OData.CrmODataExecutionContext.Execute(OrganizationRequest request, ExecutionContext executionContext)\r at Microsoft.Crm.Extensibility.OData.CrmODataServiceDataProvider.ExecuteOperation(CrmODataExecutionContext 上下文, EdmOperation edmOperation, Dictionary2 parameters, Dictionary2 个边界参数)\r at Microsoft.Crm.Extensibility.OData.ActionController.ProcessOperationRequest(String 操作名称, 字典2 operationParameters, EntityReference entityReference, String boundEntityName, String boundEntityType)rn
at Microsoft.Crm.Extensibility.OData.ActionController.<>c__DisplayClass12_0.<GetUnboundFunction>b__0()rn at Microsoft.PowerApps.CoreFramework.ActivityLoggerExtensions.Execute[TResult](ILogger logger, EventId eventId, ActivityType activityType, Func
1 函数, IEnumerable1 additionalCustomProperties)rn at Microsoft.Xrm.Telemetry.XrmTelemetryExtensions.Execute[TResult](ILogger logger, XrmTelemetryActivityType activityType, Func1 func)\r at lambda_method(闭包、对象、对象[] )\r at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.b__9(Object 实例, 对象[] 方法参数)\r at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary'2 arguments, CancelToken 取消令牌)\r--- 从上一个位置结束堆栈跟踪 其中引发异常 ---\r 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 任务)\r 在 System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r--- 从引发异常的上一个位置的堆栈跟踪结束 ---\r at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 任务)\r 在 System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()\r--- 从引发异常的上一个位置的堆栈跟踪结束 ---\r at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 任务)\r 在 System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()"}}}

我认为这不是有效的查找值。尝试如下:

var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = "xxx";
lookup[0].entityType = "account";
lookup[0].name = "xxx";
//set lookup
entityFormOptions["createFromEntity"] = lookup;

谢谢大家,我已经解决了我的问题。似乎我拥有的代码没有父子关系,因此出现错误。

最新更新