我想獲取創建者和Lotus Domino文檔的最後修改者。我怎麼能這樣做?獲取Lotus Domino文檔的創建者和最後修改者
我找到了Authors
property,這是一個Vector
,但它的排序沒有在文檔中定義。我可以依靠第一個元素是創造者而最後一個是最後一個修飾者嗎?
我想獲取創建者和Lotus Domino文檔的最後修改者。我怎麼能這樣做?獲取Lotus Domino文檔的創建者和最後修改者
我找到了Authors
property,這是一個Vector
,但它的排序沒有在文檔中定義。我可以依靠第一個元素是創造者而最後一個是最後一個修飾者嗎?
嘗試直接使用$UpdatedBy
字段。 (我認爲Authors
屬性也使用它。)在此字段中,所有更新程序都按時間順序存儲:創建者 - 第一個,最後一個修改 - 最後一個。
它可以告訴你錯誤的數據,如果選擇「在$UpdatedBy
領域限制的條目」設置在數據庫屬性:當達到限制其刪除$UpdatedBy
第一個條目,所以你不能對文檔創建者被稱爲。
我發現使用索引1給出了第一個字段:'$ updatedby [1]' –
最安全的解決方案是在創建文檔時爲當前用戶設置的設計中設置'合成時計算'類型字段,以及另一個包含最後修飾名稱(類似於@SetField("LastUpdatedby";@UserName)
事件QuerySave
)。
在你的情況,如果你只是想從現有的應用程序收集數據,並有你可以使用任何人工添加字段,都會有幾個事實需要考慮:
1)的$UpdatedBy
item和Authors屬性相同:使用Lotusscript的Authors屬性將返回從$Updatedby
項目收集的數組。
2)的$UpdatedBy
項目不能被操縱=從這個方面它可以安全地使用它
3)假設你已經得到了整個歷史上有*,你會得到的創造者在LotusScript中
4)像@Subset($Updatedby;1)
或Cstr(updatedbyarray(Lbound(updatedbyarray)))
公式,您將始終在尋找使用@Subset($Updatedby;-1)
或Cstr(array(Ubound(array)))
的$Updatedby
數組中的最後一個項目獲取的最後修改。
5 *)有你的DB已制定了$Updatedby
項的限制,因爲這些可以說是相當消耗空間(DB級別設置,最後一個選項卡,在$UpdatedBy
領域限制的條目)的可能性。一旦你達到這個限制,Notes會在有新的條目被添加時開始刪除舊的條目,查詢數組的第一個成員將不會再給你創建者。
6)由於你不會找到$Updatedby
數組中的創造者,你應該是這樣的保護您的代碼的可能性:
If Ubound(var)+1 <> db.LimitUpdatedBy Then
'You are safe
Else
Msgbox "Ouch!"
End If
如果它是安全的,你繼續使用$Updatedby
項目來做你的計算。 順便說一句,使用我們的(Ytria)scanEZ產品,您將能夠爲您的數據庫中的所有文檔收集這些值,而無需任何編碼。幾個簡單的公式,並且您已經準備好了一份完整的報告,可以導出爲DXL或CSV。
是否只想檢查現有文檔或更改設計以跟蹤創建者/修飾者? – pstr
@pstr:只需檢查現有文檔。我可以'修改數據庫(我只有只讀訪問權限)。 – palacsint
您確定沒有字段值已經設置給文檔創建者嗎?我認爲如果創建它的人很重要,設計師會把它放在一個領域。 –