Criei um Javascript Server-Side de XPages para deletar um documento e todos os seus filhos recursivamente.
Ele é bem útil para colocar em uma View, com uma coluna para deletar certo documento.
Segue o script:
function removerDocumentoComResponses(id, retornar){
var doc:NotesDocument = database.getDocumentByUNID(id);
var documentos:NotesDocumentCollection = doc.getResponses();
var documentosDeleteUNID:java.util.List = new java.util.ArrayList();
var documentoDelete:NotesDocument = documentos.getFirstDocument();
while(documentoDelete != null){
if(documentoDelete.getResponses().getCount() != 0){
documentosDeleteUNID.addAll(removerDocumentoComResponses(documentoDelete.getUniversalID(), true));
}
else{
documentosDeleteUNID.add(documentoDelete.getUniversalID());
}
documentoDelete = documentos.getNextDocument(documentoDelete);
}
documentosDeleteUNID.add(doc.getUniversalID());
documentos = null;
if(retornar){
return documentosDeleteUNID;
}
var iterator:java.util.Iterator = documentosDeleteUNID.iterator();
while(iterator.hasNext()){
var unid = iterator.next();
database.getDocumentByUNID(unid).removePermanently(true);
}
}
Esse código deve ser chamado passando o UniversalID do documento e um false no primeiro argumento.
Nenhum comentário:
Postar um comentário