VB - Db.createdocument() - Test de cohérence

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

VB - Db.createdocument() - Test de cohérence

Messagepar jordane45 » 04 Mai 2012 à 11:16

Bonjour le forum,

J'ai un petit souci...

J'automatise la création de documents notes via AUTOIT (pour ceux qui ne connaissent pas, le langage est très proche du VB).

La création se fait correctement mais lorsque je regarde dans ma base, le document apparait dans une rubrique "Test de cohérence".
Lorsque, manuellement, j'ouvre mon document (en modification) puis le referme (en enregistrant), le "souci" disparait et le document est positionné au bon endroit...

NB : J'ai les droits éditeurs sur la base.

NB² : A tout hasard... est ce que le souci pourrait venir d'un (ou plusieurs) des champs que je modifie ? ( le "Categories" par exemple)
Pour info: je remplis les items suivants :
form ; From ; from1 ; KEYLIST1 ; Categories (même valeur que pour KEYLIST1) ; Projet ; SUBCAT ;c_historique ; PRINCIPAL (même valeur que pour c_historique ) ; LastCat

Voici le code que j'utilise :
Code : Tout sélectionner

Func CreatDoc(byref $oDb,$auteur,$sTitre,$sNomAppli,$sprojet,$subcat)
   $oDoc = $oDb.createdocument()
   $odoc.Form = "m_document"
   $odoc.From=$auteur
   $odoc.Subject = $sTitre
   $odoc.Categories = $sNomAppli
   $odoc.KEYLIST1=$sNomAppli
   $oDoc.Projet=$sprojet
   $odoc.SUBCAT=$subcat
   $odoc.c_historique=$auteur
   $odoc.PRINCIPAL=$auteur
   $odoc.LastCat ="- Aucune -"

   ; Recupération du nom ( sans le CN=... OU/ / ..)
                 $tmp=StringSplit($auteur,"=")
   ConsoleWrite("Auteur : " & $auteur & @CRLF )
   if IsArray($tmp) Then
      ;_ArrayDisplay($tmp)
      $Name=StringSplit($tmp[2],"/")
      $comonName=$name[1]
      $odoc.from1=$comonName
   Else
      ConsoleWrite("$tmp 'n'est pas un array.." & @CRLF )
      Exit
   EndIf

                 ;Sauvegarde du document
   $odoc.save(False, False)
EndFunc




Par avance, merci pour votre aide.


Cordialement,
Jordane
jordane45
Premier posts
Premier posts
 
Message(s) : 16
Inscrit(e) le : 12 Fév 2010 à 17:54

Re: VB - Db.createdocument() - Test de cohérence

Messagepar Michael DELIQUE » 04 Mai 2012 à 11:25

salut

comme ça ce que je vois c'est que tu ne fermes pas correctement ta base en fin de script
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

Re: VB - Db.createdocument() - Test de cohérence

Messagepar jordane45 » 04 Mai 2012 à 11:51

Merci pour ta réponse.
Par contre ... Que je ne ferme pas ma base ? ( c'est ça qui pourrait générer ce souci selon toi ?)
.. . en effet, à la fin de mon code, je ne ferme pas la base. ( il existe peut être un DB.close() ? ) . je vais regarder ça.) mais je trouve étonnant que ça puisse génrer ce "pb"

Ce qui métonne c'est que lorsque je ferme puis ré-ouvre ma base (manuellement), le document reste toujours en "erreur".
Si je lance un test de cohérence sur la base ( toujours.. manuellement), le document est correctement classé.

PS : je suis sous lotus Notes 7.
jordane45
Premier posts
Premier posts
 
Message(s) : 16
Inscrit(e) le : 12 Fév 2010 à 17:54

Re: VB - Db.createdocument() - Test de cohérence

Messagepar roubech » 04 Mai 2012 à 12:29

qu'est-ce que tu appelle "test de cohérence" ? ce le nom d'une des vues de ta base ?
si c'est le cas, regarde la formule de sélection de cette vue
tu peux aussi comparer champ par champ un doc "en erreur" avant et apres enregistrement pour voir les champs que l'enregistrement a modifié (tu peux utiliser l'export du doc pour comparer 2 fichiers texte ensuite)
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Re: VB - Db.createdocument() - Test de cohérence

Messagepar jordane45 » 04 Mai 2012 à 14:11

En fait, il me créé au même niveau dans ma vue que les "Catégories", une rubrique : "Test de Cohérence.

J'ai éffectué un export du document AVANT puis APRES l'avoir edité puis sauvegardé.(ou avoir lancé un test de cohérence).. et en effet... le premier extract m'affiche les Noms des champs .. mais vides alors que le deuxième extract me donne bien les champs + les valeurs.

j'ai essayé le DOC.SAVE(TRUE,TRUE) également.. mais ça n'a rien changé.

une idée ?
jordane45
Premier posts
Premier posts
 
Message(s) : 16
Inscrit(e) le : 12 Fév 2010 à 17:54


Retour vers Développement