使用 OData 过滤器查询使用 Microsoft Flow 从 Sharepoint 列表中获取具有过期日期的未清项目
Using OData Filter Query to get open items with past due date from Sharepoint list using Microsoft Flow
在我的共享点项目列表中,我有一个“截止日期”字段和一个“状态”字段。我正在尝试创建一个每周发生一次的循环流程。它将获取所有状态为“打开”且截止日期为当天或之前的项目。
- 状态包含“打开”或“关闭”。
- 截止日期包含项目的截止日期,格式为
yyyy-MM-dd
。
这是我目前的流程:
- 每周 1 次的循环触发器。
- 当前时间
- 从共享点列表中获取项目。
- 到目前为止,我有过滤器
Status eq 'Open' and Date_x0020_Due le Date(@{body('Current_time')})
@{body('Current_time')
是从第 2 步中检索到的当前时间
- 我把那些东西变成了 HTML table
- 我发送了一封电子邮件,其中包含 html table。
目前第 2 步的过滤器不起作用。 Status eq 'Open'
可以,但是 Date_x0020_Due le Date(@{body('Current_time')})
不起作用。
我猜这是因为OData无法将Current Time的DateTime对象转换成Date对象,无法比较它们。
我如何更改此过滤器,以便 returns 状态为已关闭且截止日期为当天或之前的项目?
限制:
- 我无法更改任何字段的名称。
- 我无法更改任何字段的数据类型(例如,将到期日期设为日期时间类型)。
- 我无法添加或删除字段。
我以某种方式解决了这个问题。
我的结束流程是这样的:
- 每周 1 次的循环触发器。
- 从共享点列表中获取项目。
- 对于过滤器,我有
Status eq 'Open'
- 我使用过滤器数组删除过期的项目。
- 过滤器是
@lessOrEquals(ticks(concat(item()?['Date_x0020_Due'], 'T00:00:00Z')), ticks(utcNow()))
- Ticks() 将时间戳转换为自 1601 年 1 月 1 日以来的滴答数(至少根据流程,在这种情况下文档似乎已关闭)。
- 使用这个,我通过使用 concat() 将时间添加到日期,将我的日期转换为时间戳。
- 我将它与当前 UTC 时间进行比较,看看它是否小于当前日期。
- 我将过滤器数组输入到 HTML table.
- 我发送了一封电子邮件,其中包含 html table。
在我的共享点项目列表中,我有一个“截止日期”字段和一个“状态”字段。我正在尝试创建一个每周发生一次的循环流程。它将获取所有状态为“打开”且截止日期为当天或之前的项目。
- 状态包含“打开”或“关闭”。
- 截止日期包含项目的截止日期,格式为
yyyy-MM-dd
。
这是我目前的流程:
- 每周 1 次的循环触发器。
- 当前时间
- 从共享点列表中获取项目。
- 到目前为止,我有过滤器
Status eq 'Open' and Date_x0020_Due le Date(@{body('Current_time')})
@{body('Current_time')
是从第 2 步中检索到的当前时间
- 到目前为止,我有过滤器
- 我把那些东西变成了 HTML table
- 我发送了一封电子邮件,其中包含 html table。
目前第 2 步的过滤器不起作用。 Status eq 'Open'
可以,但是 Date_x0020_Due le Date(@{body('Current_time')})
不起作用。
我猜这是因为OData无法将Current Time的DateTime对象转换成Date对象,无法比较它们。
我如何更改此过滤器,以便 returns 状态为已关闭且截止日期为当天或之前的项目?
限制:
- 我无法更改任何字段的名称。
- 我无法更改任何字段的数据类型(例如,将到期日期设为日期时间类型)。
- 我无法添加或删除字段。
我以某种方式解决了这个问题。
我的结束流程是这样的:
- 每周 1 次的循环触发器。
- 从共享点列表中获取项目。
- 对于过滤器,我有
Status eq 'Open'
- 对于过滤器,我有
- 我使用过滤器数组删除过期的项目。
- 过滤器是
@lessOrEquals(ticks(concat(item()?['Date_x0020_Due'], 'T00:00:00Z')), ticks(utcNow()))
- Ticks() 将时间戳转换为自 1601 年 1 月 1 日以来的滴答数(至少根据流程,在这种情况下文档似乎已关闭)。
- 使用这个,我通过使用 concat() 将时间添加到日期,将我的日期转换为时间戳。
- 我将它与当前 UTC 时间进行比较,看看它是否小于当前日期。
- 过滤器是
- 我将过滤器数组输入到 HTML table.
- 我发送了一封电子邮件,其中包含 html table。