MACROS POUR COMPLETER OU CREER DES ENREGISTREMENTS CHAMPS PERSO

  • Auteur/autrice de la publication :
  • Post category:Codial / WinDev
  • Commentaires de la publication :0 commentaire

CODIAL

 

La macro ci dessous effectue une lecture de tous les B.I. non facturé ou non terminé.
Elle cré les enregistrements existants dans une table PERSO vers une autre table PERSO

//Déclaration des variables
//————————-
VarIDCLIENTI est un entier

VarGENRE est une chaine
VarCODE est une chaine
VarNOM est une chaine
VarADR1 est une chaine
VarADR2 est une chaine
VarCP est une chaine
VarVILLE est une chaine

VarI est un entier

SQL est une chaîne
reqSQL est une Source de Données

//————————-

VarI = 0

//Je recherche tous les B.I. non terminés et/ou non facturés
//—————————————————————
SQL = « SELECT « 
SQL += « R1CLEUNIK, « 
SQL += « CODE, « 
SQL += « GENREBL, « 
SQL += « NOMBL, « 
SQL += « ADRESSE1BL, « 
SQL += « ADRESSE2BL, « 
SQL += « COPBL, « 
SQL += « VILLEBL « 
SQL += « FROM « 
SQL += « REPARAT « 
SQL += « WHERE « 
SQL += « TERMINE = 0 OR (INTFAC = 0 AND TERMINE = 0) »

SI HExécuteRequêteSQL(reqSQL,hRequêteDéfaut,SQL) ALORS

HLitPremier(reqSQL,hSansRafraîchir)

TANTQUE HTrouve(reqSQL)

HLitRecherche(« CLIENTI », « CODE », reqSQL.CODE)

TANTQUE HTrouve(« CLIENTI »)

VarIDCLIENTI = CLIENTI.IDCLIENTI
VarI = 0
Si CLIENTI.GENRE = reqSQL.GENREBL alors VarI = VarI + 1
Si CLIENTI.NOM = reqSQL.NOMBL alors VarI = VarI + 1
Si CLIENTI.ADRESSE1 = reqSQL.ADRESSE1BL alors VarI = VarI + 1
Si CLIENTI.ADRESSE2 = reqSQL.ADRESSE2BL alors VarI = VarI + 1
Si CLIENTI.COP = reqSQL.COPBL alors VarI = VarI + 1
Si CLIENTI.VILLE = reqSQL.VILLEBL alors VarI = VarI + 1
//info(VarIDCLIENTI +  » –  » + VarI)
Si VarI = 6 ALORS SORTIR
VarIDCLIENTI = 0
VarI = 0

HLitSuivant(« CLIENTI », « CODE »)
FIN

//CREATION FICHE PERSO

Si VarIDCLIENTI <> 0 alors

HLitRecherche(« FP_ADRESSE_LIVRAISON », »IDCLIENTI »,VarIDCLIENTI)
SI HTrouve(« FP_ADRESSE_LIVRAISON ») ALORS

HLitRecherche(« FP_BON_INTERVENTION », « R1CLEUNIK », reqSQL.R1CLEUNIK)

SI HTrouve(« FP_BON_INTERVENTION ») ALORS
//L’enregistrement existe
FP_BON_INTERVENTION.TECH_SUPPL = FP_ADRESSE_LIVRAISON.TECH_SUPPL
FP_BON_INTERVENTION.NACELLE = FP_ADRESSE_LIVRAISON.NACELLE
FP_BON_INTERVENTION.ECHELLE = FP_ADRESSE_LIVRAISON.ECHELLE
FP_BON_INTERVENTION.SECURITE = FP_ADRESSE_LIVRAISON.SECURITE
FP_BON_INTERVENTION.COMMENTAIRE = FP_ADRESSE_LIVRAISON.COMMENTAIRE

Hecrit(« FP_BON_INTERVENTION »)

SINON
//L’enregistrement n’existe pas
HRAZ(« FP_BON_INTERVENTION »)

FP_BON_INTERVENTION.R1CLEUNIK = reqSQL.R1CLEUNIK
FP_BON_INTERVENTION.TECH_SUPPL = FP_ADRESSE_LIVRAISON.TECH_SUPPL
FP_BON_INTERVENTION.NACELLE = FP_ADRESSE_LIVRAISON.NACELLE
FP_BON_INTERVENTION.ECHELLE = FP_ADRESSE_LIVRAISON.ECHELLE
FP_BON_INTERVENTION.SECURITE = FP_ADRESSE_LIVRAISON.SECURITE
FP_BON_INTERVENTION.COMMENTAIRE = FP_ADRESSE_LIVRAISON.COMMENTAIRE

Hajoute(« FP_BON_INTERVENTION »)

FIN
FIN
FIN

// Lecture du Bon d’intervention suivant

HLitSuivant(reqSQL)

FIN
FIN

info(« Traitement effectué »)

Laisser un commentaire