2012-10-26 2 views
2

작성자와 Lotus Domino 문서의 마지막 수정자를 얻고 싶습니다. 내가 어떻게 할 수 있니?작성자와 Lotus Domino 문서의 마지막 수정 자 얻기

Authors property을 찾았습니다. Vector인데 그 주문은 설명서에 정의되어 있지 않습니다. 첫 번째 요소가 작성자이고 마지막 요소가 마지막 수정 자임을 믿을 수 있습니까?

+0

기존 문서 만 확인하거나 디자인을 변경하여 제작자/수정자를 추적 하시겠습니까? – pstr

+0

@pstr : 기존 문서를 확인하기 만하면됩니다. 데이터베이스를 수정할 수 있습니다 (읽기 전용 액세스 만 가능). – palacsint

+0

이미 문서 작성자에게 설정된 입력란 값이 없습니까? 나는 그것을 만든 사람이 중요하다면 설계자는 그것을 필드에 넣을 것이라고 생각합니다. –

답변

3

$UpdatedBy 필드를 직접 사용해보십시오. (나는 Authors 속성에서도이 속성을 사용한다고 생각합니다.)이 필드에서 모든 updater는 연대순으로 저장됩니다. originator - first, last modified - last.

옵션 "$UpdatedBy 분야에서 제한 항목이"가 데이터베이스 속성에 설정되어있는 경우 그것은 당신에게 잘못된 데이터를 표시 할 수 있습니다 : 그것은 한계에 도달 할 때 $UpdatedBy에서 첫 번째 항목을 삭제, 그래서 당신은 문서 작성자에 대해 알려진 수 없습니다 .

+0

인덱스 1을 사용하면 필드의 첫 번째를 알 수 있습니다 :'$ updatedby [1]' –

5

가장 안전한 솔루션은 문서를 만들 때 현재 사용자로 설정된 디자인에서 '계산 된 합성 때'유형 필드를 설정하고 마지막 수정 자 이름을 포함하는 다른 필드 (예 : @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 *.) $Updatedby 항목에 DB가 제한되어있을 가능성이 있습니다 (DB 수준 설정, 마지막 탭, 제한 항목 $UpdatedBy 필드). 공간이 많이 소모 될 수 있습니다. 일단이 한도에 도달하면 Notes는 추가 할 새 항목이있을 때 이전 항목을 삭제하기 시작하고 배열의 첫 번째 구성원을 쿼리하면 더 이상 작성자가 부여되지 않습니다. 이 안전하면

If Ubound(var)+1 <> db.LimitUpdatedBy Then 
    'You are safe 
Else 
    Msgbox "Ouch!" 
End If 

, 당신은 가서 사용 : 때문에 당신이, 당신은 같은 것을 사용하여 코드를 보호해야 $Updatedby 배열에서 작성자를 찾을 수 없습니다 가능성에

6) 계산을 수행 할 항목은 $Updatedby입니다. 그건 그렇고, (Ytria) scanEZ 제품을 사용하면 코딩없이 데이터베이스의 모든 문서에 대해이 값을 수집 할 수 있습니다. 몇 가지 간단한 수식을 사용하면 DXL 또는 CSV로 내보낼 준비가 된 전체 보고서를 얻을 수 있습니다.

관련 문제