Как я могу устранить ошибку несовместимых типов при попытке разработать запрос динамической фильтрации для типов данных, специфичных для D365, в Azure Logic Apps?
В настоящее время я пытаюсь использовать приложения Azure Logic Apps для отображения элементов, представленных в таблице в Dynamics 365 Finance & Operations, с помощью динамического запроса filterQuery, определяемого вводом во время выполнения, как показано ниже:Соединитель D365 F&O для элементов списка, представленных в таблице
Однако для некоторых запросов фильтра мы сталкиваемся с ошибками, когда тип данных в D365 отличается от типа данных в приложениях логики, что приводит к ошибке несовместимого типа, как показано ниже:Сообщение об ошибке, полученное из приложения логики - был бинарный оператор с несовместимыми типами. обнаружен
Для справки, чтобы удовлетворить требованиям динамической фильтрации, я постоянно добавляю все необходимые фильтры к строке таким образом, используя цикл, извлекая пары ключ-значение из полезной нагрузки JSON, определенной во время выполнения:Добавить в запрос фильтрации: и экв ''
Поля, генерирующие ошибки, имеют типы данных в D365 "enum" и "bool" соответственно. Типы данных Bool содержат ошибку: «Обнаружен двоичный оператор с несовместимыми типами. Найдены типы операндов« Microsoft.Dynamics.DataEntities.NoYes »и« Edm.String »для типа оператора« Equal »». Типы данных Enum содержат ошибку: «Обнаружен двоичный оператор с несовместимыми типами. Обнаружены типы операндов 'Microsoft.Dynamics.DataEntities.' и «Edm.String» для типа оператора «Равно» », где - имя ключа, по которому я хочу выполнить фильтрацию.
Есть ли простой способ устранить эту ошибку? Большое спасибо!
1 ответ
Этот вопрос был рассмотрен здесь: https://docs.microsoft.com/en-us/answers/questions/314559/azure-logic-apps-to-d365-fampo-flow-results-in-dif.html
Однако в таком сценарии я бы посоветовал:
- Сначала запустите действие Flow with Dynamics без фильтра.
- Во-вторых, проверьте результаты выполнения Flow и найдите значение, на которое вы хотите установить фильтрацию.
- В-третьих, скопируйте имя поля (без кавычек) и используйте это имя свойства (с условиями) в фильтре.