検索を行ってから、結果をループしています。これにより、コードがロックされ、さらに悪いことに、そのデータベースがロックされて使用できなくなります。ブラウザを閉じた後でも。この「ロックアップ」は、コードを再試行するまで、もちろん一定期間後にクリアされるようです。この特定のタスクの実行方法を変更する予定ですが、このロックアップの原因について知りたいと思っていました。
var collection = database.search("Form = 'Request01' & Status='Approved'");
if (collection.getCount() == 0)
{
getComponent("panel1").setRendered(false);
getComponent("panel2").setRendered(true);
getComponent("panel4").setRendered(true);
return;
}
dBar.info("Approved Requests Found= " + collection.getCount());
var item:NotesItem = document1.replaceItemValue("DocIds","AAAA");
var doc:NotesDocument = collection.getFirstDocument();
while (doc != null)
{
try
{
var tmpDoc = collection.getNextDocument(doc);
item.appendToTextList(doc.getNoteID());
dBar.info("Processing document: " + doc.getNoteID() )
doc.recycle();
doc = tmpDoc;
}
catch(e)
{
dBar.error(e.message);
}
}
document1.save();