表格提交到电子邮件。我想将提交日期作为变量获取。设置一个变量now()
是不够的,因为在提交后再次打开表单时变量会发生变化。
2 回答
一些可能的解决方案:
只需在表单中创建一个字段,将其默认值设置为
now()
函数,然后取消选中“重新计算公式结果时更新此值”。你应该准备好了。通过http://www.infopathdev.com/forums/p/12569/44295.aspx#44295
创建一个变量
submissionDate
来存储提交日期。当用户提交表单时,设置submissionDate
为当前日期。如果变量尚未包含值,则添加检查以仅设置日期。如果不以这种确切的方式实现,这个想法可以以某种形式使用。我不明白为什么它不起作用。此处建议的与 #2 类似的解决方案:我需要一个不会更改的提交日期。
您只需要在表单中添加一个保存原始文件名的字段。
有一个打开规则,如果文件名为空,则设置为您的 concat(添加到表,ID)。然后在您的 SP 提交中使用此字段作为文件名。
在随后的打开中,因为它有一个值,所以文件名不会改变。
在您现有的表单上,您需要手动设置它,因为您想保留原始文件名,但在任何新表单上都可以解决您的问题。
另一种选择是查询文档库,如果您识别出用户和他们最近打开的文件,则可能会查找您的用户名。
这里还有一些建议:Submitting Infopath forms to a Sharepoint Library - how can I generate a unique name for each record。
我遇到过同样的问题。使用 now() 函数根据日期/时间创建了一个唯一的表单 ID 字段。问题是 ID 更改了,每次更新表单时都会出现问题。
我正在使用 InfoPath 2013。要解决此问题:
- 选择 ID 的表单域。
- 使用功能区,单击控件属性。
- 选择默认值或字段属性,这将打开字段或组属性窗口。
- 取消选中“重新计算公式时刷新值。
- 单击确定并重新发布表单。测试,它的工作原理。