Erreur à la fermeture du 25eme documents

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

Erreur à la fermeture du 25eme documents

Messagepar broutzy » 10 Nov 2009 à 17:19

Bonjour,

j'essaye de traiter le contenu d'une vue, le but étant de passer par le front-end pour transformer un champ RT en type Mime/Html.
Au bout du 25eme document, j'ai le message "Impossible de repousser la fermeture du document".
Si qqun a une explication à ce problème, je suis preneur.

ci-dessous mon agent

Code : Tout sélectionner
Sub Initialize
%REM
   Conversion en type Mime
%END REM
   'Déclarations
   Dim ws As NotesUIWorkspace
   Dim s As NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim entry As NotesViewEntry
   Dim vc As NotesViewEntryCollection
   Dim UIdoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim nbTot, nbTrt As Integer
   
   On Error Goto Catch
Try:
   
   'Initialisations
   Set ws = New NotesUIWorkspace
   If s Is Nothing Then Set s = New NotesSession
   Set db = s.CurrentDatabase
   
   'Traitement des documents de la vue
   Set view = db.GetView("vFusion")
   Set vc = view.AllEntries
   nbTot = vc.Count
   nbTrt = 0
   Set entry = vc.GetFirstEntry
   While Not(entry Is Nothing) And nbTrt < 24
        'While Not(entry Is Nothing)
      Set doc = entry.Document
      Set UIdoc = ws.EditDocument(True,doc)
      Call UIdoc.FieldSetText("Form","Memo")
      Call UIdoc.Save
      Call UIdoc.Close
      nbTrt = nbTrt + 1
      Print "Avancement " & nbTrt & "/" & nbTot & " traités."
      Set entry = vc.GetNextEntry(entry)
   Wend
   
   Goto Finally
Catch:
   'Gestion des erreurs
   Msgbox "Erreur n° " & Err & " : " & Error$ & " à la ligne " & Erl,16, Lsi_info(2)
   Resume Finally
Finally:
End Sub
Dernière édition par broutzy le 12 Nov 2009 à 11:30, édité 1 fois.
Cordialement. :)

Pascal Broutèle
Groupe D&O
Avatar de l’utilisateur
broutzy
Posteur néophyte
Posteur néophyte
 
Message(s) : 51
Inscrit(e) le : 10 Jan 2005 à 11:23
Localisation : Paris

Messagepar Michael DELIQUE » 10 Nov 2009 à 21:12

salut

pourquoi passer par un NotesViewEntryCollection et pas tout simplement par un notesview ?
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 broutzy » 12 Nov 2009 à 08:21

Michael DELIQUE a écrit:salut

pourquoi passer par un NotesViewEntryCollection et pas tout simplement par un notesview ?


Parce que l'action sur le document le fait disparaitre de la vue, cela générerait une erreur sur GetNextDocument.
Cela dit l'erreur ne vient pas de la, j'ai essayé.
Cordialement. :)

Pascal Broutèle
Groupe D&O
Avatar de l’utilisateur
broutzy
Posteur néophyte
Posteur néophyte
 
Message(s) : 51
Inscrit(e) le : 10 Jan 2005 à 11:23
Localisation : Paris

Messagepar Michael DELIQUE » 12 Nov 2009 à 08:43

re

- pas bete l'idée mais tu peux passer le souci avec notesdocument temporaire instancié avant les modifs

- est ce toujours le 25 eme document (quelque soit le tri) ou un document particulier ?

- un champ ruchtext plus "lourd" que prévu ?
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 broutzy » 12 Nov 2009 à 09:36

Michael DELIQUE a écrit:re

- pas bete l'idée mais tu peux passer le souci avec notesdocument temporaire instancié avant les modifs

- est ce toujours le 25 eme document (quelque soit le tri) ou un document particulier ?

- un champ ruchtext plus "lourd" que prévu ?


Merci de t'intéresser à mon problème.

Ce n'est à priori pas lié au contenu du doc ou du rt. J'ai plutôt l'impression que les docs ne se ferment pas correctement, car après le plantage j'ai plein de documents ouverts dans le client.

Mon but vous avez compris est de transformer un champ RT en type Mime/Html puis de l'envoyer de manière à conserver la mise en page pour les clients de messagerie non Notes.
Cordialement. :)

Pascal Broutèle
Groupe D&O
Avatar de l’utilisateur
broutzy
Posteur néophyte
Posteur néophyte
 
Message(s) : 51
Inscrit(e) le : 10 Jan 2005 à 11:23
Localisation : Paris

Messagepar Michael DELIQUE » 12 Nov 2009 à 09:42

re,

donc au finale tu as 25 documents ouvert... je pense plustot que tu as un pb a la fermeture de tes documents.

tu peut essayé de rajouté un champ SaveOptions = 0 et/ou uidoc.refresh avant le save
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 broutzy » 12 Nov 2009 à 10:15

Michael DELIQUE a écrit:re,

donc au finale tu as 25 documents ouvert... je pense plustot que tu as un pb a la fermeture de tes documents.

tu peut essayé de rajouté un champ SaveOptions = 0 et/ou uidoc.refresh avant le save


le saveoptions et le refresh ne changent rien.
je confirme, les documents ne se ferment pas, et au 25e ça plante.
Pourtant il execute bien le "UIdoc.close". j'ai meme ajoute un "set UIdoc = nothing" sans succés.
Je pige pas, s'il y a moins de 25 docs ça fonctionne.
Cordialement. :)

Pascal Broutèle
Groupe D&O
Avatar de l’utilisateur
broutzy
Posteur néophyte
Posteur néophyte
 
Message(s) : 51
Inscrit(e) le : 10 Jan 2005 à 11:23
Localisation : Paris

Messagepar Michael DELIQUE » 12 Nov 2009 à 10:33

re

a mon a vis ton probleme est sur la fermeture des UIDoc

colle un sleep(10) apres le uidoc.close

sinon regarde si tu n'as pas un souci au close
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 stloje » 12 Nov 2009 à 10:34

Est-ce que tu as du code qui pourrait empêcher la fermeture du masque au niveau du QuerySave et QueryClose?

Je ne connais pas les motifs, mais tu as essayé de le faire en Back End plutôt qu'en Front End? Il y a une propriété au niveau de la session qui empêche la conversion de format MIME en Rich Text :
session.ConvertMIME = False
Avatar de l’utilisateur
stloje
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 335
Inscrit(e) le : 09 Sep 2008 à 13:18
Localisation : Orléans

Messagepar Domino77 » 12 Nov 2009 à 10:56

Je ne saisis pas bien l'intérêt de passer par les uidocs dans ton cas.

Donc deux choses qui pourraient peut-être te faire avancer :

- Utilise uidoc.close(true). Par défaut c'est à false et met donc un certain temp avant de se fermer. Et vu la rapidité d'exécution d'une boucle, il y a fort à parier que tu arrives (vers le 25ème) à une saturation au niveau du nombre de docs ouverts.
Call notesUIDocument.Close([Immediate])

- Utilise tout simplement les notesdocument =>
call doc = entry.Document
call doc.replaceitemvalue("Form", "Memo")
call doc.save(true, false)
Avatar de l’utilisateur
Domino77
Modérateur
Modérateur
 
Message(s) : 359
Inscrit(e) le : 22 Juil 2005 à 13:31

Messagepar broutzy » 12 Nov 2009 à 11:29

Merci à tous pour les réponses.

Le problème venait du paramètre UIdoc.Close([Immediate]). Je ne connaissait pas cette option, merci encore.

Pour info, je passe par le front-end pour que le client force le Body en type Mime/Html, je n'ai pas trouvé comment le faire en ls.

A+
Cordialement. :)

Pascal Broutèle
Groupe D&O
Avatar de l’utilisateur
broutzy
Posteur néophyte
Posteur néophyte
 
Message(s) : 51
Inscrit(e) le : 10 Jan 2005 à 11:23
Localisation : Paris


Retour vers Développement

cron