2

表格提交到电子邮件。我想将提交日期作为变量获取。设置一个变量now()是不够的,因为在提交后再次打开表单时变量会发生变化。

4

2 回答 2

2

一些可能的解决方案:

  1. 只需在表单中创建一个字段,将其默认值设置为 now()函数,然后取消选中“重新计算公式结果时更新此值”。你应该准备好了。

    通过http://www.infopathdev.com/forums/p/12569/44295.aspx#44295

  2. 创建一个变量submissionDate来存储提交日期。当用户提交表单时,设置submissionDate为当前日期。如果变量尚未包含值,则添加检查以仅设置日期。如果不以这种确切的方式实现,这个想法可以以某种形式使用。我不明白为什么它不起作用。

  3. 此处建议的与 #2 类似的解决方案:我需要一个不会更改的提交日期

    您只需要在表单中添加一个保存原始文件名的字段。

    有一个打开规则,如果文件名为空,则设置为您的 concat(添加到表,ID)。然后在您的 SP 提交中使用此字段作为文件名。

    在随后的打开中,因为它有一个值,所以文件名不会改变。

    在您现有的表单上,您需要手动设置它,因为您想保留原始文件名,但在任何新表单上都可以解决您的问题。

    另一种选择是查询文档库,如果您识别出用户和他们最近打开的文件,则可能会查找您的用户名。

  4. 这里还有一些建议:Submitting Infopath forms to a Sharepoint Library - how can I generate a unique name for each record

于 2013-01-29T20:21:04.027 回答
1

我遇到过同样的问题。使用 now() 函数根据日期/时间创建了一个唯一的表单 ID 字段。问题是 ID 更改了,每次更新表单时都会出现问题。

我正在使用 InfoPath 2013。要解决此问题:

  1. 选择 ID 的表单域。
  2. 使用功能区,单击控件属性。
  3. 选择默认值或字段属性,这将打开字段或组属性窗口。
  4. 取消选中“重新计算公式时刷新值。
  5. 单击确定并重新发布表单。测试,它的工作原理。
于 2016-03-10T13:24:01.947 回答