如何为Microsoft Flow中的salesforce连接器指定ODATA筛选器查询

时间:2017-11-15 08:46:47

标签: date filter odata microsoft-flow

我很难确定日期(不是日期时间)表达式的正确格式。在这种情况下,来自商机表的CloseDate。

我尝试了多种格式,包括引号,没有引号,时区,没有时区。我在常规REST查询中使用yyyy-MM-dd格式的日期,没有引号,

几个例子..

CloseDate le 2011-12-31

错误: Salesforce未能完成任务:消息:FROM Opportunity WHERE(CloseDate< = 2011-12-31T00:00:00.0000000 + 00:00)\ n ^ \ nERROR at Row:1:Column: 6368 \ n字段的过滤条件的值' CloseDate'必须是日期类型,不应该用引号括起来\ r \ nclientRequestId:50c8ea4a-bd02-4e95-919c-df02074f3144",

关闭日期' 2017-01-01'

错误:字段' CloseDate'的过滤条件的值必须是日期类型,不应该用引号括起来

关闭日期时间' 2017-01-01'

错误:内部异常:无法识别' Edm.String'字面

帮助!有没有人弄清楚如何指定" date"的格式? ODATA过滤器中的字段?

非常感谢提前。

2 个答案:

答案 0 :(得分:0)

更新时间:2020年2月11日:我在Microsoft支持下工作,此错误已修复!

您现在可以根据日期字段或日期时间字段进行过滤。以前针对日期字段的过滤失败,因为流转换为datetime并且sfdc指定date fields cannot be queried as datetime

原帖:

我一直在对此进行戳记,看来msft flow / power automate只能查询salesforce中的dateTime字段,而不能查询日期字段。

我可以毫无问题地过滤createdDate gt 2020-01-01,但是无法查询closeDate或任何自定义日期字段(流程将无法成功运行-引发上述错误)。自定义日期时间字段工作正常。

我发现的唯一解决方法是使用相对日期-THIS_MONTH,LAST_MONTH等可以正常工作。 (令人震惊!)这很有帮助。

但是LAST_N_DAYS:N样式不起作用,冒号似乎会破坏东西。

我已经在Microsoft支持下打开了一个案例,因为他们的连接器似乎将所有日期都转换为日期时间,并且salesforce docs指定不能将日期字段查询为日期时间

fieldExpression对date和dateTime字段使用不同的日期格式。如果在查询中指定了dateTime格式,则只能在dateTime字段上进行过滤。同样,如果指定日期格式值,则只能在日期字段上进行过滤。

答案 1 :(得分:0)

我在查询潮流的相对天数时遇到了这个问题,潮流具有解决此问题的便捷功能,

 LastModifiedDate ge @{getPastTime(7,'Day','yyyy-MM-dd')} 

这对我来说很好