2009-06-08 42 views

回答

1

當保存文檔,你可以通過使用日期或任何你喜歡的技術放在一起數的第一部分(EJ。「PO」 &格式(日期,「年月日」)& confDoc.getitemvalue(「doccounter」 ))。

至於計數器我喜歡將它存儲在配置文件中,並在保存每個文件時進行更新。如果在白天創建了大量文檔,您可以在配置文檔中遇到代表衝突,如果是這種情況,您可以讓服務器上的代理進行實際的數字分配,但缺點是您不能保存時不會立即得到號碼。

希望這會有所幫助。

+0

只是一個說明;在抓取下一個數字之前,您可以通過鎖定它來避免配置文檔上的大多數複製衝突。如果您只在客戶端可以從管理服務器獲取計數器時分配數字,則應該非常安全。 – 2009-06-09 21:28:16

1

這不是簡單的。

爲唯一鍵和此鍵保存onSave(或其他事件)創建字段,但您必須保護此號碼是唯一的。

您可以創建代理,在多米諾服務器上檢查號碼,如果代理髮現衝突,則通知應用程序管理員或其他責任人員解決此問題。

或者每個副本都生成自己的編號,並且在多米諾骨牌上覆制後,代理以正確的格式分配編號。

1

我們的服務檯中使用的一種解決方案是採用當前用戶的姓名縮寫並將其添加到視圖中最後一個文檔中的數字。將一個號碼添加到號碼中,並將新文件與ititals以及新號碼一起存儲爲密鑰。

1

只需使用@Unique函數(不帶任何參數),就可以在Domino中創建一個「接近」的唯一鍵。這將根據當前用戶的姓名和當前時鐘時間生成一個字符串鍵。你最終會得到一個類似於「ESCR-12345678」的字符串。

我說「幾乎」是唯一的,因爲它不是真的像SQL中的標識列--Domino並不保證它只會發出一次特定的字符串。如果您在一次生成多個id的服務器端代理中使用@unique - 例如,在代碼中循環使用@unique,您可以進入@unique將返回重複的情況 - 因爲您創建2個文檔在同一秒內,因爲您的「用戶名」始終是服務器的規範名稱。但是,除此之外,@unique通常可以安全使用。

如果您需要通過此ID打開或引用文檔,只需創建一個按該ID排序的視圖,並且您可以以../myView/id?readDocument形式創建一個URL。