Lotus Notesアプリケーションにログ機能を追加したいとします。基本的には、誰が変更を行ったのか、変更が行われたのか、そしてドキュメント内のどのフィールドが変更されたのかを記録することができます。これを行う最善の方法は何ですか?私は各文書の最後にこれを追加して、誰が変更を行うのかを知っていると考えています。Lotus Notesフォームへのログの追加
1
A
答えて
1
私はこれをLotusScriptを使用する前に行っています。
- QueryOpenイベント内に配列または新しいドキュメントオブジェクトを作成し、現在のドキュメント内のすべてのアイテムの値を格納することです。
- QuerySaveイベントでは、現在のドキュメントの値を、作成したインメモリコピーと比較し、差異を記録します。
フォームにフィールドを作成して、これらの変更を書き込んだり、そのたびにフィールドに追加したりすることができます。
他のイベントハンドラは、ドキュメントが開くたびに変更を行います。 PostOpenイベントの元の値をコピーする必要があるかもしれません。たとえば、ドキュメントが開かれるたびにQueryOpenイベントの一部のフィールドを変更する場合は、falseの変更ログが返されます。
希望すると便利です。
0
「ブルートフォース」アプローチも有効です。ドキュメントを保存するたびに、そのバージョンのコピーを(別の)データベースに作成します。これにより、文書の監査証跡が作成されます。ドキュメントを比較して変更を抽出することができます。
このアプローチではかなりのオーバーヘッドがありますが、私の経験ではそれは価値があります。実装は簡単で、すべての変更は実際のドキュメントに影響を与えることなく取得されます。必要な情報はすべてキャプチャされ、(オフライン)処理に使用できます。
4
OpenNTFには、Open AuditとAudit Managerなど、この目的に使用できるツールがいくつか用意されています。
関連する問題
- 1. Lotus Notes - プログラムでフォームを追加する - NotesForm
- 2. Lotus Notesフォームのフィールドの値を取得
- 3. Lotus Notesフォームのアクセスを制限する
- 4. Lotus NotesからMSSqlへのデータのレプリケート
- 5. nsfファイルへのJava Lotus Notes API/VBAパス
- 6. Lotus Notesの移行
- 7. setCanDeleteDocuments()Lotus NotesのACL
- 8. Lotus Notes - .Netサイドバーアプリケーション
- 9. Lotus Notes ODBC Connection
- 10. Lotus Notes - Excel VBA
- 11. .FINDSTRING Lotus Notes VBA
- 12. 新しいユーザをJavaでLotus Notesに追加
- 13. プログラムでLotus Notesグループにユーザーを追加する
- 14. Lotus Notes SMTP 554エラー
- 15. Lotus Notes - 圧縮ファイルデータベース
- 16. Lotus Notes添付ファイルのエクスポート
- 17. Lotus Notes文書の$ fileフィールド
- 18. リモートデータベースのLotus Notes Javaレプリケーション
- 19. Lotus Notes - Lotus Notes 9または8.5のログインドロップダウンリストで姓を更新する方法
- 20. エアフローログへのログの追加
- 21. Lotus Notes Webフォームでの編集と保存
- 22. Lotus Notes Java - メモリ不足
- 23. Lotus Notes、ExchangeおよびC#
- 24. Lotus NotesデータをSharepointリスト
- 25. Lotus Notes文書をPDFに
- 26. Lotus Notesデータベースへのアクセスを制限する
- 27. 内部システムエラーのLotus NotesのXPagesデータベース
- 28. Lotus Notesフォームからフィールド値をdb2テーブルに抽出するLEI
- 29. [VBA] Lotus Notes受信トレイの順序
- 30. 問題設定BlindCopyTo Lotus NotesのItemValue
私はこれに問題があります。ここで私はそれを設定する方法である: グローバル宣言:バリアント 薄暗いlastValuesとして [コード] 薄暗いoriginalValues(2)(2)変形例 [/コード] [コード] サブのQueryOpen位置NotesUIDocument、モードとして(ソースとして整数、変形例としてIsnewdoc、バリアントとして継続)配列を含む元の値 \t originalValues(0)= doc.QCR_No \t originalValues 'のNotesDocument \tセットDOC = Source.Document \tとして現在のドキュメント \t薄暗いドキュメント' として(1)= doc.QCR_Mobile_Item_No \t originalValues(2)= doc.QCR_Qty End Sub [/ code] –
申し訳ありませんが、私はまだマークアップの使い方を理解しようとしています。もう一度やり直してみましょう グローバル宣言 Dim originalValues(2)As Variant Dim lastValues(2)As Variant' –
マークアップの使い方を読んでいますが、それは私にとってはうまくいかないようです。私は改行とインラインコードを使用しようとしています。誰も私がここで間違っていることを指摘できますか? –