Пропустить проверку полей при создании записи с помощью веб-интерфейса Dynamics 365 - PullRequest
0 голосов
/ 05 июля 2019

Я интегрирую Dynamics 365 с нашим продуктом и столкнулся с проблемой при создании полей в динамике 365 с помощью веб-API.

Я создаю контакт или контакт, используя набор полей, таких как адрес электронной почты, имя и т. Д. Некоторые поля, кажется, имеют проверку, например, поле только для номера или список выбора. В этих случаях я получаю сообщение об ошибке со статусом 400, и запись не создается. Есть ли способ просто создать запись с использованием допустимых полей и просто пропустить обновление полей, которые не прошли проверку.

Это конечная точка, которую я использую для создания контакта:

/api/data/v9.1/contacts

Используемые заголовки:

Prefer:return=representation
Content-Type:application/json
OData-MaxVersion:4.0
OData-Version:4.0
If-None-Match:null

Ответы [ 2 ]

0 голосов
/ 06 июля 2019

Надеюсь, это поможет.Независимо от того, с каким программным обеспечением или средой вы интегрируетесь, важно знать структуру данных, включая типы данных, проверки данных (включая обязательные да / нет) и ограничения данных (длина, десятичные разряды и т. Д.).

Существует три способа интеграции с Dynamics 365 с учетом вышеизложенного.

1.Статический код, основанный на конфигурации Dynamics 365

Если вы можете войти в Dynamics 365, вы можете просмотреть определение среды, выбрав Настройки> Настройки> Настроить систему.

Customize the System

Здесь вы можете просмотреть все определения сущностей и атрибутов и, соответственно, написать свой код.Вы также можете «потребовать» установки собственного решения с помощью сущностей и атрибутов, что дает вам контроль над тем, с чем ваша интеграция.

Customize the System - Contact

2,Создание классов с ранним связыванием

Можно создать классы с ранним связыванием с определением сущности и атрибута из Dynamics 365 с помощью инструмента CrmSvcUtil.Для получения дополнительной информации.

Для получения дополнительной информации: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/org-service/create-early-bound-entity-classes-code-generation-tool

3.Служба метаданных Dynamics 365

Dynamics 365 предоставляет службу метаданных, позволяющую получить точное определение всех сущностей и атрибутов непосредственно из заданной среды Dynamics 365.Таким образом, вы можете получить определение до интеграции.

Я думаю, что учитывая производительность, это определенно не то, что вы хотели бы сделать в каждом отдельном сообщении.Чтобы решить эту проблему, вы можете получить определение по запросу (ручной запуск) или ежедневно.

Для получения дополнительной информации: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/customize/create-edit-metadata

При работе с Dynamics 365 XRMToolBox является обязательным инструментом длялюбой разработчик или консультант.С помощью плагина Metadata Browser вы можете просматривать данные, которые вы можете получить с помощью сервиса Metadata.

Contact Metadata

0 голосов
/ 05 июля 2019

У вас есть два варианта:

  1. Либо выполните правильную проверку, когда пользователь вводит значения для этих полей за пределами Dynamics.

  2. Или создайте настраиваемые поля в контактном объекте Dynamics для хранения значений типа строки

Полезная нагрузка веб-API должна быть целой и не может быть усечена / установлена ​​для сценариев adhoc, таких как пропускающие типы данных (ваше требование).

...