Supprimer une Pièce Jointe

Bonjour,

Je voudrais savoir comment supprimer une pièce jointe de Bonita?

Merci

Bonita version: 5.9.1
Java Version: 7
Operating System: Windows 7

Bonjour,
à priori, avec la méthode deleteDocuments de la runtimeAPI
Cldt,
RP

je l’ai déjà essayé mais ça n’a pas fonctionné

Pouvez vous préciser ? Avez vous des messages d’erreur ?

QueryRuntimeAPI api = apiAccessor.getQueryRuntimeAPI() RuntimeAPI runapi = apiAccessor.getRuntimeAPI()

DocumentSearchBuilder dsb = new DocumentSearchBuilder();
dsb.criterion(DocumentIndex.PROCESS_INSTANCE_UUID).equalsTo(processInstance.getUUID().toString());
DocumentResult res = api.searchDocuments(dsb, 0, 1000);

List doclist = res.getDocuments();
for (i=0;i<doclist.size();i++)
{
runapi.deleteDocuments(true,(res.getDocuments().get(0)).getUUID())
}

référence

justement, j’ai trouvé cette solution mais ce n’est pas indiqué comment l’utiliser: comme un script Groovy ou carrément créer un connecteur java ?
sinn pour ton code , je dois ajouter les imports n’est ce pas ?

Merci

je l’ai testé comme un connecteur Script Groovy mais ça n’a pas fonctionné, d’après le code il doit logiquement chercher tous les docs attach de l’instance et les supprimer, mais je les (les fichiers joint) retrouve toujours dans leurs emplacement “C:\BOS-5.9.1\studio\workspace\bonita\client\tenants\default\tmp\web\common”

import org.ow2.bonita.search.DocumentSearchBuilder;
import org.ow2.bonita.facade.runtime.AttachmentInstance;
import org.ow2.bonita.search.DocumentResult;
import org.ow2.bonita.search.DocumentSearchBuilder;
import org.ow2.bonita.search.index.DocumentIndex;
import org.ow2.bonita.facade.QueryRuntimeAPI;
import org.ow2.bonita.facade.RuntimeAPI;
import org.ow2.bonita.services.Document;
import org.ow2.bonita.facade.runtime.impl.DocumentImpl;

QueryRuntimeAPI api = apiAccessor.getQueryRuntimeAPI()
RuntimeAPI runapi = apiAccessor.getRuntimeAPI()

DocumentSearchBuilder dsb = new DocumentSearchBuilder();
dsb.criterion(DocumentIndex.PROCESS_INSTANCE_UUID).equalsTo(processInstance.getUUID().toString());
DocumentResult res = api.searchDocuments(dsb, 0, 1000);

List doclist = res.getDocuments();
for (i=0;i<doclist.size();i++)
{
runapi.deleteDocuments(true,(res.getDocuments().get(0)).getUUID())
}

Bonjour, en effet l’appel à l’API retire les documents de l’instance du processus: il ne détruit pas physiquement les fichiers temporaires créés lors de l’upload du fichier (il s’agit d’une configuration server à mettre en place), il les retire de la base de données interne utilisée par le moteur bonita.