# myFAB Tools

Bibliothèque de fonctions et de méthodes packagées par 1Life à mettre en œuvre pour votre paramétrage avancé d'Open-Prod.

# Règle générale

Globalement, et pour chaque méthode utilisable et présente dans <span style="color: rgb(132, 63, 161);">**myfab Tools**</span>, il faut passer par une instance du modèle **mf.tool** pour pouvoir appeler et utiliser ces méthodes. Par exemple :

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">self</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.env\[</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"mf.tools"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">\].mf\_get\_file\_name\_extension(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">file\_to\_convert\_name</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">)</span>

Dans le cas où il y a besoin d'utiliser plusieurs fois les "tools" dans la même méthode ou la même action serveur, on peut mettre l'instance dans une variable. Par exemple :

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> = </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">self</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.env\[</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"mf.tools"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">\]</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #c586c0; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">if</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">self</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_protocol</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> == </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"ftp"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">:</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #c586c0; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">return</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.mf\_login\_to\_ftp(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_ftp\_adress</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_login</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_password</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">)</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #c586c0; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">elif</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">self</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_protocol</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> == </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"sftp"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">:</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #c586c0; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">return</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.mf\_login\_to\_sftp(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_ftp\_adress</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_login</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">mf\_password</span>

Les pages suivantes présentent des exemples d'utilisation des différents outils mis à disposition dans le module <span style="color: rgb(132, 63, 161);">**myfab Tools**</span>.

# Gestion de fichier

Le tableau ci-dessous reprend les différentes méthodes utilisables, avec un exemple et une description ainsi que les données d'entrée et de sortie attendues.

<table border="1" id="bkmrk-m%C3%A9thode-donn%C3%A9es-d%27en" style="border-collapse: collapse; width: 101.605%; height: 305.938px;"><colgroup><col style="width: 55.377%;"></col><col style="width: 24.4747%;"></col><col style="width: 20.1483%;"></col></colgroup><tbody><tr style="height: 29.7969px; background-color: rgb(236, 240, 241);"><td style="height: 29.7969px;">**Méthode / Exemple**</td><td style="height: 29.7969px;">**Données d'entrée**</td><td style="height: 29.7969px;">**Données de sortie**</td></tr><tr style="height: 140.172px;"><td style="height: 140.172px;">**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_get\_file\_name\_extension(file\_name)</span>**

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #c586c0; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">if</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">self</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.env\[</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"mf.tools"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">\].mf\_get\_file\_name\_extension(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">file\_to\_convert\_name</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">) </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #569cd6; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">in</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> \[</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">'CSV'</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">'TXT'</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">\]:</span>

*Dans ce cas-là on s’en sert pour vérifier si l’extension du fichier est CSV ou TXT pour faire un traitement spécifique pour ces fichiers.*

</td><td style="height: 140.172px;">Prend une chaine de caractères en entrée qui est un nom de fichier.  
</td><td style="height: 140.172px;">Retourne une chaine de caractères qui a pour valeur l’extension de nom de fichier qui a été passé en entrée.  
</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px;">**mf\_get\_file\_name\_without\_extension (file\_name)**

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">xlsx\_file\_name</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> = </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">self</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.env\[</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"mf.tools"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">\].mf\_get\_file\_name\_without\_extension(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">file\_to\_convert\_name</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">) + </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">'.XLSX'</span>

</td><td style="height: 35.3906px;">Prend une chaine de caractères en entrée qui est un nom de fichier.</td><td style="height: 35.3906px;">Retourne une chaine de caractères qui a pour valeur le nom de fichier sans l’extension.</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px;">**<span lang="EN-US" style="mso-ansi-language: EN-US;">create\_then\_go\_to (folder)</span>**

*<span lang="EN-US" style="mso-ansi-language: EN-US;">Créer le dossier si besoin puis déplace le curseur dedans.</span>*

</td><td style="height: 35.3906px;">Prend une chaine de caractères en entrée qui est un chemin absolu ou relatif vers un dossier qui existe ou non.</td><td style="height: 35.3906px;">Ne retourne rien.</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px;">**save\_file (file\_name,file\_content)**

*Créer le fichier avec le nom et le contenu fourni.*

</td><td style="height: 35.3906px;">Prend en entrée une chaine de caractères qui représente le nom du fichier avec son extension et une chaine caractères avec le contenu du fichier.</td><td style="height: 35.3906px;">Ne retourne rien.</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**save\_file\_as\_document (file\_name,file\_content,record)**

*Crée un document Open-Prod puis le lie avec la donnée passée en paramètre s’il y a un champ vers le modèle document.openprod.*

</td><td style="height: 29.7969px;">Prend en entrée une chaine de caractères qui représente le nom du fichier avec son extension et une chaine de caractères avec le contenu du fichier et la donnée sur laquelle lier le document (non obligatoire).</td><td style="height: 29.7969px;">Retourne l’objet document qui a été créé.</td></tr></tbody></table>

<span style="text-decoration: underline;">**Exemple action serveur pour imprimer un BL dans un fichier (avec le modèle jasper ayant l'ID=100)**</span>

[![image.png](https://docs.myfab.fr/uploads/images/gallery/2024-09/scaled-1680-/hhqimage.png)](https://docs.myfab.fr/uploads/images/gallery/2024-09/hhqimage.png)

# Gestion FTP / SFTP / FTS TLS

#### 1. Protocole FTP Standard

Toutes les méthodes FTP fonctionnent globalement sur le même principe, aussi seules les méthodes pour le FTP standard sont explicitées ci-dessous.

<table border="1" id="bkmrk-m%C3%A9thode-donn%C3%A9es-d%27en"><tbody><tr style="background-color: rgb(236, 240, 241);"><td>**Méthode / Exemple**</td><td>**Données d'entrée**</td><td>**Données de sortie**</td></tr><tr><td>**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_login\_to\_ftp(ftp\_adress,login,password)</span>**

</td><td>Prend en entrée une adresse FTP, le login et le mot de passe qui sont tous des chaines de caractères.  
</td><td>Retour une instance de la connexion ftp qui sera utilisée par les méthodes suivantes.  
</td></tr><tr><td>**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_ftp\_move\_to\_folder(ftp,folder)</span>**

</td><td>Prend en entrée une instance de connexion FTP et une chaine de caractères qui représente le dossier dans lequel on souhaite déplacer le curseur.</td><td>Ne retourne rien.

</td></tr><tr><td>**mf\_send\_file\_to\_ftp(ftp,file\_name,delete)**

</td><td>Prend en entrée une instance de connexion FTP, une chaine de caractères qui représente le nom fichier local que l’on souhaite envoyer sur le serveur distant et un booléen qui sert à indiquer si l’on souhaite supprimer le fichier une fois l’envoi fait.</td><td>Ne retourne rien.</td></tr><tr><td>**mf\_quit\_ftp(ftp)**

*Ferme la connexion FTP.*

</td><td>Prend en entrée une instance de connexion FTP.</td><td>Ne retourne rien.</td></tr><tr><td>**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_ftp\_get\_all\_files(ftp,delete)</span>**

*Crée un document openprod puis le lie avec la donnée passée en paramètre s’il y a un champ vers le modèle document.openprod.*

</td><td>Prend en entrée une instance de connexion FTP et un booléen qui sert à indiquer si l’on souhaite supprimer les fichiers du serveur distant une fois qu’ils ont été récupérés.</td><td>Retourne une liste avec tous les noms des fichiers récupérés.</td></tr></tbody></table>

Exemple d'utilisation d'une connexion FTP :

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">ftp</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> = </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.mf\_login\_to\_ftp(adress,login,password)</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.mf\_ftp\_move\_to\_folder(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">ftp,folder</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">)</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.mf\_send\_file\_to\_ftp(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">ftp</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">, </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #4ec9b0; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">str</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">self</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.number)+</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">".csv",True</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">)</span>

#### 2. Protocole FTP TLS

Le protocole FTP TLS utilise les mêmes méthodes que le FTP standard sauf pour le login :

**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_login\_to\_ftp\_tls(ftp\_adress,login,password)</span>**

#### 3. Protocole SFTP

Variantes de méthodes propres au protocole SFTP :

- **mf\_login\_to\_sftp(sftp\_adress,login,password)**
- **mf\_sftp\_move\_to\_folder(sftp,folder)**
- **mf\_send\_file\_to\_sftp(sftp,file\_name,delete)**
- **mf\_sftp\_get\_all\_files(sftp,delete)**
- **mf\_sftp\_get\_file\_by\_name(sftp,file\_name, delete)**

# Impressions Jasper

Via la méthode ci-dessous, on peut manipuler l'impression de documents Jasper :

<table border="1" id="bkmrk-m%C3%A9thode-donn%C3%A9es-d%27en" style="width: 100%; height: 76.3906px;"><tbody><tr style="background-color: rgb(236, 240, 241); height: 10px;"><td style="width: 30.4079%; height: 10px;">**Méthode / Exemple**</td><td style="width: 34.2368%; height: 10px;">**Données d'entrée**</td><td style="width: 35.2317%; height: 10px;">**Données de sortie**</td></tr><tr style="height: 66.3906px;"><td style="width: 30.4079%; height: 66.3906px;">**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_print\_report(report\_id,record)</span>**

</td><td style="width: 34.2368%; height: 66.3906px;">Prend en entrée un enregistrement du modèle jasper.report et la donnée à partir de laquelle on veut imprimer le document.  
</td><td style="width: 35.2317%; height: 66.3906px;">Retourne le contenu du rapport PDF en chaine de caractère, le format du document imprimé (PDF) et le nom du modèle du rapport.   
</td></tr></tbody></table>

Combiné avec la méthode de sauvegarde de fichier ci-dessus on peut créer un fichier pdf sur le serveur local. Exemple d'utilisation :

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">report\_file</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">, </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">report\_format</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">, </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">model\_report</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> =</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"> </span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.mf\_print\_report(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">config</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.mf\_invoice\_report\_to\_print,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">invoice</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">)</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">tools</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.save\_file(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">invoice</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">.number.replace(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"/"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"\_"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">)+</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">".pdf"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">,</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">report\_file</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">)</span>

<span style="text-decoration: underline;">**Exemple action serveur pour imprimer un BL dans un fichier (avec le modèle jasper ayant l'ID=100)**</span>

[![image.png](https://docs.myfab.fr/uploads/images/gallery/2024-09/scaled-1680-/hhqimage.png)](https://docs.myfab.fr/uploads/images/gallery/2024-09/hhqimage.png)

# Création/Manipulation de fichier XML

Les méthodes suivantes permette de créer et manipuler les fichiers XML . Cela peut par exemple servir pour exporter un fichier XML à partir de données d'Open-Prod depuis une action serveur par exemple.

<table border="1" id="bkmrk-m%C3%A9thode-donn%C3%A9es-d%27en" style="width: 100%; height: 76.3906px;"><tbody><tr style="background-color: rgb(236, 240, 241); height: 10px;"><td style="width: 34.3452%; height: 10px;">**Méthode / Exemple**</td><td style="width: 30.2683%; height: 10px;">**Données d'entrée**</td><td style="width: 35.3336%; height: 10px;">**Données de sortie**</td></tr><tr style="height: 66.3906px;"><td style="width: 34.3452%; height: 66.3906px;">**<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">mf\_get\_lxml\_libary()</span></span>**

<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">Exemple :</span></span>

<span style="color: black; mso-color-alt: windowtext;">lxml = env\['mf.tools'\].mf\_get\_lxml\_libary()  
etree=lxml.etree</span>

<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"> </span></span>

</td><td style="width: 30.2683%; height: 66.3906px;">--  
</td><td style="width: 35.3336%; height: 66.3906px;">Retourne la librairie lxml  
</td></tr><tr><td style="width: 34.3452%;">**<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">lxml\_element\_get\_text(xml)</span></span>**

</td><td style="width: 30.2683%;">Objet Element de la la librairie etree</td><td style="width: 35.3336%;">Texte de l'objet Element donnée en paramétre</td></tr><tr><td style="width: 34.3452%;">**<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">lxml\_element\_get\_tag(xml)</span></span>**

</td><td style="width: 30.2683%;">Objet Element de la la librairie etree</td><td style="width: 35.3336%;">Nom de l'objet Element donnée en paramétré</td></tr><tr><td style="width: 34.3452%;">**<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">lxml\_element\_set\_text(xml,text)</span></span>**

</td><td style="width: 30.2683%;">Objet Element de la la librairie etree

,Texte à mettre dans la balise

</td><td style="width: 35.3336%;">Objet Element modifié</td></tr><tr><td style="width: 34.3452%;">**<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: FR; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">lxml\_element\_set\_ta(xml,tag)</span></span>**

</td><td style="width: 30.2683%;">Objet Element de la la librairie etree

,Nom à affecter à la balise

</td><td style="width: 35.3336%;">Objet Element modifié</td></tr></tbody></table>

  
Exemple : dans une action serveur

```python
tools = env['mf.tools']
etree = tools.mf_get_lxml_libary().etree

data_xml_de_base="""<?xml version="1.0" encoding="utf-8"?>
<ProcessMaterialInformation>
	<ApplicationArea>
        <Sender>
            <LogicalID>OPP</LogicalID>
        </Sender>
        <Receiver>
            <ID>QUBES</ID>
        </Receiver>
        <CreationDateTime>2010-07-22T11:20:33</CreationDateTime>
	</ApplicationArea>
    <DataArea>
		<Process>
		</Process>
		<MaterialInformation>
			<ID>ItemsDefinition</ID>
			<Description>Material classes and material definitions for all the items</Description>
			<PublishedDate>2010-07-22T11:20:33</PublishedDate>
		</MaterialInformation>
	</DataArea>
</ProcessMaterialInformation>
"""


xml=etree.fromstring(data_xml_de_base)
#incrément auto à chaque export  : sequence code ITEM_QUBES
res=env['ir.sequence'].next_by_code('ITEM_QUBES')
BODID=etree.SubElement(xml,'BODID') # crée balise BODID dans la balise root du xml
tools.lxml_element_set_text(BODID,res) #affecte valeur texte à la balise créé

#Ajoute une balise article pour chaque produit en vie avec une sous balise id et description
MaterialInformations= xml.xpath("//MaterialInformation")
article_rcs=env['product.product'].search([('state','=','lifeserie')])
for MaterialInformation in MaterialInformations:
    for article_rc in article_rcs: 
        #  créer une sous balise MaterialDefinition dans MaterialInformation
        MaterialDefinition=etree.SubElement(MaterialInformation,'MaterialDefinition')# crée balise MaterialDefinition
        #  Créer balise ID avec la valeur -> code
        codep=etree.SubElement(MaterialDefinition,'ID')
        tools.lxml_element_set_text(codep,article_rc.code)
        #   Créer balise Description avec la valeur -> name
        codep=etree.SubElement(MaterialDefinition,'Description')
        tools.lxml_element_set_text(codep,article_rc.name)
#Récupère le contenu en texte
file_content=etree.tostring(xml)
#sauvegarde le text dans fichier sur le serveur
env['mf.tools'].save_file("/home/openprod/Documents/toto.xml",file_content)
#affiche le contenu
#raise Warning(etree.tostring(xml))

```

# Traitement BL mf_do_partial_picking

Cette méthode permet de traite un picking en précisant les ids des lignes à traiter ainsi que les quantités pour chaque ligne. Les lignes de mouvements du picking qui ne seront forcées avec une quantité à 0.

<table border="1" id="bkmrk-m%C3%A9thode-donn%C3%A9es-d%27en" style="border-collapse: collapse; width: 101.605%; height: 305.938px;"><colgroup><col style="width: 55.377%;"></col><col style="width: 24.4747%;"></col><col style="width: 20.1483%;"></col></colgroup><tbody><tr style="height: 29.7969px; background-color: rgb(236, 240, 241);"><td style="height: 29.7969px;">**Méthode / Exemple**</td><td style="height: 29.7969px;">**Données d'entrée**</td><td style="height: 29.7969px;">**Données de sortie**</td></tr><tr style="height: 140.172px;"><td style="height: 140.172px;">**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_do\_partial\_picking(picking\_id, move\_ids, qtys)</span>**

<span lang="EN-US" style="mso-ansi-language: EN-US;">*Traitement ddes lignes 614 et 615 du picking d'id 68 avec quantité 5 et 3.*</span>

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">env\[</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #ce9178; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">"mf.tools"</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">\].**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_do\_partial\_picking</span>**(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">68,\[614,615\],\[5,3\]</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"><span style="color: #d4d4d4;">)</span></span>

exemple utilisation API openprod :

```json
URL : {{url serveur}} /web/api/endpoint
{
"db":{{base}},
"token":{{token}},
"model":"mf.tools",
"method": "call_kw",
"call_method": "mf_do_partial_picking",
"args":[],
"kwargs":[["picking_id",68],["move_ids",[614,615]],["qtys",[5,3]]]
}

```

</td><td style="height: 140.172px;">picking\_id : id du picking a traiter

move\_ids : liste des id des mouvements à traiter

qtys : liste des quantités à traiter (correspondant au mouvements de la liste move\_ids)

</td><td style="height: 140.172px;">True sur l'opération à réussi.  
</td></tr></tbody></table>

# Recalcule des taxes de vente mf_recompute_sale_info()

Cette méthode permet de recalculer les taxes d'une vente (elle peut par exemple être appelé depuis un appel API.

<table border="1" id="bkmrk-m%C3%A9thode-donn%C3%A9es-d%27en" style="border-collapse: collapse; width: 101.605%; height: 305.938px;"><colgroup><col style="width: 55.377%;"></col><col style="width: 24.4747%;"></col><col style="width: 20.1483%;"></col></colgroup><tbody><tr style="height: 29.7969px; background-color: rgb(236, 240, 241);"><td style="height: 29.7969px;">**Méthode / Exemple**</td><td style="height: 29.7969px;">**Données d'entrée**</td><td style="height: 29.7969px;">**Données de sortie**</td></tr><tr style="height: 140.172px;"><td style="height: 140.172px;">**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_recompute\_sale\_info()</span>**

<span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #d4d4d4; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;">sale\_order\_id.**<span lang="EN-US" style="mso-ansi-language: EN-US;">mf\_recompute\_sale\_info</span>**(</span><span lang="EN-US" style="font-size: 10.5pt; font-family: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: #9cdcfe; mso-font-kerning: 0pt; mso-ligatures: none; mso-ansi-language: EN-US; mso-fareast-language: FR;"><span style="color: #d4d4d4;">)</span></span>

exemple utilisation API openprod :

```json
URL : {{url serveur}} /web/api/endpoint
{
"db":{{base}},
"token":{{token}},
"model":"sale.order",
"method": "call_kw",
"call_method": "mf_recompute_sale_info",
"ids":[521],
"kwargs":[]
}

```

</td><td style="height: 140.172px;">Vente en cours

</td><td style="height: 140.172px;">True sur l'opération à réussi.  
</td></tr></tbody></table>