PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Problème urgentissime : IDAuto
Problème urgentissime : IDAuto
Débuté par Paul, 02 mai 2006 16:24 - 8 réponses
Posté le 02 mai 2006 - 16:24
Bonjour,

Je viens de migrer une appli WD9 vers WD10. Et j'ai une fonction qui pose un
gros problème.

J'ai un fichier LigneFacture (contient toutes les lignes de factures). Lors
de la modification de la facture, je vais supprimer toutes les lignes de la
facture modifiée puis je cherche à les recréer.

Ma boucle supprime correctement les lignes.
Mais au moment de les recréer, j'ai systématiquement un message d'erreur
selon quoi l'idauto de mon fichier est le meme que l'id saisi.

Pourtant, je ne précise dans ma fonction Hajoute aucun n° id. De plus, je
précise que mon fichier est réindexé.

Une solution ? une idée ?

Merci
Posté le 02 mai 2006 - 16:48
Salut,

je pense que le problème vient que lorsque les enregistrements supprimés restent dans le fichier et ne sont que rayés! Tu as utilisé la fonction HReindexe mais pour supprimer les enregistrements rayés, tu dois préciser l'option "hNdxCompactage" !

voilà, j'espère que ça solutionnera ton problème
Posté le 02 mai 2006 - 17:00
J'utilise pourtant la fonction Hsupprime...



"Emeline" <l.emeline@voila.fr> a écrit dans le message de news:
4457539e$1@news.pcsoft.fr...

Salut,

je pense que le problème vient que lorsque les enregistrements supprimés
restent dans le fichier et ne sont que rayés! Tu as utilisé la fonction
HReindexe mais pour supprimer les enregistrements rayés, tu dois préciser
l'option "hNdxCompactage" !

voilà, j'espère que ça solutionnera ton problème


Posté le 02 mai 2006 - 17:13
Je viens de tester en réindexant avec hNdxCompactage.
Meme problème.

En fait, il veut toujours ajouter avec le dernier ID du fichier...


"Paul" <paul.gera@free.fr> a écrit dans le message de news:
445756d1@news.pcsoft.fr...

J'utilise pourtant la fonction Hsupprime...



"Emeline" <l.emeline@voila.fr> a écrit dans le message de news:
4457539e$1@news.pcsoft.fr...

Salut,

je pense que le problème vient que lorsque les enregistrements supprimés
restent dans le fichier et ne sont que rayés! Tu as utilisé la fonction
HReindexe mais pour supprimer les enregistrements rayés, tu dois préciser
l'option "hNdxCompactage" !

voilà, j'espère que ça solutionnera ton problème




Posté le 02 mai 2006 - 18:01
dans le hajoute tu mets quoi comme option hforceidauto ou hfixedidauto avec
hforce l'idauto reprend sur la dernière valeur générée de idautochamp alors
que hfixed prend la valeur la plus grande de la clé . en clair si tu ajoutes
tu es sur la clé 80 tu insères avec hforce le 81 au prochain appel
automatique il met 81 d'où erreur avec hfixe il met 82 .

Bonne journée
"Paul" <paul.gera@free.fr> a écrit dans le message de news:
4457592f$1@news.pcsoft.fr...

Je viens de tester en réindexant avec hNdxCompactage.
Meme problème.

En fait, il veut toujours ajouter avec le dernier ID du fichier...


"Paul" <paul.gera@free.fr> a écrit dans le message de news:
445756d1@news.pcsoft.fr...

J'utilise pourtant la fonction Hsupprime...



"Emeline" <l.emeline@voila.fr> a écrit dans le message de news:
4457539e$1@news.pcsoft.fr...

Salut,

je pense que le problème vient que lorsque les enregistrements supprimés
restent dans le fichier et ne sont que rayés! Tu as utilisé la fonction
HReindexe mais pour supprimer les enregistrements rayés, tu dois
préciser
l'option "hNdxCompactage" !

voilà, j'espère que ça solutionnera ton problème






Posté le 02 mai 2006 - 18:01
SVP, une réponse.
Je suis vraiment dans la galère...



"Paul" <paul.gera@free.fr> a écrit dans le message de news:
4457592f$1@news.pcsoft.fr...

Je viens de tester en réindexant avec hNdxCompactage.
Meme problème.

En fait, il veut toujours ajouter avec le dernier ID du fichier...


"Paul" <paul.gera@free.fr> a écrit dans le message de news:
445756d1@news.pcsoft.fr...

J'utilise pourtant la fonction Hsupprime...



"Emeline" <l.emeline@voila.fr> a écrit dans le message de news:
4457539e$1@news.pcsoft.fr...

Salut,

je pense que le problème vient que lorsque les enregistrements supprimés
restent dans le fichier et ne sont que rayés! Tu as utilisé la fonction
HReindexe mais pour supprimer les enregistrements rayés, tu dois
préciser
l'option "hNdxCompactage" !

voilà, j'espère que ça solutionnera ton problème






Posté le 02 mai 2006 - 19:14
Dans la news:44576225@news.pcsoft.fr,
Paul <paul.gera@free.fr> tnous écrit :
SVP, une réponse.
Je suis vraiment dans la galère...


je vois ça de temps en temps sur des bases HF 5.5 en réseau "médiocre"

pas trouvé d'autre solution que de rapatrier le fichier en cause,
l'ouvrir avec WDMAP et faire un ajout/suppression d'enregistrement pour
réincrémenter correctement l'IDauto...ne reste plus alors qu'à renvoyer
le fichier au client..et contrôler son réseau!

cordialement,

--
Philippe Vidal, DMV
Log'Phi Informatique
www.logphi.com
Posté le 02 mai 2006 - 19:26
Bonjour,

1. je supprime les enreg. qui vont bien ;
2. hRaz(LigneFacture) // pour rafraichir le buffer
3. Remplissage du bufer
LigneFacture.XX=xx
Lignefacture.YY=yy
...
4. hAjoute(LigneFacture) pour un nouvel enreg.

Cordialement,
Patrick BULLE
Posté le 03 mai 2006 - 12:42
Le problème provient du réseau, ce que l'on appel communément le pointeur de fin de fichier. Windows gère très mal les données partagées (sans mode client/serveur).
Faites vérifier le type de réseau (OS utilisé),
Le nombre de poste se connectant simultanément sur les fichiers de données.

Evitez la suppression de lignes pour les réinjectées par la suite, préférez utiliser la modification (Hmodifie), Vous pointez sur votre enregistrement, puis vous modifiez. C'est plus naturel pour l'ensemble des systèmes.

Cordialement