有人可以帮助我确定 InfoPath 表单中两个日期字段之间的天数差异。
通常的减法不适用于日期字段。像 DateField1 - DateField2。任何代码或无代码解决方案都受到高度赞赏。
有人可以帮助我确定 InfoPath 表单中两个日期字段之间的天数差异。
通常的减法不适用于日期字段。像 DateField1 - DateField2。任何代码或无代码解决方案都受到高度赞赏。
我利用一个单独的 SharePoint 列表来帮助计算 Infopath 中两个日期之间的天数。这样我就可以计算闰年,并且能够只计算工作日,而不是所有天。我每年用新数据更新此列表一次。
这是包含 2018-2020 年数据的列表的 Excel 文件源:https ://1drv.ms/x/s!ApLhBloaS1wVgsUOMRrRfbekFftY9Q
脚步:
floor(number(translate(substring-before(../my:endDate, "T"), "-", "")))
注意:Excel 文件使用公式“NETWORKDAYS”并包括工作日、工作日减去美国联邦假期和工作日减去纽约证券交易所假期的列。现在,您可以使用这些列之一获取两个日期之间的工作日数。如果您居住在美国境外,则可以在 Excel 中添加一列以用于其他假期,例如英国银行假期。
在 InfoPath 中有多种获取日期差异的方法,但它们非常复杂,需要编写规则并将日期解析为月/日/年。相反,我推荐使用 Excel Services 的其他地方描述的这种方法。因为 Excel 擅长计算,所以在 Excel 中编写计算并从 InfoPath 调用 Excel 文档(如果您有带有 Excel Services 的 SharePoint)是有意义的。
以下是关于如何设置 InfoPath 和 Excel Services 的 2 组说明。说明很长和/或受版权保护,因此我不能在此处包含它们,但总而言之,您将在 InfoPath 中设置新的数据连接以使用 Web 服务 (SOAP) 打开 Excel 文档并根据您的 InfoPath 日期字段设置日期字段和从 Excel 中检索计算值。
使用 SharePoint Excel Services 计算 InfoPath 中的日期差异
我花了大约一个小时才让它工作,因为我必须对受信任的位置设置进行一些试验和错误。