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. setCanDeleteDocuments()Lotus NotesのACL
- 5. Lotus Notes - .Netサイドバーアプリケーション
- 6. Lotus Notes ODBC Connection
- 7. 新しいユーザをJavaでLotus Notesに追加
- 8. Lotus Notes - 圧縮ファイルデータベース
- 9. Lotus Notes文書の$ fileフィールド
- 10. Lotus NotesデータをSharepointリスト
- 11. Lotus Notes、ExchangeおよびC#
- 12. Lotus Notes文書をPDFに
- 13. 内部システムエラーのLotus NotesのXPagesデータベース
- 14. Lotus Notesの条件付きフォームフィールド
- 15. Lotus Notes R5電子メールの式
- 16. Lotus NotesとJavaポータルプラットフォームの統合
- 17. 問題設定BlindCopyTo Lotus NotesのItemValue
- 18. Lotus Notes 8.5のテストを自動化
- 19. asp.net Dynamic Dataアプリケーションへのログの追加
- 20. .NETおよびLotus Notes相互運用
- 21. MailGetMessageBodyComposite RTFをエクスポートするLotus Notes RichText
- 22. Lotus Notes 4.6.7a APIまたはプロトコル
- 23. Lotus Notes Java APIを使用してLotus Notesクライアントから連絡先の詳細を取得しますか?
- 24. Windowsフォームへのヘルプの追加方法
- 25. Lotus Notes 8.5+の電子メールメッセージウィンドウツールバーにボタンを追加するにはどうすればよいですか?
- 26. HTMLリンクまたはボタンを作成して、Lotus Notesユーザーのカレンダーにイベントを追加します。
- 27. 追加ログJBehave
- 28. C#でLotus Notes TO-DOエントリを追加するにはどうすればよいですか?
- 29. POPアカウントのLotus Notesでレプリケート・メソッドを使用する方法
- 30. iCalendarを使用するLotus Notesの終日イベント
私はこれに問題があります。ここで私はそれを設定する方法である: グローバル宣言:バリアント 薄暗い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' –
マークアップの使い方を読んでいますが、それは私にとってはうまくいかないようです。私は改行とインラインコードを使用しようとしています。誰も私がここで間違っていることを指摘できますか? –