UnprocessedDocuments et Suppression de document

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

UnprocessedDocuments et Suppression de document

Messagepar Gillou13 » 12 Juil 2011 à 09:26

Bonjour à tous,

J'ai un petit problème avec une action partagé dans une vue. (base en 8.5

elle utilise un set coll = db.UnprocessedDocuments pour sélectionner des document et les supprime ou non selon des conditions.

quand je l'utilise une 1er fois (sélection des documents et clique sur le bouton) tous fonctionne correctement.

mais quand je recommence l'opération, les documents supprimé sont toujours 're-selectionné' et du coup notes me retourne une erreur au traitement des documents de la collection.

ex :
1er exécution : doc A, B, C sélectionné. (B supprimé)
2ème exec : doc E,F sélectionné (coll.count = 3)

Par contre quand je ferme et ré-ouvre la base l'action re-fonctionne correctement.

quelqu'un a déjà rencontré le problème?


Merci d'avance pour votre aide.
Gillou13
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 15 Avr 2005 à 09:49
Localisation : lyon

Messagepar Michael DELIQUE » 12 Juil 2011 à 10:37

salut

jete un oeil aux options de rafraichissement de la vue
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar billbock » 12 Juil 2011 à 13:35

a la fin de ton script
detruit toutes tes variables
par exemple
Code : Tout sélectionner
set coll = Nothing
Avatar de l’utilisateur
billbock
Modérateur
Modérateur
 
Message(s) : 310
Inscrit(e) le : 15 Fév 2007 à 13:58
Localisation : paris

Messagepar roubech » 12 Juil 2011 à 21:39

dans l'aide de la méthode UnprocessedDocuments
http://publib.boulder.ibm.com/infocente ... PERTY.html
on parle très clairement de UpdateProcessedDoc
http://publib.boulder.ibm.com/infocente ... ETHOD.html
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar R-one » 29 Août 2011 à 14:11

Bonjour à tous,

J'ai le même souci. J'ai tenté vos solutions et rien de ne fonctionne.

UpdateProcessedDoc a l'air de fonctionner seulement pour les agents.
R-one
Posteur néophyte
Posteur néophyte
 
Message(s) : 85
Inscrit(e) le : 28 Juin 2011 à 09:51

Messagepar Michael DELIQUE » 29 Août 2011 à 14:15

question bête : pouruqoi tu le met pas dans un agent ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Raziel » 29 Août 2011 à 14:17

Je te confirme que le unprocessed fonctionne bien aussi avec des vues.
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Messagepar R-one » 29 Août 2011 à 14:30

@Michale DELIQUE : Je vais sûrement tester ça, mais j'aurai aimé comprendre pourquoi ça ne veut pas fonctionner. Il a l'air de se dire que le document précédent n'a pas été traité.

@Raziel : ça marche sous certaines conditions apparemment. C'est difficile d'expliquer comment je produis l'erreur. Disons qu'il faut cocher dans la colonne de gauche de la vue, en face du doc A1 à supprimer. Ensuite, j'appuye sur mon bouton "supprimer", le doc A1 est supprimé. Si ensuite, je sélectionne dans la vue avec ma souris un doc A2 (SANS cocher dans la colonne de gauche) et que j'actionne le bouton, ça ne marche pas. Pour lui, je sélectionne à nouveau le document précédemment supprimé. En gros, il se dit qu'il ne l'a pas traité.
Dans mon bouton, je fais un "remove" du doc, puis un "workspace.viewrefresh" (pour qu'il disparaisse visuellement de la vue).
R-one
Posteur néophyte
Posteur néophyte
 
Message(s) : 85
Inscrit(e) le : 28 Juin 2011 à 09:51

Messagepar Michael DELIQUE » 29 Août 2011 à 14:31

re,

dans ce cas il faut faire le workspace.viewrefresh directement apres le remove !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar R-one » 29 Août 2011 à 16:02

re,

Le workspace.viewrefresh, juste après ne change rien. En fait, ça n'enleve pas le fait d'avoir coché dans la colonne de gauche.
En revanche, workspace.viewrebuild enlève bien cet coche.
ça marche mieux mais c'est pas encore ça...

Je vais tenter avec un agent et la fonction UpdateProcessedDoc.

Merci en tout cas pour votre réactivité
R-one
Posteur néophyte
Posteur néophyte
 
Message(s) : 85
Inscrit(e) le : 28 Juin 2011 à 09:51

Messagepar R-one » 29 Août 2011 à 17:03

Y a pas à dire, ça marche vraiment bien avec un agent.

Il rafraichit la vue tout seul, sans avoir besoin du workspace.viewrefresh ni du workspace.viewrebuild. Quelqu'un pourrait il me dire pourquoi? J'aimerai bien être éclairé à ce niveau là. Y a t-il un inconvénient à utiliser un agent à chaque fois? ou est ce la meilleure méthode à appliquer?

Merci d'avance,
R-one
Posteur néophyte
Posteur néophyte
 
Message(s) : 85
Inscrit(e) le : 28 Juin 2011 à 09:51

Messagepar Raziel » 29 Août 2011 à 17:20

Tu pourrai effectivement tout faire à agent cependant en fonction du besoin il faut choisir la méthode la mieux appropriée.

Pour les agents, l'affaire ce complique lorsque ces derniers sont planifiés ou en exécution web. Dans ce cas il te faut prendre en compte les droits d'accès du signataire de l'agent, le nombre de doc pouvant tourné en simultané, le temps d'exécution maximun.

Enfin, le debug du code contenu dans un agent n'est pas toujours évident.
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Messagepar R-one » 29 Août 2011 à 17:26

D'accord, je te remercies pour tes explications. C'est pas toujours évident de savoir quelle méthode utiliser pour son cas de figure.

En tout cas, pour ce point là, ça semble vraiment être la meilleure solution.
R-one
Posteur néophyte
Posteur néophyte
 
Message(s) : 85
Inscrit(e) le : 28 Juin 2011 à 09:51

Messagepar Michael DELIQUE » 30 Août 2011 à 07:34

re

pour les débug de l'agent, avec une bonne gestion/traçage des erreurs ça se fait sans problème.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Raziel » 30 Août 2011 à 08:17

Michael DELIQUE a écrit:re

pour les débug de l'agent, avec une bonne gestion/traçage des erreurs ça se fait sans problème.

D'accord avec toi.
Quand je disais qu'elle était moins facile je parle du fait que l'on a plus la souplesse du debuggeur natif de notes.
Mais effectivement, avec un bon traçage on s'en sort très bien.
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix


Retour vers Développement