2010-04-13 191 views
0

我有一個最初定義爲日期/時間並已用日期/時間信息手動填充的列的SharePoint列表。我真的想根據另一個字段更改的狀態自動填充此列(例如= IF([theStatus] =「Closed」,[Modified])。可以將SharePoint列從日期/時間更改爲計算日期/時間

當我編輯此日期字段時,要添加上面的代碼,我的腳本粘貼到「計算」欄,保存時,我得到以下錯誤:

配方中含有引用(S)到現場(S)

會。感謝我知道我做錯了什麼或SharePoint只是不允許這種類型的修改

+0

只需重新閱讀大約六次,我想你需要澄清你在這裏要做的事情。當狀態變爲關閉狀態時,我將其讀取,然後將當前數據放入稱爲「關閉日期」的字段中,這樣您就可以永久記錄關閉記錄的時間。如果是這樣,那麼事件接收器/工作流程是您能夠做到這一點的唯一方法。請澄清你的問題。 – Ryan 2010-04-14 13:56:40

回答

2

在DateTime字段的情況下,「計算」defau這個值主要用於像=Today+1這樣的東西。不幸的是,您不能引用其他字段,您可以引用作爲變量的唯一東西是Today。爲了引用計算中的字段,您需要使用配置爲顯示日期時間而不是日期時間字段類型的計算字段類型。不幸的是,您不能將現有的DateTime字段轉換爲計算字段,因此您必須創建一個新字段。

但是,如果您想在對象模型中玩遊戲,則始終可以使用工作流或事件處理程序。我認爲如果你走了這條路線,SharePoint Designer工作流程也可以做到這一點。

+0

你的評論對於'默認'值是正確的,但那不是什麼OP後(或至少這是我讀他的問題)。 – Ryan 2010-04-14 13:49:00

+0

@Ryan缺省值僅在前2個句子中得到解決。我和他們一樣閱讀他的問題,但我建議的方法是工作流或事件處理程序的替代方法,這是一個計算字段類型。 – 2010-04-15 13:58:29

1

其實,我做了這樣的事情。從用戶輸入的日期和時間,我不得不建立一個用戶定義代碼,例如「2009/12/13 07:05-AVALTG23」。

我沒有附帶任何其他方式:

  • 創建一個自定義操作(在VS2005),給定一個日期時間,格式,並與我想要的操作返回一個字符串。既然你正在編寫你的自定義動作並返回一個字符串,你可以做任何你想做的事情。
  • 創建對象時,會啓動工作流程,填充我的「自定義代碼」字段。

因此,對於任何作爲得到一個列值,格式化和populting另一這麼簡單,我不得不開發自定義的活動,創建工作流.... 大量的工作,但相當多的唯一途徑我能找到。

希望這會有所幫助!