2

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

我尝试了多种格式,包括引号、无引号、时区、无时区。我只使用不带引号的 yyyy-MM-dd 格式的日期在常规 REST 查询中工作,

几个例子..

关闭日期 le 2011-12-31

错误:Salesforce 未能完成任务:消息:来自 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",

关闭日期 ge '2017-01-01'

错误:字段“CloseDate”的过滤条件值必须是日期类型,并且不应包含在引号中

CloseDate ge datetime'2017-01-01'

错误:内部异常:无法识别的“Edm.String”文字

帮助!有没有人想出如何在 ODATA 过滤器中指定“日期”字段的格式?

提前谢谢了。

4

2 回答 2

0

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

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

这对我很有效

于 2020-07-21T15:42:18.590 回答
0

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

您现在可以过滤日期字段或日期时间字段。以前针对日期字段的过滤器失败,因为流转换为日期时间,并且 sfdc 指定不能将日期字段查询为日期时间

原帖:

我一直在探讨这个问题,看起来 msft flow / power automatic 只能查询 salesforce 中的 dateTime 字段,但不能查询 date 字段。

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

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

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

我已经打开了一个微软支持的案例,因为他们的连接器似乎将所有日期转换为日期时间,并且销售人员文档指定不能将日期字段查询为日期时间

fieldExpression 对日期和日期时间字段使用不同的日期格式。如果您在查询中指定 dateTime 格式,则只能过滤 dateTime 字段。同样,如果您指定日期格式值,则只能过滤日期字段。:

于 2020-01-12T14:32:18.150 回答