@DocLock (式言語)

現在の文書をロックするか、ロックを解除するか、ロックの状態を返します。またはデータベースにロックが有効な文書があるかどうかを示します。

注: この @ 関数は、Release 6 で新しく追加されました。

構文

@DocLock ( [ options ] )

パラメータ

[ options ]

キーワード。次のいずれかのアクションを選択します。

[LOCK]

現在の文書をロックします。

[UNLOCK]

現在の文書のロックを解除します。

[STATUS]

現在の文書のロックの状態を示します。文書がロックされていない場合は Null が返され、ロックされている場合は文書をロックしたユーザーの文字列リストが返されます。

[LOCKINGENABLED]

現在のデータベースにロックが有効な文書があるかどうかを示します。ロックが有効な文書があれば、1 (@True) が返され、それ以外の場合は 0 が返されます。

使用法

現在の文書がまだ保存されていない場合は、この関数は正常に機能しません。この関数を起動するときは、文書が読み込みモードでなければなりません。さらに、データベースで文書のロックが有効でなければなりません。そうでない場合に [LOCK] キーワード、[STATUS] キーワード、[UNLOCK] キーワードを指定すると「ロックがサポートされていないデータベースでロック操作を行いました」というエラーメッセージが表示されます。

文書のロックを有効にするには:

  1. データベースの [アクセス制御リスト] ダイアログボックスの [詳細] パネルで、Domino サーバーをシステム管理サーバー (マスターロックサーバー) として指定します。
  2. [データベースのプロパティ] インフォボックスの [データベースの基本] タブの [文書のロックを許可] チェックボックスをオンにします。

この関数は、Web アプリケーションでは使用できません。

ユーザーが編集モードで開いている文書をロックするために、[LockingEnabled]、[Status]、[Lock]、[Unlock] という 4 つのホットスポットボタンを使用できるようにします。

まず、ユーザーは現在の文書をロックできるかどうかを判断するために、そのデータベースで文書のロックが有効かどうかを調べます。次のコードが指定されている [LockingEnabled] ボタンをユーザーがクリックすると、ロックが有効であることを示す 1 が返されます。

@Prompt([OK];"Checking if document locking is enabled";@DocLock([LOCKINGENABLED]))

ロックが有効ならば、ユーザーは次のコードが指定されている [Status] ボタンをクリックします。空のメッセージボックスが返された場合は、現在の文書はロックされていません。

@Prompt([OK];"Checking document status";@DocLock([STATUS]))

次のコードが指定されている [Lock] ホットスポットボタンをユーザーがクリックすると、管理者権限のあるサーバーによって文書がロックされます。ユーザーがもう一度 [Status] ボタンをクリックすると、現在のユーザーの階層名がメッセージボックスに表示されます。

@DocLock([LOCK])

次のコードが指定されている [UnLock] ホットスポットボタンをユーザーがクリックすると、管理者権限のあるサーバーによって文書のロックが解除されます。ユーザーがもう一度 [Status] ボタンをクリックすると、空のメッセージボックスが表示されます。

@DocLock([UNLOCK]) 

クロスリファレンス

LotusScript® NotesDocument クラスの Lock メソッド

LotusScript NotesDocument クラスの LockHolders プロパティ

LotusScript NotesDocument クラスの Unlock メソッド