Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD10] Erreur de doublons

11 réponses
Avatar
wd_newbie
Bonjour,

j'ai un petit soucis avec une application dont je n'arrive a pas en
trouver la source.

Mon client m'a envoy=E9 les fichiers par e-mail et, heureusement,
j'arrive a reproduire l'erreur sur le poste de d=E9veloppement. Par
contre je n'arrive pas a cerner le pourquoi :


Je pr=E9cise que les fichiers "factures" et "ligne_commande" sont vides

et je fais :

//**************************
HRAZ(Factures) // je vide le cache
Factures.IDMembres=3D Membres.IDMembres // n=B0 de membre
Factures.Date_facture =3D DateSys() // date de la facture
Factures.Valid=E9e =3D Faux // la facture n'est pas valid=E9e
Factures.Login_facture =3D gsUsername // nom de la personne qui rempli
la facture
Factures.Total_facture =3D moTotal // prix total de la facture
Factures.Montant_encaisse =3D moEncaisse // montant pay=E9


SI PAS HAjoute(Factures) ALORS
Trace(HErreurInfo(hErrComplet)) =3D=3D> voir plus bas
Erreur(" Impossible de cr=E9er la facture !!")
RETOUR
SINON
// j'ai mon numero de facture en cours :
numFacture =3D Factures.IDFacture
FIN

//***************************************************

L'erreur se situe au niveau du Hajoute(Facture) , la trace de l'erreur
me donne :


[----------------------------------------------------------------
erreur --------------------------]
La trace de l'erreur me donne :
Dump de l'erreur du module <WD100HF.DLL> <10.00Edh>.

- Appel WL :
Fonction <>, n=B0 de syntaxe <0>

- Niveau : erreur non fatale (EL_ONRETURN)

- Code erreur : 70010

- Code erreur WD55 : 10

- Pas de code d'erreur syst=E8me

- Pas de message d'erreur syst=E8me

- Que s'est-il pass=E9 ?
Des doublons ont =E9t=E9 d=E9tect=E9s pour la cl=E9 <IDFacture> sur le fich=
ier
<Factures>.

- Infos de debug :
iehf=3D30017

- Infos attach=E9es :
EIT_LOGICALTABLENAME : <Factures>
EIT_ITEMNAME : <IDFacture>
EIT_PATHFIC : <C:\Mes Projets\MonProjet\Exe\Factures.FIC>
EIT_PATHNDX : <C:\Mes Projets\MonProjet\Exe\Factures.NDX>

- Identifiant dans le .err : 70907

[-------------------------------------------------------------FIN
erreur --------------------------]



=2E.. ce que je trouve bizzare, c'est que le fichier est vide ... par
contre si je fais une r=E9indexation via la commande du CCmenu
"CCMenu.R=E9parationDonn=E9es()"

ensuite c'est OK, cela devrait donc venir de l'index du fichier, mais
comme ce dernier est cens=E9 =EAtre vide ...le probl=E8me est r=E9solu, mai=
s
je ne vois pas son origine.

Des id=E9es sur la questions ?

Merci d'avance


Olivier

1 réponse

1 2
Avatar
patrice
HF est plus un séquentiel indexé qu'un sgbd
les pb d'erreurs doublons (surtout sur clé incrémental) sont probablement du
à des pb de cache.
avec les versions récentes (11 & 12), semble que ca cache beaucoup plus, et
qu'il faille de temps en temps des hforceecriture

"Dc" a écrit dans le message de
news:
Bjr,

Roumegou Eric avait soumis l'idée :

> Le vrai débat porterait plutôt sur le SGBD qui avec HF n'est à mon avis


pas
> la meilleure solution.

Suis pas payé par pcsoft :-)) mais j'ai des fichiers qui tournent
24h/24 avec sans arret des effacements et des ajoute, je fais jamais de
reindexation, et j'ai jamais vu ce genre d'erreur...
dsl..


--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------




1 2