Téléchargement des produits


Version anglaise


 

Exemple général

* Edition, via un document Word, de la liste du personnel par société

* Document modèle : Persosoc-mod.doc de exploit\client\obj

* 2 signets : codsoc, nomsoc

***

* Récupération des sociétés dans la liste mémoire LST_SOC

CHARGER_SQL_LST LST_SOC SOCIETE *tri(SO_COD_SOCIETE)

*

**** connexion à Word ****

* Le paramètre WordLance prend la valeur *VRAI si Microsoft Word

* est déjà lancé ; *FAUX sinon. Ce paramètre est utile pour

* fermer ou non l'application Microsoft Word lors de la

* fermeture de l'application Visual Adélia.

APPELER_METHODE  CLI_WORD  APP_CONNECTER  WordLance CodeRetour

 

*** boucle de lecture liste des sociétés

LECTURE_LST LST_SOC

***

* Pour chaque société, récupération de ses employés dans la

* liste mémoire LST_PERSO

VIDER_LST LST_PERSO

CHARGER_SQL_LST LST_PERSO PERSONNEL *COND(PE_COD_SOCIETE = :SO_COD_SOCIETE) -

*tri(PE_COD_SOCIETE)

**** récupération du modèle persosoc-mod.doc ****

NomFichier = 'D:\ exploit \client\obj\persosoc-mod.doc'

APPELER_METHODE  CLI_WORD  DOC_OUVRIR  NomFichier CodeRetour

 

**** création d'un document Word différent pour chaque société ****

ww_persodoc = 'perso' // SO_COD_SOCIETE // '.doc'

NomFichier = 'D:\ exploit \client\obj\' // ww_persodoc

APPELER_METHODE  CLI_WORD  DOC_ENREGISTRER_SOUS  NomFichier CodeRetour

 

*** données d'en-tête ***

Numsection = 1

typeArt = _wrd_article_texte_principal

APPELER_METHODE  CLI_WORD  PLG_FIXER_ARTICLE  typeArt  NumSection  CodeRetour

 

* positionnement sur le signet 'codsoc'

NumElt = 1

NomElt = 'codsoc'

Texte = SO_COD_SOCIETE

Type = _wrd_vers_signet

TypeDep = _wrd_deplacement_absolu

APPELER_METHODE  CLI_WORD  PLG_ALLER_A  type TypeDep  NumElt NomElt  CodeRetour

APPELER_METHODE  CLI_WORD  PLG_FIXER_TEXTE  texte  CodeRetour

 

* positionnement sur le signet 'nomsoc'

NumElt = 2

NomElt = 'nomsoc'

Texte = SO_NOM_SOCIETE

Type = _wrd_vers_signet

TypeDep = _wrd_deplacement_absolu

APPELER_METHODE  CLI_WORD  PLG_ALLER_A  type  TypeDep  NumElt NomElt  CodeRetour

APPELER_METHODE  CLI_WORD  PLG_FIXER_TEXTE  texte  CodeRetour

 

*** données du tableau ***

* il faut refixer la section avant la création de la ligne

Numsection = 1

typeArt = _wrd_article_texte_principal

APPELER_METHODE  CLI_WORD  PLG_FIXER_ARTICLE  typeArt  NumSection  CodeRetour

 

* Début du chargement tableau depuis la ligne 2 sous en-tête

ww_i = 2

**** boucle sur liste employés ****

LIRE_P_ELT LST_PERSO

TANT_QUE &CODE_LST(LST_PERSO) = *NORMAL

*** données du tableau : alimentation des lignes/colonnes ***

* lignes sous en-tête. N°ligne = ww_i

Position = ww_i

APPELER_METHODE  CLI_WORD  LGN_CREER  Position  CodeRetour

* colonne 1 : nom personne

Numligne = ww_i

Numcolonne = 1

FormatNum = *blank

texte = PE_NOM_PERSONNE

APPELER_METHODE  CLI_WORD  CEL_FIXER_VALEUR  Numligne  Numcolonne  texte  -

FormatNum CodeRetour

 

* colonne 2 : prénom

Numcolonne = 2

FormatNum  = *blank

texte = PE_PRN_PERSONNE

APPELER_METHODE  CLI_WORD  CEL_FIXER_VALEUR  Numligne  Numcolonne  texte  -

FormatNum CodeRetour

 

* colonne 3 : ville

Numcolonne = 3

FormatNum = *blank

texte = PE_LIB_VIL_PERS

APPELER_METHODE  CLI_WORD  CEL_FIXER_VALEUR  Numligne  Numcolonne  texte  -

FormatNum  CodeRetour

 

ww_i = ww_i + 1

 

LIRE_AV_ELT LST_PERSO

*** fin boucle employés ***

REFAIRE

 

*** impression du document ***

DeLaPage = 1

ALaPage = _WRD_TOUTES_LES_PAGES

NbCopies = 1

APPELER_METHODE  CLI_WORD  DOC_IMPRIMER  DeLaPage  AlaPage  NbCopies  -

CodeRetour

 

*** fermeture du document Word actif ***

ValModif = *vrai

APPELER_METHODE  CLI_WORD  DOC_FERMER  ValModif  CodeRetour

 

*** fin boucle société ***

FIN_LECTURE_LST

 

Retour

 

↑ Haut de page


  • Aucune étiquette