Плагин Dynamics 365 для поиска значений - PullRequest
2 голосов
/ 03 апреля 2019

Ошибка: 0x80040203 Неверный аргумент

Я новичок в динамике. Готовясь к получению значений поиска из внешнего источника данных в Dynamics через плагин, я хотел сначала протестировать с помощью жестко закодированных значений с помощью этого кода. Но после того, как я зарегистрировал сборку, поставщика данных и источник данных, я создал динамическую виртуальную сущность, которую я связал с полем (тип поиска) в форме. После публикации щелчок по полю выдает ошибку - Неверный аргумент

using System;
using Microsoft.Xrm.Sdk;

namespace Hardcoded.Names.Plugin
{
public class NamesLookupPlugin : IPlugin
{
    public void Execute(IServiceProvider serviceProvider)
    {
        var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
        var serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        serviceFactory.CreateOrganizationService(context.UserId);
        var tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));

        try
        {
            var results = new EntityCollection();
            var itemOne = new Entity
            {
                ["ID"] = Guid.NewGuid(),
                ["Name"] = "First Item"
            };

            var itemTwo = new Entity()
            {
                ["ID"] = Guid.NewGuid(),
                ["Name"] = "Second Item"
            };
            results.Entities.Add(itemOne);
            results.Entities.Add(itemTwo);

            context.OutputParameters["BusinessEntityCollection"] = results;
        }
        catch (Exception e)
        {
            tracingService.Trace($"{e.Message} {e.StackTrace}");
            if (e.InnerException != null)
                tracingService.Trace($"{e.InnerException.Message} {e.InnerException.StackTrace}");

            throw new InvalidPluginExecutionException(e.Message);
        }
     }
   }
}

Я ожидаю увидеть «Первый элемент» и «Второй элемент», выбираемые в поле поиска.

1 Ответ

0 голосов
/ 05 апреля 2019

Вы подключаетесь к сообщению RetrieveMultiple в своем плагине. Также есть сообщение Retrieve (получить отдельную запись по EntityReference) - вам нужно подключить это сообщение также для вашей сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...