PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Transaction sur fichiers HFSQL en réseau
Transaction sur fichiers HFSQL en réseau
Iniciado por blandine, 03,jul. 2020 16:57 - 2 respuestas
Publicado el 03,julio 2020 - 16:57
Bonjour,
J'ai une application avec des transactions qui fonctionne très bien en local mais chez un client en réseau, aujourd'hui, certains enregistrements ne sont pas modifiés alors que ma transaction se passe bien jusqu'au bout.

HLitRecherchePremier ("Ecriture","CleEcriDate","B"+MoisDeb,"Ecriture bloquée",hBlocageEcriture)
TANTQUE (Pas HErreurBlocage) ET (PAS HEnDehors("Ecriture")) ET (ECRITURE.ECRITURECODE = "B") ET (ECRITURE.ANNEE + ECRITURE.MOIS <= MoisDeFin)
TransactionOk = Vrai
SI SansEspace(PieceEnCours) <> SansEspace(ECRITURE.NUMECRITUREPIECE) ALORS
SI pas HTransactionDebut (SansEspace(CheminTransaction)+"\Transact.Trs") ALORS
TransactionOk = Faux
FIN
FIN
SI TransactionOk ALORS
SI (SeleBrouillard = 1) _OU_ ((SeleBrouillard = 2) ET (TableCherche("CodeSelect","*"+Complète(ECRITURE.JOURCODE,3)+"*") <> -1)) ALORS
SI NbEnreg = 100 ALORS
Moulinet.NomFichier = "Ecritures"
Moulinet.NumDoc = ECRITURE.MOIS+"/"+ECRITURE.ANNEE + " " + ECRITURE.JOURCODE
MultitâcheRepeint("Moulinet")
NbEnreg = 0
SINON
NbEnreg++
FIN
HLitRecherchePremier ("Compte","CpteNumero",Complète(ECRITURE.COMPTE,12),"Compte bloqué",hBlocageEcriture)
SI pas HErreurBlocage() ALORS
SI HTrouve("Compte") ALORS
COMPTE.CUMULDEBITBROU = COMPTE.CUMULDEBITBROU - ECRITURE.DEBIT
COMPTE.CUMULCREDITBROU = COMPTE.CUMULCREDITBROU - ECRITURE.CREDIT
COMPTE.CUMULDEBITJOUR = COMPTE.CUMULDEBITJOUR + ECRITURE.DEBIT
COMPTE.CUMULCREDITJOUR = COMPTE.CUMULCREDITJOUR + ECRITURE.CREDIT
HModifie ("Compte")
SINON
SI PAS HEnDehors("Compte") ALORS
HDebloqueNumEnr ("Compte",HNumEnr("Compte"))
FIN
FIN
SI pas HErreurBlocage () ALORS
ECRITURE.ECRITURECODE = "J"
ECRITURE.DATEVALIDATION = DateSys()
ECRITURE.NUMECRITUREPIECE = NumériqueVersChaîne(NumEcriturePiece,"6d")
HModifie ("Ecriture")
HLitSuivant ("Ecriture","CleEcriDate")
SI SansEspace(PieceEnCours) <> SansEspace(ECRITURE.NUMECRITUREPIECE) ALORS
FinTransaction(Vrai)
SINON
FinTransaction(Faux)
FIN
FIN
FIN
FIN
fin
fin

Si j'enlève mes transactions, tout fonctionne très bien chez le client en réseau. J'ai essayé en réseau chez nous, tout fonctionne très bien aussi.

Quelqu'un aurait-il une idée ?
Publicado el 05,julio 2020 - 15:11
si quand tu dis "en réseau" tu veux dire du HFSQL classique partagé à travers le réseau, la réponse est la et il faut le remplacer par du C/S pour cause de pb d'opplock (depuis vista)... il y a des DIZAINES de sujets la dessus dans ce forum pour les détails.
Publicado el 05,julio 2020 - 19:08
Voici mes productions de développeurs web :

http://www.innovandco.net
http://www.wms-conseil.fr
http://www.functionalprog.fr

Je travaille sur du web (html, css, php, javascript)