Voici un exemple qui reprend les modules expliqués précédemment, illustrant la génération d’une édition au format factur-x
module "yfacturX.dhop" ;chargement des modules module "ymapi.dhop" ;on genère une edition FACTURX procedure ExempleImpression 1 err x = 0 1 txterr 4096= " " 1 errl L 1 fichierxml 260 1 fichierimp 260 1 fichierpdf 260 beginp XharviewBeginFileJoint ;<- force le mode generer un xharview en interne XharviewNoRunXharview ;mais sans toucher a l'etat de la coche avec ou sans apercu PrintBegin xmiprint harmony.imasque 1 ; les xmiprint du masque etc XharviewWriteParameter("<name>aaafacture_Nebout_125e_du_09_12_2020") ;<- 'nom' de l'edition , si on génére un pdf le nom du fichier ;sera celui la (attention pas de blanc) fichierxml = GenererLeFichierXML ;on génére le fichier xml factur-x if fichierxml <> " " err = MetaDataFileFacturx(left(fichierxml)) ;FACTURX on ajoute apres création le fichier factur-x xml attention au format windows if err <> 0 ;FACTURX la fc fait un open pour vérifier que le fichier existe err = MetaDataGetLastError(txterr) endif endif MetaDataModele("BASIC") ;FACTURX par défaut je prend toujours BASIC par defaut modele XRECHNUNG le fichier doit etre xrechnung.xml MetaDataTitle("facture_Nebout_125e_du_12/08/2021") ;FACTURX titre, sinon le prend le nom du fichier MetaDataSubject("facture client Nebout de 125 euro pour livres du 12/08/2021") ;FACTURX le sujet sinon le prend le nom du fichier MetaDataKeywords("facture Nebout livres") ;FACTURX mot cles pour la recherche dans les metadatas, sinon je met le nom du fichier PrintEnd XharviewGetFileXharview(fichierimp) ;on recupere le fichier if fichierimp <> " " and err <> 0 ;cas en erreur , fichier = " " , exemple disque plein !!! fichierpdf = filenamebase(fichierimp) & "\facture_Nebout" & time(7) & ".pdf" MapiConvertPDF(fichierimp,fichierpdf) endif XharviewEndFileJoint ;continue l'execution du PrintEnd , ce qui n'a pas ete XharviewRunXharview if fichierxml <> " " fdeletefile(left(fichierxml),errl,false) ;FACTURX on peut supprimer le fichier XML QUE APRES LE PRINTEND pas avant ! endif if fichierimp <> " " fdeletefile(left(fichierimp),errl,false) ;FACTURX on peut supprimer le fichier de l'edition endif ;fichierpdf contiend l'édition en pdf au format factur-x, on peut alors l'envoyer chez le client endp main masque = "_testmapirtfxwin.dhoi" xmiload masque MapiOpen FacturXBegin() ExempleImpression ;impression d'une édition FacturXEnd() ;fermeture des modules MapiClose programexit