|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
Erreur au moment de l'enregistrement |
Iniciado por jmbo, 14,oct. 2004 12:26 - 16 respuestas |
| |
| | | |
|
| |
Publicado el 14,octubre 2004 - 12:26 |
Dans mon analyse j'ai un fichier facture
Hcréation(facture) // je l'efface et je le recré à vide
pour i=1 a n // avec une boucle je crée le nouveau fichier Hraz(facture) facture.nom=n[i] // un nom facture.date=d[i] // une date ....... facture.solde=c[i] // un monétaire Hajoute(facture) fin
Quand je regarde dans le fichier j'ai bien les noms les dates etc, mais le solde est à 0, pourtant dans l'analyse le solde est un monétaire et c[i] est un monétaire. Si je trace j'ai bien un solde ds facture.solde juste avant le Hajoute, mais il s'inscrit ds le fichier avec un solde = 0 ??????????
J'ai déjà fait cette manip des centaines de fois sans aucun problème, mais là je bute sûrement sur un petit grain de sable qui me cache la montagne, ou je deviens trop vieux pour la programmation.
Si l'un ou l'une d'entre-vous à une petite idée je suis preneur, Merci.
PapyDev |
| |
| |
| | | |
|
| | |
| |
Publicado el 14,octubre 2004 - 12:36 |
Mets un trace avant et après Hajoute() pour vérifier le contenu de la rubrique. Effectivement il doit y avoir un grain de sable, une action une fonction qui change la valeur Ou peut être un mauvais indice ou l'absence d'indice sur cette ligne, cela arrive souvent lorsque qu'il y a beaucoup d'assignation @+ et bon dev yves
"Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news: 416e2ee8@news.pcsoft.fr...
Dans mon analyse j'ai un fichier facture
Hcréation(facture) // je l'efface et je le recré à vide
pour i=1 a n // avec une boucle je crée le nouveau fichier Hraz(facture) facture.nom=n[i] // un nom facture.date=d[i] // une date ....... facture.solde=c[i] // un monétaire Hajoute(facture) fin
Quand je regarde dans le fichier j'ai bien les noms les dates etc, mais le
solde est à 0, pourtant dans l'analyse le solde est un monétaire et c[i] est un monétaire. > Si je trace j'ai bien un solde ds facture.solde juste avant le Hajoute, mais il s'inscrit ds le fichier avec un solde = 0 ??????????
J'ai déjà fait cette manip des centaines de fois sans aucun problème, mais
là je bute sûrement sur un petit grain de sable qui me cache la montagne, ou je deviens trop vieux pour la programmation.
Si l'un ou l'une d'entre-vous à une petite idée je suis preneur, Merci.
PapyDev
|
| |
| |
| | | |
|
| | |
| |
Publicado el 14,octubre 2004 - 14:57 |
Merci pour ta réponse Yves. J'avais déjà fait le test et je viens de le refaire si je met un Trace avant et après le Hajoute j'ai bien un vrai solde et par contre dans le fichier j'ai 0 .
Vous avez dit bizarre comme c'est bizarre. |
| |
| |
| | | |
|
| | |
| |
Publicado el 14,octubre 2004 - 16:08 |
As-tu regardé avec WDmap ? Idem ? Sinon essayes de mettre une valeur sous WDmap pour vérifier qu'elle est bien mémorisée. Créer un autre fichier dans l'analyse avec les mêmes champs, pas par 'Dupliquer' et tester le meme code.
Bizarre, bizarre vous avez dit : ...............Etrange !
"Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news: 416e522f@news.pcsoft.fr...
Merci pour ta réponse Yves. J'avais déjà fait le test et je viens de le refaire si je met un Trace
avant et après le Hajoute j'ai bien un vrai solde et par contre dans le fichier j'ai 0 .
Vous avez dit bizarre comme c'est bizarre.
|
| |
| |
| | | |
|
| | |
| |
Publicado el 14,octubre 2004 - 16:17 |
Quand ton programme tourne, il est dans une fenetre. Cette fenetre a-t-elle été générée avec le RAD ? As-tu dans ta fenetre une table qui pointe sur ce fichier ?
Je me suis fais piégé une fois par les classes du RAD qui repassaient derrière mon code !...
"Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news: 416e2ee8@news.pcsoft.fr...
Dans mon analyse j'ai un fichier facture
Hcréation(facture) // je l'efface et je le recré à vide
pour i=1 a n // avec une boucle je crée le nouveau fichier Hraz(facture) facture.nom=n[i] // un nom facture.date=d[i] // une date ....... facture.solde=c[i] // un monétaire Hajoute(facture) fin
Quand je regarde dans le fichier j'ai bien les noms les dates etc, mais le
solde est à 0, pourtant dans l'analyse le solde est un monétaire et c[i] est un monétaire. > Si je trace j'ai bien un solde ds facture.solde juste avant le Hajoute, mais il s'inscrit ds le fichier avec un solde = 0 ??????????
J'ai déjà fait cette manip des centaines de fois sans aucun problème, mais
là je bute sûrement sur un petit grain de sable qui me cache la montagne, ou je deviens trop vieux pour la programmation.
Si l'un ou l'une d'entre-vous à une petite idée je suis preneur, Merci.
PapyDev
|
| |
| |
| | | |
|
| | |
| |
Publicado el 14,octubre 2004 - 16:22 |
A tout hasard, à la fin de tout tes ajouts,n'y a t-il pas une fonction qui te met ton champ à 0 ????? |
| |
| |
| | | |
|
| | |
| |
Publicado el 14,octubre 2004 - 19:14 |
Bonjour Cher Ami !
Vérifie sur ta fenêtre de traitement s'il n'existe pas de champ qui porte le même nom "SOLDE" que la rubrique "SOLDE" de ton fichier facture. Si tel est le cas alors change le nom du champ. NB: Ce champ peut être inclus dans un objet TABLE. |
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 09:50 |
Pour t'aider à trouver ou ça pêche essaie ceci :
Solde_N est un monétaire // en déclaration de variable
remplace : facture.solde = C[I] par solde_N = C[i] facture.solde = Solde_N
es-tu sûr que tu n'as pas un champ, une avraiable,ou plus généralement une zone qui s'appelle solde
Bon courage |
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 11:45 |
Merci pour vos réponses aussi rapides que pertinantes mais je suis toujours dans la même impasse. il n'y a pas de champs Solde dans ma fenêtre qui n'a pas été constrruite avec le RAD Si je change la valeur du solde ds WDMat alors cette avaleur reste bien mémorisée.
Si je regarde la valeur de facture .solde avant le HAjoute j'ai une valaeur, pui je fais le Hajoute je regarde avec WDMat dans le fichier le solde est à 0 et si je retorne regardée le facture.solde la bonne valeur est tpojuours dedans.
Dans le fichier j'ai toutes les valeurs sauf le solde
Vous avez dit bizarre.
PapyDev |
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 14:38 |
Il n'y a plus qu'une solution
Tape la totalité de ton code en partant un peu avant ta boucle et en terminant un peu après ... histoire que quelques bonnes âmes puissent la reproduire parce que tout ce que j'ai lu dans le forum aurait dû permettre de trouver la solution.
Perds pas ton entrain. |
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 14:58 |
Ragardons alors les solutions de base.
1. La rubrique Facture.Solde dans l'analyse serait-elle tout simplement trop petite pour contenir c(i) ? 2. Le nom de la rubrique dans l'analyse serait légèrement différent; Sold ou Soldes ou Sode... (HAjoute ne le verrait pas) <=
Réal Phil
"Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news:416fc5c2$1@news.pcsoft.fr...
HRAZ(Facture) Facture.CodPil=n[i] Facture.date=ddd SI c[i]<0 ALORS Facture.Mac1="DEBIT" SINON Facture.Mac1="CREDIT" Facture.Obs="Solde année "+Fen_FinSaison.Annee Facture.Solde=c[i] HAjoute(Facture) FIN Jauge(Faux) Sablier(Faux)
Tout est parfait pour le CodPil, la date, le Mac1 l'obs mais le solde est toujours à 0, alors qu'en pas à pas ou en trace j'ai une valeur avant et après le Hajoute. > La fenêtre ne comporte aucun Solde et le solde est bien défini monétaire ds facture.solde et ds C[i].
Heureusement que je n'ai pas fait de latin ça m'évite de le perdre.
Je continue à dire bizarre comme c'est bizarre
PapyDev
|
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 15:13 |
et le debugage, en pas à pas, tu as suivi tout, depuis l'affectation de ton solde . "Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news: 416f76b8@news.pcsoft.fr...
Merci pour vos réponses aussi rapides que pertinantes mais je suis
toujours dans la même impasse. > il n'y a pas de champs Solde dans ma fenêtre qui n'a pas été constrruite avec le RAD
Si je change la valeur du solde ds WDMat alors cette avaleur reste bien mémorisée.
Si je regarde la valeur de facture .solde avant le HAjoute j'ai une
valaeur, pui je fais le Hajoute je regarde avec WDMat dans le fichier le solde est à 0 et si je retorne regardée le facture.solde la bonne valeur est tpojuours dedans.
Dans le fichier j'ai toutes les valeurs sauf le solde
Vous avez dit bizarre.
PapyDev
|
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 17:22 |
Pour ceux qui suivent encore cette saga voici la partie de programme
// il faut refaire le fichier des facturations HCréation(Facture)// efface et recre le fichier // on refait les factures
ddd est Date=ChaîneVersDate("01/01/2000") ddd..Année= Val(Fen_FinSaison.Annee)+1
POUR i=1 A cc Jauge(i,cc,"Création du nouveau fichier de facturation.",iRougeFoncé) HRAZ(Facture) Facture.CodPil=n[i] Facture.date=ddd SI c[i]<0 ALORS Facture.Mac1="DEBIT" SINON Facture.Mac1="CREDIT" Facture.Obs="Solde année "+Fen_FinSaison.Annee Facture.Solde=c[i] HAjoute(Facture) FIN Jauge(Faux) Sablier(Faux)
Tout est parfait pour le CodPil, la date, le Mac1 l'obs mais le solde est toujours à 0, alors qu'en pas à pas ou en trace j'ai une valeur avant et après le Hajoute. La fenêtre ne comporte aucun Solde et le solde est bien défini monétaire ds facture.solde et ds C[i].
Heureusement que je n'ai pas fait de latin ça m'évite de le perdre.
Je continue à dire bizarre comme c'est bizarre
PapyDev |
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 19:06 |
Juste pour faire un test, si on écrit dans la boucle : ..../... Facture.Solde=c[i] HAjoute(Facture) Facture.Solde=c[i] HModifie(Facture)
qu'est-ce que cela donne ?
"Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news: 416fc5c2$1@news.pcsoft.fr...
Pour ceux qui suivent encore cette saga voici la partie de programme
// il faut refaire le fichier des facturations HCréation(Facture)// efface et recre le fichier // on refait les factures
ddd est Date=ChaîneVersDate("01/01/2000") ddd..Année= Val(Fen_FinSaison.Annee)+1
POUR i=1 A cc Jauge(i,cc,"Création du nouveau fichier de facturation.",iRougeFoncé) HRAZ(Facture) Facture.CodPil=n[i] Facture.date=ddd SI c[i]<0 ALORS Facture.Mac1="DEBIT" SINON Facture.Mac1="CREDIT" Facture.Obs="Solde année "+Fen_FinSaison.Annee Facture.Solde=c[i] HAjoute(Facture) FIN Jauge(Faux) Sablier(Faux)
Tout est parfait pour le CodPil, la date, le Mac1 l'obs mais le solde est
toujours à 0, alors qu'en pas à pas ou en trace j'ai une valeur avant et après le Hajoute. > La fenêtre ne comporte aucun Solde et le solde est bien défini monétaire ds facture.solde et ds C[i].
Heureusement que je n'ai pas fait de latin ça m'évite de le perdre.
Je continue à dire bizarre comme c'est bizarre
PapyDev
|
| |
| |
| | | |
|
| | |
| |
Publicado el 15,octubre 2004 - 20:24 |
Je viens d'ajouter Facture.Solde=c[i] HModifie(Facture)
J'avais déjà fait le test et j'avais déjà eu un message d'erreur
Fenêtre du type erreur de doublons mais là j'ai une erreur de modification sur d'autres éléments de mon fichier qui n'ont bien sur pas été modifié. Des lignes en jaune au lieu d'être en rouge
La fiche que vous avez modifé a également été modifié par un autre utilisateur
J'avoue que je ne comprends plus rien. Juste avant le Hmodifie j'ai bien une valeur non nulle ds Facture.solde
Merci Yves de te pencher sur mes difficultés |
| |
| |
| | | |
|
| | |
| |
Publicado el 16,octubre 2004 - 21:33 |
Je commence à être à court d'idée, mais c'est vrai que ça énerve ! des trucs comme cela jusqu'à ce qu'on se rende compte de la boulette si c'est pas un bug, pardon un dysfonctionnement de l'outil
N'y aurait-il pas une possibilité de méprise entre une rubrique fichier et un autre élément , une rubrique : facture.solde un élément d'une fenetre ouverte : Facture.solde une colonne de tableau : Facture.solde j'ai eu un cas où un champ nommé code et une colonne Table.code un RepriseSaisie(Code) n'aboutissait pas. Avant on ne pouvait pas nommer 2 éléments pareil, c'était trop restrictif, mais maintenant il faut y faire plus attention. J'ai pris l'habitude de tout préfixer, avec le nom de l'objet parent pour ne plus avoir de surprises.
Par contre pour l'erreur du Hmodifie() c'est encore autre chose tous les champs sont forcément modifiés avec la meme valeur si on ne change rien mais pourquoi cette anomalie, ton appli est réseau ? Bon WE Yves
"Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news: 416ff04c@news.pcsoft.fr...
Je viens d'ajouter Facture.Solde=c[i] HModifie(Facture)
J'avais déjà fait le test et j'avais déjà eu un message d'erreur
Fenêtre du type erreur de doublons mais là j'ai une erreur de modification
sur d'autres éléments de mon fichier qui n'ont bien sur pas été modifié.
Des lignes en jaune au lieu d'être en rouge
La fiche que vous avez modifé a également été modifié par un autre utilisateur
J'avoue que je ne comprends plus rien. Juste avant le Hmodifie j'ai bien une valeur non nulle ds Facture.solde
Merci Yves de te pencher sur mes difficultés
|
| |
| |
| | | |
|
| | |
| |
Publicado el 17,octubre 2004 - 01:00 |
Passen blocage manuel Tu bloques le fichier apres sa création, comme ça tu es sûr d'être le seul utilisateur.
"Jean-Marc BOURGEOIS" <jmbo@wanadoo.fr> a écrit dans le message de news: 416ff04c@news.pcsoft.fr...
Je viens d'ajouter Facture.Solde=c[i] HModifie(Facture)
J'avais déjà fait le test et j'avais déjà eu un message d'erreur
Fenêtre du type erreur de doublons mais là j'ai une erreur de modification
sur d'autres éléments de mon fichier qui n'ont bien sur pas été modifié.
Des lignes en jaune au lieu d'être en rouge
La fiche que vous avez modifé a également été modifié par un autre utilisateur
J'avoue que je ne comprends plus rien. Juste avant le Hmodifie j'ai bien une valeur non nulle ds Facture.solde
Merci Yves de te pencher sur mes difficultés
|
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|