冻结 SharePoint/InfoPath 计算字段

Freeze SharePoint/InfoPath Calculated Field

我在 InfoPath 表单中有一个状态字段,我需要在它更改时记录日期。该表单填充 SharePoint 列表。

例如, - 1. [Blank/No状态] - 2. 打开 - 3.待定 - 4. 关闭

我需要知道什么时候状态从[blank]变为Open,什么时候变为Pending等,并保留每个日期以供将来计算。

我可以在 SharePoint 的新列中使用公式来显示设置状态的日期,但我不知道如何在日期更改时使它保持静态。使用 InfoPath 也证明很麻烦,因为它不允许 IF 语句。

SharePoint 版本是 2013。

一种解决方案是创建工作流。在每次编辑项目时,它都会检查状态列是否已更改,如果已更改,则将当前日期复制到相应的 "date changed" 列。

您是要只存储项目进入 "Pending" 状态的最后日期,还是只存储它第一次进入 "Pending" 状态的时间。 (两者都可以通过工作流程完成)

附加信息:我添加了一个 "updated date" 字段和一个 "original date" 字段来捕获第一个状态(原始)和更改(更新)的日期。

我发现我将规则分别放在旨在保持静态和变化的字段上。当我将规则放在触发更改的字段上时 ("Status"),我添加了条件,即预期的静态字段必须为空才能填充,并将该条件保留在几乎相同的字段之外改变。

现在当我 select "Open" 时,原始日期和更新日期字段都选择日期 "now()",当我 select "Pending" 时,待定日期(对我来说是静态的)填满,当我返回 "Open" 时,原始日期字段保持不变,更新日期字段更新为新的 "Now()".