Comparaison des versions
Légende
- Ces lignes ont été ajoutées. Ce mot a été ajouté.
- Ces lignes ont été supprimées. Ce mot a été supprimé.
- La mise en forme a été modifiée.
Deux modules Diva sont à utiliser pour lire ou écrire des informations Factur-X
yMetaDataOpen.dhop
Fonctions du module
Développer | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
function int MetaDataOpen
function int MetaDataClose
function int MetaDataExtractFacturxToFile(fichier,fichierxml,&txterr,options)1 fichier A ;fichier pdf a lire avec un chemin windows 1 txterr A ;texte d'erreur si la fonction renvoi <> 0
Le fichierxml doit déjà exister. On peut le créer avec la séquence suivante
puis le supprimer
function int MetaDataExtractMetadataToFile(fichier,fichierxml,&txterr,options)1 fichier A
Fichier xmp ou xmnpC'est un fichier xml qui decrit le type de fichier pdf , il contient le titre du fichier, la date de création et certaine informations comme le mode pdf a 3, la liste des mot clés, c'est dans ce fichier que divalto écrit les informations provenant de err = MetaDataModele("BASIC") ;par défaut BASIC et les caractéristiques du fichier pdf Vous pouvez trouver la définition d'un fichier "xmp metadata pdf" sur internet Voici un exemple :
|
Fournir un autre modèle xmp
Développer | ||||
---|---|---|---|---|
Harmony a un modèle de base d'un fichier xmp mais on peut lui fournir un autre modèle s'il faut au moment de la génération du fichier dhvw avec la commande err = MetaDataFileMetaData( "chemin et fichier xml au format windows a prendre comme modèle xmp") ou alors de façon globale a toute les impressions en mettant dans regedit on peut saisir ce paramètre dans divaltoViewer -> menu Options => Paramètres => Convertion PDF => bouton Mode PDFA => Prendre le fichier XMNP par défaut sinon prendre ce fichier XMNP le fichier sera intégré au fichier dhwv et c'est lui qui servira de modèle xmp lors de la conversion du dhvw en pdf les mots clés
si on personnalise le fichier xmp , vous pouvez ajouter 3 mots clés qui seront remplacés par leurs valeurs %%metadataParam1%% ce sont 3 valeurs que l'on peut positionner lorsqu'on crée le dhvw dans le code diva en utilisant la fc %%metadataParam2%% MetaDataOptions("PARAM1","xxxxx") MetaDataOptions("PARAM2","xxxxx") MetaDataOptions("PARAM3","xxxxx") %%metadataParam3%% contenu du fichier xmp que prend divaltoviewer et qui intégré dans divaltoviewer
|
Fournir un autre modèle ICC
Développer |
---|
Harmony a aussi un modèle de base d'un ICC (description du modèle des couleurs, par défaut harmony à un fichier de couleur de base de winddows sRGB IEC61966-2-1) mais qu'on peut lui fournir un autre modèle ICC s'il faut au moment de la génération du fichier dhvw avec la commande Ordinateur\HKEY_CURRENT_USER\SOFTWARE\Divalto\divalto.ini on peut saisir ce paramètre dans DivaltoViewer -> menu Options => Paramètres => Conversion PDF |
yFacturX.dhop
Fonctions du module - globales
Développer | ||
---|---|---|
| ||
function int FacturXBegin(option)Chargement de la dll facturx.
function int FacturXEnd(option)Déchargement de la dll facturx function int FacturXGetVersionfunction int FacturXGetDLLVersionfunction char FacturXGetErreurCette fonction renvoi la liste des erreurs en cours et supprime a chaque fois le texte de l’erreur qu’elle vient de renvoyer au programme diva. Le programme reçoit donc toujours les dernières erreurs non lues par lui
|
Fonctions du module - Lecture factur-x
Développer | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
function char FacturXReadOpen(fichier,option)1 fichier A Lecture d'un fichier xml facturx, elle ouvre le fichier et charge la description xml Retour :
function char FacturXReadClose(option)1 option x = 0 ;pour évolution future Fermeture du fichier xml facturx , elle libère le fichier (on peut apres le supprimé par exemple)
function char FacturXGetGlobalProps(&liste,option)1 liste L Renvoi la liste des propriétés globales SAUF les lignes détails, ainsi que les listes de tableaux de dictionnary
Attention : cela crée des dictionnary, il faut utiliser la fonction FacturXDictionaryDestroy apres avoir traiter les propriétés. Pour rechercher si un élément existe , il faut utiliser la fonction DictionarySearch (ident , clé, élément) en fonction de ce que vous traité dans le programme diva voir aussi les fonctions DictionaryBegin et DictionaryNext pour parcourir une liste de dictionnary. exemple
On peut donc recevoir une liste de propriétés (voir la page dédiée) function char FacturXGetGlobalNotes(&liste,option)Renvoi la liste des notes globales , c’est uniquement si on veut traiter les notes C’est une fonction a part car cela peut être optionnel si on ne traite pas la gestion des notes dans facturx 1 liste L
function char FacturXGetGlobalDocumentsInFiles(&liste,option)Renvoi la liste des documents globaux, c’est uniquement si on veut traiter les fichiers joints C’est une fonction a part car cela peut être optionnel si on ne traite pas la gestion des fichiers joints dans facturx et cella peut demander plus de temps cpu pour charger les joints et ca crées des fichiers temporaires. Attention : cela crée des dictionnary, il faut utiliser la fonction FacturXDictionaryDestroy apres avoir traiter les propriétés. Il faut les supprimés à la fin du traitement en appelant la fonction FacturXDeleteTmpFiles(). Si on les supprimes directement dans le programme diva alors il faut appeler la fonction FacturXClearListTmpFiles() pour vider la liste des fichiers à supprimés qui se trouve dans la dll. 1 liste L
function char FacturXGetLineProps(&liste,option)1 liste L Renvoie la liste des props d'une ligne détail Retour :
Attention : cela crée des dictionnary, il faut utiliser la fonction FacturXDictionaryDestroy apres avoir traiter les propriétés.
function char FacturXGetLineNotes(&liste,option)1 liste L Renvoie la liste des note de la ligne détail en cours Attention : cela crée des dictionnary, il faut utiliser la fonction FacturXDictionaryDestroy apres avoir traiter les propriétés.
function char FacturXGetLineDocumentsInFiles(&liste,option)1 liste L Renvoie la liste des documents de la ligne détail en cours
Attention : cela crée des dictionnary, il faut utiliser la fonction FacturXDictionaryDestroy apres avoir traiter les propriétés. Il faut les supprimés à la fin du traitement en appelant la fonction FacturXDeleteTmpFiles(). Si on les supprimes directement dans le programme diva alors il faut appeler la fonction FacturXClearListTmpFiles() pour vider la liste des fichiers à supprimés qui se trouve dans la dll.
procedure FacturXDictionaryDestroySupprime les dictionary qui sont dans la liste dictionary à supprimer function char FacturXDeleteTmpFilesLes fonctions suivantes
génèrent des fichiers temporaires, à chaque création d'un fichier temporaire (stockés dans un liste interne) Cette fonction permet de supprimer tous ces fichiers lorsqu'on fini de les traitées On peut appeler cette fonction quand on veut, si la liste des fichiers temporaires est vide, cette fonction ne fait rien et retourne dans diva function char FacturXClearListTmpFilesEn alternative à FacturXDeleteTmpFiles, cette fonction permet de vider la liste des fichiers temporaire, dans ce cas c'est au programme diva de traiter ce qu'il doit faire avec ces fichiers temporaires. On peut appeler cette fonction quand on veut, si la liste des fichiers temporaires est vide, cette fonction ne fait rien et retourne dans diva procedure FacturXAppendDictonaryDestroy(wliste)1 wliste L Ajoute un ident d'un dictionary à la liste des dictionary à supprimer function int FacturXOption(option,valeur)1 option A |
Fonctions du module - Ecriture factur-x
Développer | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
function char FacturXWriteProps(dictionary,option)1 dictionary L Apres avoir alimenté la ou les listes de Dictionnary , il faut envoyer le tout à la dll en lui donnant l’identification du dictionnary principal. Attention: les propriétés sont toutes les propriétés globales, celles de la liste de la fonction FacturXGetGlobalProps donc SAUF celles des lignes détail , car elles sont écrites en une seule fois par la fonction FacturXWriteEnd, car le code xml généré dépands de différent critères selon la valeurs d’autres propriétés, on ne peut donc générer les propriétés globales du fichier xml que lorsqu’on a toutes les valeurs. On peut faire plusieurs FacturXWriteProps , par exemple faire un FacturXWriteProps pour les propriétés de bases puis un FacturXWriteProps pour les taxes puis un FacturXWriteProps pour les charges etc. Si lors de ce processus, une propriétés existe déjà, la nouvelle valeur remplace l’ancienne valeur. A noter que cette fonction lit les différents dictionnary et les supprimes les uns après les autres , il ne faut donc pas les supprimés dans votre code diva, cette fonction le fait a votre place. Attention : il peut y avoir plusieurs erreur, il faut donc utiliser ce code diva
function char FacturXWriteEnd(fichier,option)1 fichier A ;fichier qui va recevoir le texte xml avec un chemin windows Cette fonction génère le fichier xml , elle écris les propriétés globales et les lignes détailles Le champs fichier doit contenir le chemin et le nom d’un fichier, celui ci doit existé . La fonction efface le contenu du fichier et écris le code xml. Pour créer le fichier , vous pouvez utiliser le code div suivant :
Attention : il peut y avoir plusieurs erreur, il faut donc utiliser ce code diva
function char FacturXWritePropsLine(dictionary,option)1 dictionary L Apres avoir alimenter la ou les listes de Dictionnary mais que pour les lignes , il faut envoyer la ligne à la dll en plus donnant l’identification du dictionnary principal de la ligne . On peut faire plusieurs FacturXWritePropsLine pour une même ligne, par exemple un FacturXWritePropsLine pour les propriétés de bases de la lignes , puis un FacturXWritePropsLine pour les taxes, puis un FacturXWritePropsLine pour les charges etc, Si lors de ce processus, une propriétés existe déjà, la nouvelle valeur remplace l’ancienne valeur. Quand on a fini de mettre en place les propriétés d’une ligne il faut exécuter la fonction FacturXWriteLine. A noter que cette fonction lit les différents dictionnary et les supprimes les uns après les autres , il ne faut donc pas les supprimés dans votre code diva, cette fonction le fait a votre place.
Attention : il peut y avoir plusieurs erreur, il faut donc utiliser ce code diva
function char FacturXWriteLine(option)1 option x = 0 Ecrit définitivement une ligne avec toutes ces propriétés, efface les valeurs en cours et se remet en position pour accepter une nouvelle ligne. Attention, on ne peut pas modifier une ligne déjà écrite, il faut donc appeler cette fonction a la fin du processus de la création d’une ligne , lorsqu' on veut passer à la ligne suivante. Attention : il peut y avoir plusieurs erreur, il faut donc utiliser ce code diva
|
Sommaire |
---|