2013-01-21 48 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. 單擊確定並重新發布該表單。測試,它的作品。