Bonjour,
je tente de parcourir tous les enregistrements d’un objet en utilisant la méthode search de ObjectDB pour y effectuer un validateAndSave() de BusinessObjectTool.(Reprise de données)
Quand je teste, la taille de la liste est toujours 0 alors que object.getCount() me retourne le nombre attendu.
Je me suis basé sur la doc. Je me demande si mon implémentation contient une erreur qui m’échappe ?
ObjectDB object = g.getTmpObject(item);
synchronized (object.getLock()) {
object.resetFilters();
List<String[]> recordList = object.search(false);
AppLog.info("recordList.size total records = "+recordList.size(), g);
AppLog.info("getCount total records = "+ object.getCount(), g);
}
Votre code semble Ok. Peut être avez vous du code sur l’objet en question qui filtre des choses au search (par positionnement conditionnel d’une search spec ou au niveau du postSearch).
Test fait en reprenant votre code sur une v5 à jour sur la demo:
Merci pour ta réponse.
En fait il manquait un point qui est (maintenant je sais ) crucial à mon post, c’est l’emplacement de code, je pense qu’il était “trop tôt” dans les hooks du PlatformHooks. J’ai mis le même code dans le postLoadHome et ca fonctionne comme attendu.
Mon but est d’appliquer un traitement aux records de plusieurs objets qui contiennent un certain attribut, c’est pour ca que j’ai ciblé un PlatformHook pour ce besoin.
Merci du support et bon WE
Il faudrait revoir votre besoin de parcourir une table à l’ouverture de session pour mise à jour en masse ? Les Platform hooks doivent rester rapides pour que la session s’ouvre rapidement.
Si vous avez des traitements plus lourds sur les données (comme une reprise de données), il serait judicieux de les déporter dans un tache cron (automatiquement la nuit) ou via une action asynchrone lancée ponctuellement (par l’utilisateur ou un admin).
Effectivement en 5.3, la méthode lambda ne prend pas de pageNum en second paramètre.
Ca a été ajouté en V6 pour savoir calculer un row index global = maxRowsPerPage * pageNum + rows index
Pour conclure ce ticket, on va ajouter en 6.1.11 une compatibilité ascendante de la syntaxe V5 en V6 pour les appels de search et searchExport avec des lambdas sans second paramètre pageNum.
Ca évitera cette erreur de compilation quand vous passerez en V6.