Erreur "Variable de l'objet non définie"

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

Erreur "Variable de l'objet non définie"

Messagepar Mick » 05 Mai 2010 à 17:16

Bonjour

Voilà le code LS que j'utilise :
doc=vFT.getfirstdocument
While Not doc Is Nothing
doc.fpf_art_csb = doc.fpf_code_article(0)
'If doc.fpf_code_article(0) <> "0" Then
' codeart = doc.fpf_code_article(0)
'End If
Set docart = vArt.GetDocumentByKey(Trim(doc.fpf_code_article(0)),True)
If Not docart Is Nothing Then
doc.fpf_code_article = docart.artnumCSB(0)
Call doc.Save(True, False)
End If
Set doc=vFT.getnextdocument(doc)
Wend

Il a fonctionné pour 17 docs sur 100 environ et maintenant j'ai une erreur :
VARIABLE DE L'OBJET NON DEFINIE

Je ne vois vraiment pas ce qui pourrait coincer ...
Quand je fais du debug le fpf_code_article qui permet de faire le GetDocumentByKey est bien identique au champ trié de la vue vArt


Quelqu'un pourrait m'aiguiller ...

Merci,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar roubech » 05 Mai 2010 à 19:24

bonjour,

pense à mettre ton code entre balaise pour qu'il soit plus lisible

le message d'erreur apparait sur quelle ligne de ton code ?

vue que tu modifies ton doc, cela peut-il avoir une incidence sur les vue utilisées (genre tu modifies un champ qui sert de tri dans la vue ou pire dans la formule de sélection) ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Michael DELIQUE » 05 Mai 2010 à 19:29

salut

je paris que tu modifie des valeurs des documents qui sont aussi dans le select de ta 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 Mick » 06 Mai 2010 à 04:29

Bonjour et merci pour vos pistes


Set docart = vArt.GetDocumentByKey(Trim(doc.fpf_code_article(0)),True)
If Not docart Is Nothing Then
doc.fpf_code_article = docart.artnumCSB(0)


Si je ne fais le If j'ai un message d'erreur sur cette ligne :
doc.fpf_code_article = docart.artnumCSB(0)


Car le
Set docart = vArt.GetDocumentByKey(Trim(doc.fpf_code_article(0)),True)
ne se fait pas.

Le GetDocumentByKey n'arrive pas à se faire.

Alors que tout a bien fonctionné pour 17 docs sur 100.
Mais pour les autres il n'arrive pas à faire le GetDocumentByKey.


J'ai donc des docs A avec un code article et des docs B avec un code article.
Les deux codes articles sont de type Numérique.
J'utilise le code article des docs B dans le GetDocumentByKey pour avoir accès à des docs A et récupérer des infos sur les docs A.

Quelqu'un peut m'aider ...
En modifiant mon code ou bien en m'orientant sur une autre piste pour arriver à mes fins ...



Merci,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar Michael DELIQUE » 06 Mai 2010 à 07:39

salut

tu peux déjà en sortir de ton GetDocumentByKey tester ton document via un

Code : Tout sélectionner
if docart is Nothing then

else

end if


qui te permettra de gérer le cas. ensuite vérifier que tu as bien un document correspondant a ta clé de recherche.

tu peut aussi essayer en mettant un
call vart.refresh avant le GetDocumentByKey mais ça va allourdir le temp de traitement
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 Mick » 06 Mai 2010 à 09:09

en fait le GetDocumentByKey fonctionne avec des champs texte ou fonctionne mieux en tout cas ...

J'ai créé une vue indexée sur un champ texte et ça fonctionne à merveille ...




Merci à vous,
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar mike76 » 06 Mai 2010 à 09:29

Salut,

Qu'entends-tu par :
J'ai créé une vue indexée sur un champ texte

??
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar Mick » 06 Mai 2010 à 09:35

Eh bien j'ai modifié le masque pour transformé le code article qui était en Numérique en champ texte.

Ensuite j'ai crée une vue sur le champ code article au format texte.

Et là le GetDocumentByKey fonctionne alors qu'avec le code article au format numérique ça ne fonctionnait pas ...
Mick
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 170
Inscrit(e) le : 09 Juin 2009 à 09:39

Messagepar mike76 » 06 Mai 2010 à 09:37

Merci pour ton explication
a+
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar Michael DELIQUE » 06 Mai 2010 à 09:46

salut

tu n'étais pas obligé de modifier ton masque

un simple @text(monchamp) dans la colonne de ta vue suffisait
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


Retour vers Développement

cron