[Notes/Domino] 編集権限の無い文書で、添付ファイルの「編集」「削除」ボタンが押せてしまう
R6 から、添付ファイルの「編集」「削除」ボタンが追加され、添付ファイルの操作が容易になっています。が、R6、R6.5 の特定バージョンでは、思わぬ副作用もあるようです。以下、再現手順です。
1. リッチテキストフィールドのあるフォームで文書を作成し、Excel などのファイルを添付します。
2. 作成者権限 かつ 文書に対して編集権限の無いユーザーで文書を開きます。
3. 添付ファイルのプロパティを開くと、「編集」ボタンがクリックできる状態になっています。
4. 「編集」ボタンをクリックし、開いたファイルを閉じて文書に戻り、文書を閉じようとすると、なぜか保存確認メッセージが表示されます。
5. 保存確認メッセージで「はい」をクリックしても、文書に編集権限が無いので、エラーになってしまいます……。
また、QueryModeChange で Continue = False にしているような場合でも、同様の結果になるようです。(バージョンによっては、QueryModeChange のイベント自体が発生しないものがある???)
この現象を回避するには、以下のいずれかの方法をとることによって、下図のように「編集」ボタンなどをグレーアウトさせてしまえばよいみたいです。(ただし、リッチテキストは何があるかわからないので、どちらの場合も、入念な検証を行ってください。)
方法1: リッチテキストフィールドを制限付きアクセスセクションの中に入れる
リッチテキストフィールドを、制限付きアクセスセクションの中に入れ、制限付きアクセスセクションの中を編集できる人を、文書を編集可能なユーザーにのみ限定します。
この方法は最もお手軽ですが、バージョンによっては文書リンクの問題もありますので、注意が必要です。文書リンクが付く可能性がある場合は、必ず検証するようにしてください。
方法2: 計算結果サブフォームを使い、編集可能フィールドと計算結果フィールドを切り替える
編集可能のリッチテキストフィールドを入れたサブフォームと、計算結果のリッチテキストフィールドを入れたサブフォームを用意し、計算結果サブフォームによって、サブフォームを切り替えます。
この方法だと設計要素が増え、煩雑になりますが、少なくとも文書リンクの問題だけは回避できます。ただし、計算結果フィールドによる他の問題が起きないとも限りませんが……(x_x) (昔は計算結果のリッチテキストフィールドで問題がありましたが、今はどうなのでしょう???)
コメント
コメントはありません
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。