2013-01-21 50 views

回答

2

一些可能的解决方案:

  1. 在表单中只需创建一个领域,它的默认值设置为 now()功能,并取消选中“当 结果的公式重新计算更新此值“。你应该全都定下来。

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

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

  3. 类似的解决方案#2建议在这里:I need a submit date that doesn't change

    你只需要一个字段添加到您的形式保存原始 文件名。

    有一个打开的规则,如果文件名是空白的,则设置为您的concat (addedtotable,ID)。然后在你的SP提交中使用这个字段作为文件名称 。

    随后打开,因为它有一个值,文件名不会 更改。

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

    另一个选项是查询文档库,如果您确定了用户以及他们打开的最近的文件,则可能会查找您的用户的名称。 。

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

+0

如果用户可能保存表单并在完成填写后再提交一天,则解决方案1不起作用。我希望能够实现解决方案2,如果我能弄清楚如何在表单提交时运行一些代码而不会失去使用电子邮件提交连接的能力。我将使用隐藏的日期控件。这样我就可以将提交日期作为xml格式中所有答案的一部分和一部分。谢谢。仍然无法访问Sharepoint服务器,因此无法做更精细的事情。 – chris

+0

在提交[OnSubmitRequest事件](http://msdn.microsoft.com/en-us/library/office/aa662351(v = office.11​​).aspx)之前,运行代码应该没有问题另外,#4包含很多解决方案围绕您的问题,即使标题说Sharepoint。值得一看。 – JSuar

+0

非常感谢@JSuar的进一步阐述。我会检查出来的。 – chris

1

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

我使用InfoPath 2013年要解决的问题:

  1. 选择表单域的ID。
  2. 使用功能区,单击控制属性。
  3. 选择默认值或字段属性,这会打开字段或组属性窗口。
  4. 取消选中“重新计算公式时的刷新值”。
  5. 单击确定并重新发布该表单。测试,它的作品。