ATOUTFOX
    COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO

Forum AtoutFox

Le forum AtoutFox

Forum

RSS © www.atoutfox.org - Forum

Re: XFRX Exemple
Merci en fait il faut :
set classlib to (home()+"ffc\_reportlistener")

Je ne sais pas pourquoi ce n'est pas inclus dans l'exemple.

Maintenant ça "March", j'ai un autre problème, dans le PDF j'ai que les "Label"s mais pas les données ...


Wed, 07 Oct 2026 17:12:00 GMT

Re: XFRX Exemple
Il doit manquer la déclaration suivante:
Set proc to utilityreportlistener.prg additive
Cdlt
Gilles


Sat, 03 Oct 2026 17:12:00 GMT

Re: XFRX Exemple
ouvrir un ticket chez eqeus : ils sont réactif
mais pour cela tu dois faire un zip avec un exemple minimaliste de ta config

personnellement je n'ai pas de problème comme beaucoup d'autres : est-ce ta première utilisation du xfrx ?


Fri, 02 Oct 2026 17:12:00 GMT

Re: XFRX Exemple
Merci Françis , mais ...


Dossier C:\Amos\XFRX

02/10/2026 15:24 .
02/10/2026 15:24 ..
18/11/2025 15:36 138ÿ876 demo9.sct
18/11/2025 15:36 10ÿ734 demo9.scx
18/11/2025 15:38 demoreps
18/11/2025 15:38 drilldownsample
18/11/2025 15:36 22ÿ219 entity.zlib
18/11/2025 15:36 259ÿ584 hndlib.dll
18/11/2025 15:36 305ÿ664 hndlib64.dll
18/11/2025 15:38 localization
18/11/2025 15:38 nogdip
07/10/2025 05:42 prevdemo
18/11/2025 15:36 1ÿ693 testeqeus.pfx
18/11/2025 15:36 30ÿ943 utilityreportlistener.zip
18/11/2025 15:36 3ÿ018ÿ044 xfrx.fxp
18/11/2025 15:36 6ÿ656 xfrx.sign.net.exe
18/11/2025 15:36 844 xfrx.sign.net.exe.config
18/11/2025 15:38 xfrxlib
18/11/2025 15:37 79ÿ872 xfrxlib.fll
18/11/2025 15:37 171ÿ520 xfrxlib64.fll
18/11/2025 15:37 4ÿ032 xfrxproxy.prg
18/11/2025 15:37 25ÿ088 xfrxt.exe
18/11/2025 15:37 17ÿ849 xfrx_release.prg
18/11/2025 15:37 6ÿ108 xlsxtemplate.zip
18/11/2025 15:37 147ÿ968 zlib.dll
18/11/2025 15:37 172ÿ032 zlib64.dll



set path to xfrx additive
set proc to xfrx\xfrx.fxp
LOCAL m.loSession
m.loSession = XFRX("XFRX#LISTENER")


Erreur : Class definition UTILITYREPORTLISTENER not found ...




Fri, 02 Oct 2026 17:12:00 GMT

Re: XFRX Exemple
Bonjour Amos
essayer un
set proc to xfrx

dans ton répertoire tu dois avoir xfrx.fxp mais aussi les dll et fll
Cordialement


Fri, 02 Oct 2026 17:12:00 GMT

Re: XFRX Exemple
set path to xfrx additive
LOCAL m.loSession
m.loSession = XFRX("XFRX#LISTENER")

j'ai une erreur - le fichier xfrx.prg n'existe pas ...
dans le dossier xfrx il y a que xfrx.fxp




Fri, 02 Oct 2026 17:12:00 GMT

Re: Impression en Noir et Blanc
Bonjour,
Cela m'est déjà arrivé.. le report contient des données corrompues.
La seule manière que j'ai trouvé pour résoudre ce soucis, c'est de rebâtir complètement le report "from scratch".
Cdlt
Gilles


Mon, 28 Sep 2026 17:12:00 GMT

Re: Impression en Noir et Blanc
Bonjour chers amis.
Je pensais avoir résolu mon problème d'impression mais il demeure.
Dans les paramètres Windows des imprimantes et scanners, l'imprimante est belle et bien en couleur par défaut.
Tous mes états impriment le logo en couleur sauf un état qui lui s'imprime en gris.
Mon imprimante est un HP Laserjet Color. J'ai même essayé sur une autre imprimante couleur HP, pareil.



Thu, 24 Sep 2026 17:12:00 GMT

Fermer un site web hébergeant un fichier d'Aide
Bonjour à tous,
Je parviens à ouvrir mon fichier d'Aide .HTML ou .CHM hébergé sur un site web à travers le code ci-après : ShellExecute(0,"open","https://www.monsite.com","Aide.html","",1). Le fichier s'ouvre chaque fois que l'Utilisateur appuie sur F1. Mais je n'arrive pas fermer le fichier d'Aide en quittant le Logiciel malgré le code ci-après : ShellExecute(0,"close","https://www.monsite.com","Aide.html","",1). Le logiciel ferme mais le fichier d'aide reste ouvert, sauf à fermer la page contenant le fichier. Je compte sur votre concours pour m'aider à résoudre cette situation. Merci d'avance.
Cordialement.
Damonzon.


Thu, 24 Sep 2026 17:12:00 GMT

Re: XFRX Exemple
oups !

Jean à Grenoble

--
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Thu, 10 Sep 2026 17:12:00 GMT

Re: Factur-x
Bonjour,

La nouvelle norme AFNOR (je ne sais plus est son N°) décrit depuis Juillet 2026 les caractéristiques d'une interface de type API REST entre les logiciels externes de facturation, de comptabilité, etc.. et les PA (plateforme agrée).
Tous les PA ne vont pas forcément inclure cette API, mais la majorité le feront.
Cette interface ne défini pas la structure des fichiers échangés surtout dans le sens logiciels externes vers PA
Certains de ces PA généreront directement les factures aux format adhoc (Facturx, ucl, etc..) à partir d'informations transmises par les logiciels externes sous forme de fichiers dont la structure du contenu sera spécifique au PA., d'autres choisront de réceptionner des fichiers déjà au format PDF/A3 facturX de profil EXTENDED

Dans nos situations, on pourra choisir un PA d'émission de nos éléments de facturations pour n'avoir qu'un unique développement pour y déposer nos factures et ce quelques nos clients et leur propre PA de réception des factures fournisseurs.

Pour générer un fichier PDA/A3b avec son XML facturx.xml embarqué, il n'est point besoin de manipuler de l'XML (bien que ce soit plus évolutif), il suffit d'avoir des fichiers prototypes XML (un pour la zone d'entête, un pour les zones de détails et un pour la zone pied de facture) et d'utiliser XFRX 25 pour générer le PDF A3 et y encapsuler le fichier XML facturX généré à partir des prototypes.
Pour générer le fichier XML final, il suffit de substituer sous Foxpro, des variables VFP dans la copie des prototypes par les éléments de la facture provenant des tables gérées par Foxpro.

Cdlt


Thu, 10 Sep 2026 17:12:00 GMT

Re: XFRX Exemple
Amos,
les infos sont visibles sur le site de XFRX https://eqeuscom.atlassian.net/wiki/spaces/DOC/pages/3899421/Developer+s+guide


Thu, 10 Sep 2026 17:12:00 GMT

Re: XFRX Exemple
Jean,
ce n'est pas du XFRX d'utilisé dans ton exemple mais la fonction d'exportation en PDF de FoxyPreviewer..
Cdlt


Thu, 10 Sep 2026 17:12:00 GMT

Factur-x
Bonjour à tous,
Oui, c'est d'actualité !
Pour le moment et en tant que petite entreprise, nous avons besoin de pouvoir réceptionner une facture électronique. J'ai donc choisi Super Pdp pour sa simplicité, son coût (gratuit) si l'on viens télécharger manuellement les factures sur le site.
Après avoir parcouru les docs techniques de Factur-x, j'ai l'impression d'avoir une usine à gaz en face de moi. D'abord, parce ce que je ne connais que très peu XML et ensuite que la conception d'une facture électronique demande plein de paramètres/schémas associés ! Rien que de lire la base d'unités de mesure donne l'idée du gaz employé !
Mais, face à cela, il faut que nous intégrions cela à nos système de gestion.
A ce propos, j'ai développé pour ma petite société un logiciel de gestion + comptabilité largement suffisant pour mes besoins (sous Vfp9.
Aussi, quelqu'un a-t-il développé quelque chose pour lire une factur-x ? Pour créer une factur-x ?
Merci pour vos retours.
En vous souhaitant une excellente journée.
Benoît



Thu, 10 Sep 2026 17:12:00 GMT

Atoutfox ... non sécurisé
Bonjour à tous,
Je reviens fréquemment faire un tout sur le site Atoutfox et depuis peu, cela me signale que la connexion n'est pas sécurisée sous Firefox 155 et Linux Mint.
Je tenais à le signaler.
En vous souhaitant une excellente journée.

Benoît


Thu, 10 Sep 2026 17:12:00 GMT

Re: XFRX Exemple
Bonsoir Amos,

j'ai trouvé cet exemple dans la doc XFRX. Est-ce que cela te suffit où te
faut-il quelque chose de plus complet (dans mon logiciel pour écoles, j'ai fait
une procédure 'complexe' !).

DO LOCFILE("FoxyPreviewer.Prg")

* Make PDF
REPORT FORM ;
(_Samples + "\Solution\Reports\Invoice.frx") ;
OBJECT TYPE 11 ; && OBJTYPE 10 = PDF , 11 = PDF AS IMAGE
TO FILE "c:\TestReport2.Pdf" ; && Destination
PREVIEW && Open the default PDF viewer

*!* * Make RTF
*!* REPORT FORM ;
*!* (_Samples + "\Solution\Reports\Wrapping.frx") ;
*!* OBJECT TYPE 12 ; && OBJTYPE 10 = PDF , 11 = PDF AS IMAGE, 12 = RTF
*!* TO FILE "c:\TestReport.Rtf" ; && Destination
*!* PREVIEW && Open the default RTF viewer

Jean à Grenoble

--
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Tue, 08 Sep 2026 17:12:00 GMT

XFRX Exemple
Bonjour,
Est-ce que quelqu'un peut me donner un exemple de code pour XFRX pour imprimer une édition en PDF ?
Merci,
Amos


Tue, 08 Sep 2026 17:12:00 GMT

Re: Aperçu avant impression tronqué
Bonjour GLS,
Je suis vraiment désolé d'avoir pris tout ce temps pour vous revenir, parce que entre temps j'ai été déployé sur un gros projet. C'est pas suffisant comme justificatif, mais je vous prie de m'en excuser. J'ai pu régler mon problème en changeant seulement la résolution de l'écran de ma machine de développement. C'était 1366X768, je l'ai ramenée à 1360X768.
Merci beaucoup.


Mon, 10 Aug 2026 17:12:00 GMT

Re: Bonjour à tous
Salut Annie,

J'ai pû récupérer le protocole par l'intermédiaire de la CSB, mais je n'attaquerai le développement qu'en Aout quand je serai de retour sur Nouméa.
As-tu noté des différences entre la gestion des TPE CSB et OSB (Nouméa et Papeete) ?
A+
JP


Mon, 13 Jul 2026 17:12:00 GMT

Fichiers d'Aide .chm
Bonjour Chers Collègues,

Mon fichier d'Aide .chm ne fonctionne pas chez mes clients sous Window 11, je n'arrive pas à trouver une solution malgré que j'ai modifié ses propriétés en le rendant utilisable par tous les Utilisateurs et Systèmes. Et pourtant sur ma machine de développement qui également sous Window 11. Je serai heureux de bénéficier de votre assistance.
Merci d'avance.


Wed, 08 Jul 2026 17:12:00 GMT

Re: Bonjour à tous
bonjour JP

comment vas-tu ? je n'avais pas vu ton message !!

tu as eu le document Concert pour les TPE ? tu as fait la liaison avec tes caisses?


Annie


Tue, 30 Jun 2026 17:12:00 GMT

Création de fichier d'aide .HTML
Bonjour Chers Collègues,
Je suis sur le point d'abandonner les fichiers d'aide .CHM peut être comme la majorité d'entre vous, pour les fichiers d'aide .HTML. Sauf que la particularité pour ce type de fichier, selon mes informations, il faut forcément créer un site web. J'espère trouver parmi vous des collègues qui en savent quelque chose, j'aimerais bien profiter de leurs expériences. La question est comment créer un site web à partir de VFP9 ?
Merci d'avance.
Bonne journée.


Tue, 23 Jun 2026 17:12:00 GMT

Bonjour à tous
Quelqu'un aurait de la doc concernant le protocole Concert permettant de gérer un TPE à partir d'un programme de caisse ?
Merci d'avance.
JP


Wed, 29 Apr 2026 17:12:00 GMT

Re: Rencontres 2026
Le mar. 14 avril 2026, 10h33 Marc Thivolle a écrit :
> Le programme n'est pas encore totalement finalisé mais vous pouvez déjà vous inscrire en suivant le lien http://www.atoutfox.org/dates_rencontres_atoutfox_2026.asp
>
> A bientôt à Lyon
>

Le programme (encore provisoire) est publié.
Cordialement


Sun, 26 Apr 2026 17:12:00 GMT

Re: Rencontre 2026
Bonjour Kikoun. C'est AIME YEO à Yamoussoukro en Côte d'Ivoire. j'ai perdu ton contact. Si tu lis ce message, pourrais tu me contacter au 0505100672? Je compte aussi participer aux rencontres 2026.


Thu, 16 Apr 2026 17:12:00 GMT

Re: Rencontres 2026
Le programme n'est pas encore totalement finalisé mais vous pouvez déjà vous inscrire en suivant le lien http://www.atoutfox.org/dates_rencontres_atoutfox_2026.asp

A bientôt à Lyon



Tue, 14 Apr 2026 17:12:00 GMT

Rencontres 2026
Peut-être avez-vous déjà vu ce message sur la page d'accueil ? Sinon, le revoici :

AtoutFox : 2004-2026...
22 années de partage de contributions, de discussions sur le forum.
... Et les rencontres annuelles !
Cette année, nous avons décidé de doublement changer de format :
- d'une part, elles seront concentrées sur une journée.
- d'autre part, puisque la plupart des participants apprécient les Rencontres justement pour leur côté "rencontres", nous allons inverser en faisant des intersessions entrecoupées par des sessions.
Le nombre de participants nous permet maintenant des échanges beaucoup plus simples : dialoguer autour des problématiques rencontrées par les uns ou les autres, celles qui nous préoccupent en ce moment, telles la facturation électronique, ou X# qui reste le seul successeur de VFP en l'état actuel, ou toute autre question pour laquelle il y a beaucoup de chances qu'elle ait été résolue par quelqu'un autre...
Nous aurons l'occasion de discuter des sujets qui intéressent les uns et les autres.
La journée se terminera par l'assemblée générale de l'association.

Ne manquez pas cette dernière occasion de nous revoir,
Réservez maintenant votre mercredi 27 mai à Lyon, à l'Ibis Perrache !

Jean-Claude Rivière
Président de l'association L1901


Sat, 11 Apr 2026 17:12:00 GMT

Re: Rencontre 2026
bonjour à tous,
si vous pouviez éviter la période 20 - 27 mai : je serai sur les trains à vapeur
du Pays de Galles !

A bientôt
Jean

--
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Wed, 01 Apr 2026 17:12:00 GMT

Re: Rencontre 2026
Bonjour Kikoun,
les discussions sont toujours en cours et recherche d'hôtel + intervenants
mais normalement oui ...fin mai
publication bientôt
Cordialement


Tue, 31 Mar 2026 17:12:00 GMT

Rencontre 2026
Bonjour.
Je souhaiterais savoir s'il est prévu une rencontre en 2026.


Tue, 31 Mar 2026 17:12:00 GMT

Imprimer un formulaire
Merci à Jcriv et Jean de Grenoble ....J'utilise aussi impression écran et modification de l'image.. mais je pensais qu'il pouvait exister une solution dans Foxprox
comme l'imression d'un rapport...
A plus
Zep


Wed, 18 Mar 2026 17:12:00 GMT

Re: Imprimer un formulaire
Bonjour.
Pour une astuce, j'utilisais ça pour imprimer via word (code d'origine donné par Mike Gagnon) : faire une copie de l'écran contenant les graphiques/images, coller dans un doc, imprimer le doc.
Si ça peut t'aider...

=Form2Clipboard(ThisForm.HWnd)


FUNCTION Form2Clipboard
PARAMETERS hWnd
*!* Parts of this code was borrowed http://www.news2news.com/vfp/
*!* Mike Gagnon
WAIT WINDOW "Calculs en cours..." NOWAIT
*!* * Removed 29/09/2015
*!* LOCAL oWord as Word.application
#DEFINE CF_BITMAP 2
#DEFINE SRCCOPY 13369376
DO copyActiveWindow
PRIVATE lnLeft,lnTop,lnRight,lnBottom,lnWidth,lnHeight
IF IsVide(hwnd)
hwnd = GetFocus()
ENDIF
STORE 0 TO lnLeft, lnTop, lnRight, lnBottom, lnWidth, lnHeight
= getRect (@lnLeft, @lnTop, @lnRight, @lnBottom, @lnWidth,@lnHeight)
hdc = GetWindowDC(m.hwnd)
hVdc = CreateCompatibleDC(m.hdc)
hBitmap = CreateCompatibleBitmap(m.hdc, m.lnWidth, m.lnHeight)
= SelectObject (m.hVdc, m.hBitmap)
= BitBlt (hVdc, 0,0, m.lnWidth, m.lnHeight, m.hdc, 0,0, SRCCOPY)
= OpenClipboard (m.hwnd)
= EmptyClipboard()
= SetClipboardData (CF_BITMAP, hBitmap)
= CloseClipboard()
= DeleteObject (hBitmap)
= DeleteDC (hVdc)
= ReleaseDC (hwnd, hdc)
*!* oWord=CREATEOBJECT("word.application")
*!* oWord.Documents.Add()
*!* loSelection=oWord.Selection
*!* IF m.loSelection.PageSetup.Orientation = 0 Then
*!* m.loSelection.PageSetup.Orientation = 1
*!* ELSE
*!* m.loSelection.PageSetup.Orientation = 0
*!* ENDIF
*!* m.loselection.PasteAndFormat(2)
*!* oWord.Visible =.t.
*!* WAIT CLEAR
Inform("L'image écran est dans le presse-papier")
RETURN
PROCEDURE copyActiveWindow
DECLARE INTEGER GetWindowRect IN user32 INTEGER hwnd, STRING @ lpRect
DECLARE INTEGER SelectObject IN gdi32 INTEGER hdc,INTEGER hObject
DECLARE INTEGER ReleaseDC IN user32 INTEGER hwnd,INTEGER hdc
DECLARE INTEGER CreateCompatibleDC IN gdi32 INTEGER hdc
DECLARE INTEGER DeleteObject IN gdi32 INTEGER hObject
DECLARE INTEGER DeleteDC IN gdi32 INTEGER hdc
DECLARE INTEGER CloseClipboard IN user32
DECLARE INTEGER GetFocus IN user32
DECLARE INTEGER EmptyClipboard IN user32
DECLARE INTEGER GetWindowDC IN user32 INTEGER hwnd
DECLARE INTEGER OpenClipboard IN user32 INTEGER hwnd
DECLARE INTEGER SetClipboardData IN user32 INTEGER wFormat, INTEGER hMem
DECLARE INTEGER CreateCompatibleBitmap IN gdi32;
INTEGER hdc, INTEGER nWidth, INTEGER nHeight

DECLARE INTEGER BitBlt IN gdi32;
INTEGER hDestDC, INTEGER x, INTEGER y,;
INTEGER nWidth, INTEGER nHeight, INTEGER hSrcDC,;
INTEGER xSrc, INTEGER ySrc, INTEGER dwRop
RETURN
PROCEDURE getRect(lnLeft, lnTop, lnRight, lnBottom,lnWidth, lnHeight)
LOCAL lpRect
lpRect = Repli(Chr(0), 16)
= GetWindowRect (hwnd, @lpRect)
lnLeft = buf2dword(SUBSTR(lpRect, 1,4))
lnTop = buf2dword(SUBSTR(lpRect, 5,4))
lnRight = buf2dword(SUBSTR(lpRect, 9,4))
lnBottom = buf2dword(SUBSTR(lpRect, 13,4))
lnWidth = lnRight - lnLeft
lnHeight = lnBottom - lnTop
RETURN
FUNCTION buf2dword (lcBuffer)
RETURN Asc(SUBSTR(lcBuffer, 1,1)) + ;
Asc(SUBSTR(lcBuffer, 2,1)) * 256 +;
Asc(SUBSTR(lcBuffer, 3,1)) * 65536 +;
Asc(SUBSTR(lcBuffer, 4,1)) * 16777216


Wed, 18 Mar 2026 17:12:00 GMT

Re: Imprimer un formulaire
Bonjour ZEP,

dans le temps, j'ai beaucoup utilisé Foxypreviewer de Cesar CHALOM qui non
seulement permet d'imprimer mais aussi de créer des PDFs, d'envoyer le document
par mail, etc ...

www.foxypreviewer.com

Bonne journée

Jean à Grenoble

--
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Tue, 17 Mar 2026 17:12:00 GMT

Imprimer un formulaire
Bonjour,

j'ai développé dernièrement la création de graphiques à partir de données... je voudrais les imprimer .. Avez vous une astuce ?
Merci..


Tue, 17 Mar 2026 17:12:00 GMT

Re: Documentation VFP en francais
Bonjour et Merci pour tous


Wed, 04 Mar 2026 17:12:00 GMT

Re: Documentation VFP en francais
et il y a ce groupe très efficace !

Bonne journée à tous

Jean à Grenoble

--
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Wed, 04 Mar 2026 17:12:00 GMT

Re: Documentation VFP en francais
Bonjour
Non pas de documentation VFP9 en Français
la dernière version du fichier d'aide et livre en Français = VFP6
Ceci dit avec google traduction ce n'est pas un problème pour un développeur
Cordialement
Francis


Tue, 03 Mar 2026 17:12:00 GMT

Documentation VFP en francais

Bonjour,

De mémoire, il m'a semblé vue une traduction de la documentation de VFP9.

Merci pour la réponse et bonne journée.


Tue, 03 Mar 2026 17:12:00 GMT

Re: Impression en Noir et Blanc
Environement de l'imprimante coché => donc les dans les option du cadrage l'imprimante devait être en noir et blanc. Si pas de bac spécial pour imprimer décocher cette option tout en retournant voir les options d'impression dans le cadrage, quitte a faire un "load data environement" dans le menu report.


Wed, 18 Feb 2026 17:12:00 GMT

Re: Factures électroniques
Bonsoir Francis,

Ooops "syntax error" ;-) ..... Odoo l'ERP open source

Après tout n'est pas gratuit la compta est payante notre choix à été Odoo On Premise

C'est payant mais tout le code source est chez nous

C'est un serveur Python qui fonctionne en reverse proxy sur notre IIS qui hoste notre site Ecommerce en VFP 9

Pour ce qui est de la facturation électronique le premier module ( hosté chez Odoo ) est gratuit,

Et il faudrait vérifier si elle fait bien partie de la version Odoo Community qui est gratuite

Cordialement
Marcel


Mon, 19 Jan 2026 17:12:00 GMT

Re: Factures électroniques
Merci pour ta réponse Gilles
Même si je parlais des DPD / FA

pour xfrx : tu peux faire un exemple "basique" et envoyer au support eqeus les matin sont réactifs
ton sujet m'intéresse bien si tu veux nous tenir informé. Merci

Cordialement
Francis

Le mer. 14 janvier 2026, 07h57 GLS a écrit :
> Bonjour Francis,
> je suis dessus en ce moment au moins pour les factures PDF facturX.
> J'arrive à réaliser des factures au format factur-X - EXTENDED (format le plus complexe et qui devrait être retenu par le fisc Français d'après le groupement FacturX).
> Le seul soucis c'est que le PDF/A3a généré par la version 1.7 d'XFRX possède des erreurs de structures de PDF qui sont relevées par les outils de vérification de la conformité Factur-X..
> Cdlt
> Gilles
>
>
>
> .
>



Mon, 19 Jan 2026 17:12:00 GMT

Re: Factures électroniques
Bonsoir Marcel
pour "ODDO" : parles-tu de la banque ou de l'ERP open source ?
Cordialement
Francis


Le sam. 17 janvier 2026, 19h00 Marcel a écrit :
> Bonjour,
>
> Comme on est passé sur Oddo suite à cette obligation de facture éléctronique.
> Je compte automatiser l'intégration de l'existant en VFP et j'ai bossée sur VFP <-> Python
> Le résultat public sur Github est ici :
> https://github.com/marceldesmet/py-fox
>
> J'arrive à passer des Object VFP via Json à des fonctions Python et il existe des tonnes de librairies en open source.
> Pour les factures électroniques il y a
> Peppol BIS (Business Interoperability Specifications) -> pip install peppol-bis
> Python-ubl ( Universal Business Language) format -> pip install python-ubl
>
> Cordialement
> Marcel
>
>
> .
>



Mon, 19 Jan 2026 17:12:00 GMT

Re: Exécuter un script python depuis VFP
Bonjour,

C'est probalement un peu tard mais bon ....

J'intègre pour le moment notre site ( VFP + WestWind ) avec l'ERP d'Odoo

https://github.com/marceldesmet/py-fox

Cela fonctionne assez bien y compris pour les erreurs du code python qui reviennent dans VFP

[VPF]

? '--- Test: Update single product image by internal reference'
LOCAL loSingleRes
TRY
loSingleRes = loPy.UpdateProductImageByRef(lcInternalRef, lcImagePath, 'odoo_client.test_connection')
CATCH TO oerr
? 'VFP wrapper call error:', oerr.MESSAGE
loSingleRes = .NULL.
ENDTRY

IF VARTYPE(loSingleRes) == 'O'
* loSingleRes is a Collection (ok, product_id, template_id, error)
? 'ok:', loSingleRes.item[1,2]
? 'product_id:', loSingleRes.item[2,2]
? 'template_id:', loSingleRes.item[3,2]
* Error field only exists when there's an error
IF loSingleRes.Count >= 4
? 'error:', loSingleRes.item[4,2]
ELSE
? 'error: (none)'
ENDIF
ELSE
? 'UpdateProductImageByRef returned non-collection result:', loSingleRes
ENDIF

[/VFP]

Cordialement
Marcel


Mon, 19 Jan 2026 17:12:00 GMT

Re: Factures électroniques
Bonjour,

Comme on est passé sur Oddo suite à cette obligation de facture éléctronique.
Je compte automatiser l'intégration de l'existant en VFP et j'ai bossée sur VFP <-> Python
Le résultat public sur Github est ici :
https://github.com/marceldesmet/py-fox

J'arrive à passer des Object VFP via Json à des fonctions Python et il existe des tonnes de librairies en open source.
Pour les factures électroniques il y a
Peppol BIS (Business Interoperability Specifications) -> pip install peppol-bis
Python-ubl ( Universal Business Language) format -> pip install python-ubl

Cordialement
Marcel


Sat, 17 Jan 2026 17:12:00 GMT

Re: Impression en Noir et Blanc
J'ai trouvé la solution. J'ai tout simplement mis un champ d'une table sur mon état.


Thu, 15 Jan 2026 17:12:00 GMT

Impression en Noir et Blanc
Bonjour.
Je rencontre un soucis. J'ai un état en couleur à imprimer (une image en grand format). Lorsque je fais l'aperçu avant impression il s'affiche en couleur. Mais lorsque je lance l'impression il sort en blanc et noir. Dans mes autres programmes, les impressions où se trouvent un logo par exemple, les impressions sortent en couleurs.
Si quelqu'un a une solution.



Thu, 15 Jan 2026 17:12:00 GMT

Re: Factures électroniques
Bonjour Francis,
je suis dessus en ce moment au moins pour les factures PDF facturX.
J'arrive à réaliser des factures au format factur-X - EXTENDED (format le plus complexe et qui devrait être retenu par le fisc Français d'après le groupement FacturX).
Le seul soucis c'est que le PDF/A3a généré par la version 1.7 d'XFRX possède des erreurs de structures de PDF qui sont relevées par les outils de vérification de la conformité Factur-X..
Cdlt
Gilles



Wed, 14 Jan 2026 17:12:00 GMT

Factures électroniques
Bonjour
Est-ce que quelqu'un a déjà pu commencer des travaux sur la facturation électronique et e-reporting
(obligatoire 1/9/2026)

Merci de faire part ce vos expériences
Cordialement
Francis


Tue, 13 Jan 2026 17:12:00 GMT

Re: renomer un repertoire ?
Comme D et D, e dirais même plus : run rename 2025 2026. Comme ça il n'y aura pas de mauvaises surprises.


Thu, 01 Jan 2026 17:12:00 GMT

Re: renomer un repertoire ?
run rename source destination

Il y a une autre méthode plus compliquée si cela t'interesse ...

Bonne journée
Jean

--
Cet e-mail a été vérifié par le logiciel antivirus d'AVG.
www.avg.com
Tue, 30 Dec 2025 17:12:00 GMT

renomer un repertoire ?
renomer un repertoire


Mon, 29 Dec 2025 17:12:00 GMT

Re: Run curl.exe API
Bonjour, c'est bon j'ai trouvé . Fautes d'étourderies .... Merci et belle journée, SAndra LAINE


Tue, 09 Dec 2025 17:12:00 GMT

Run curl.exe API
Bonjour, J'ai encore besoin d'aide. J'ai besoin d'envoyer un fichier pdf qui est en local sur une API. Je ne peux pas le faire en JSON par contre c'est possible en curl . Quand je lance mon code dans la fenetre de commande cmd, cela marche mais je n'arrive pas depuis vfp9

Voici mon code curl :que j'ai mis dans un fichier texte F:\test\test2\curltxt.txt :
curl -X POST "https://apisandbox.hubintent.com/api/documents/v1/documents" \ -H "Authorization: Bearer 11111111111111111" \ -H "accept: application/json" \ -H 'Content-Type: multipart/form-data' \ -F "file=@F:/test/test2/journee_i.pdf;type=application/pdf" \ -F "title=quitus_chauffa" \ -F "elementType=intervention" \ -F "elementReference=730042" \ -F "description=Quitus" \ -F "intent_contractReference=TOTO" \ -F "intent_documentType=quitus_preventive" \ -F "intent_documentFamily=rapports_intervention" \ -F "intent_creationDate =20251001"

J'ai essayé plusieurs façon :
[vfp]
lc = filetostr("F:\test\test2\curltxt.txt")
RUN &lc
[/vfp]
Pour moi ça ne devrait marcher. Qu'est ce que je fais de mal ?
Merci pour votre aide . Sandra LAINE



Mon, 08 Dec 2025 17:12:00 GMT

Re: API envoi de PDF MSXML2.ServerXMLHTTP
Bonjour, ok Merci. J'ai vu qu'il y avait une autre méthode avec curl. Je vais essayer dans ce sens. Merci pour ton aide.
Cordialement Sandra


Mon, 01 Dec 2025 17:12:00 GMT

Re: API envoi de PDF MSXML2.ServerXMLHTTP
Bonjour Sandra,
Ce message est-il en retour de votre requête à l'API ?
Si oui c'est que le fichier doit être envoyé autrement que contenu dans le JSON.
A vérifier dans la documentation d'utilisation de l'API.

Cdlt
Gls


Sat, 29 Nov 2025 17:12:00 GMT

Re: API envoi de PDF MSXML2.ServerXMLHTTP
Alors j'ai réussi à résoudre mon problème de taille de variable . Voilà mon Json :
J'ai un message "no file attached to the request" comme au debut


{
"file": "JVBERi0xLjMKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nN1ZW3NURRAuA0RYLAS5CF6qzuM5Vu0494tvQkBELgVZfVB8iMkaQiUgG6Llv/Jn6b/wm3PrOZtZNtFUYVlUik5Pd09Pd3/dcyavCs6kLnj81xGbe6PPn4Rie3+kit9GoriHn+f42Rlx5owrvhpJp1kItpDBsmBUsTcS1gZmesbuaL0XcloNhTpGKiSEF0wbEuoYA6HAw1CoZaRCkms+EOoYAyHhBHxIhFrGQEgJObTUMgZChtuhUMsYCLkw51PLGAiFeZ/CYZ+UMMMQdIwoxJEmXqdHMV1bxIoShVDBRVGFQJhiNoXoq5FmsGBdnfGU3twrbk5QAAJ6mnFdTH6GUcE450YXYxHFHeMqYD1I5ngoJnuj8p2VU6fPnFlZfXdl9ey5U09fnF9ZWX3v6ayaPI+2ZBEYHEpMucaUh2MhmlLMaO+jqR/Kh9UY0fFSB1X+UY2NCAG12bO9LV+Cy5xyTpV71dg7bfFb+V0rIKQpdyrsoz1X5W6GmkJJScmELL+uxji+Cb58UVmmuAyifF0LBhPlBEMIrSpnvdyvvVyynFHe6YjWW68dxH6c3BtpHZhD0uAAgrKFI99NXC+qsWTeBqnKL2tx5DF4VUDCyTeKrzXinmmpQhEa2QmcNPBcuPIXcmS/Usw67TT0oxJSNLk/mnw2kG/PbBHxjfqoiH1Izp8wm8NaYxHlaE9pJBTVg3V7VD/6czypNI7qhE9DdzAX4bjXtPFdWMYD9mqj8yBa4lahJAahP6yfHCBdjkZjKO5UsBMCH5x0k0gyRM4lMfurSTZgquTJO3e7GismBE9rL/EtmxuKNlGNlyowG5xZ4uYWkVOyn2RuINB5Sun8k5S2e6d3k3T2y3uVCEwF7lPmfBhQUJZZFRvJfIn9XgnPlNYqLbbGpSP1NoXx0/W2C+9fvHTp4oUPLlxevXL12ofXb1y7cfX66vmPLl1ePft09nH85ZPTn567Epvd7cnocT0v0Zza8ReHnUDH7jhKWd/19SP04YW9U3ATmyf+T3qnpM7IiVREaiIhqxwCoX25Xle69eg4AtE23qTt9ladQI0efJeYVH/fd2GVseeQn7LzE9oGfnrehTT2eMlQXFqjUDWTGIgG6R1jdCK/EvlF0r3RsQV3y/to2t5bhjpaq7UNd+1yMHVT6bQ3emZi8kVuPVYh6lZ7qo2l8dY2Brw9h6Dq0kR+0bX+4bLzsTX7NypFHEhiOgSCewxym8IsTyZmYcEK9OAYKhoV01wTT7vDOE5dBCR1KxBpiWTptjUWu6E2Rjfuen5SjZ5ImyWTamybjzCqG89eqXwVUr1+S8y1JQUpBVNiriDXYznjt7rZdyW305fhktosorbkAmm6Hz1SMdwHpLPZS2Z1ks0TpVk8Ea4cWsr8Bi9JljxNtZBwiWwxK98SZOIdyxwPMnpQxUeFjCGm/2eQsT1k/uXYR9C1MIYNnOZEmiyKwJVSG6bVcdUSWaGVZ7Zr2HHiPus9TGbvq9ytaroYxvnxIYg0A24H42Qc07BIAH2/whxUyFVCEZ6f9HBfBmflmHdzcCaQbOQAd6viuP6EgH2ezRd5FE2QQYDd7TG2++YWcCw4366bHb7R1EBiK68YEY17G1NvawiiwJxYjGiTQXSyrLKIPqQUsaUHWkdGtBoAokX0TWyLatAyf+dedIHN3XBP5vNIcAmcyu7iepw+pRucGiORSLdo3MosOBP02szlL8FmMoIf0WB9uASJBvbUCQzWBB4PIumtR18k9RQR+/De4CIZUq21/nqZADC7TtghQ8RLN4J7MqDslUwxm/V/iNjOGK3vzPWPBqVLsYehguMvxJ7NYI8vw94hpTns2WNgbzi6/y/Yk2lHaWZk4Ex6FL3CUGs/mNtjOqHSmygNMZqA6ZW1TbnqUz42ASYt5q+Mn4ut8fUGjc1penK7JX18u+rJDSJfE3lA5IzIKZEFkVtZtURgkrWwSeSzrGed60L3siAT7pTIBg2IHJIQuwvTugnFN41MsKLTjOQukS+J3CNySuRrImdEbhC5nVUriNzKCvxE5EG6W30QQNajTdIT3n/hHHeyPmQa0dhqgEmZQqPwD721PEo+MRN2W+chXvSixfppJL5RC1xN64d5BCWYAvkVwR7jZXphg9TSMBW/0IOn+ZO/TXNyqXMHiO7csSfojDGCBd86ow7N8YCu4dHMx1L3tXG82HZX53yjzL6pLXuApZ696Asn88x4kIQ0SIFxJVQTUEQ3tsw2qAKnidH2/aL0rl0KIv4FxdV/HEEioNUsPB79DeURaK9lbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoKMTcxMAplbmRvYmoKNCAwIG9iago8PC9UeXBlL1BhZ2UvTWVkaWFCb3ggWzAgMCA1OTUgODQyXQovUm90YXRlIDkwL1BhcmVudCAzIDAgUgovUmVzb3VyY2VzPDwvUHJvY1NldFsvUERGIC9UZXh0XQovRXh0R1N0YXRlIDE0IDAgUgovRm9udCAxNSAwIFIKPj4KL0NvbnRlbnRzIDUgMCBSCj4+CmVuZG9iagozIDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvS2lkcyBbCjQgMCBSCl0gL0NvdW50IDEKL1JvdGF0ZSA5MD4+CmVuZG9iagoxIDAgb2JqCjw8L1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSCj4+CmVuZG9iago5IDAgb2JqCjw8L1R5cGUvRXh0R1N0YXRlL05hbWUvUjkvVFIvSWRlbnRpdHkvQkcgNyAwIFIvVUNSIDggMCBSL09QTSAxPj4KZW5kb2JqCjE0IDAgb2JqCjw8L1I5CjkgMCBSPj4KZW5kb2JqCjE1IDAgb2JqCjw8L1IxMwoxMyAwIFIvUjExCjExIDAgUi9SMTIKMTIgMCBSPj4KZW5kb2JqCjggMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCi9GdW5jdGlvblR5cGUgMAovRG9tYWluWzAKMV0KL1JhbmdlWy0xCjFdCi9CaXRzUGVyU2FtcGxlIDgKL1NpemVbMjU2XS9MZW5ndGggMTI+PnN0cmVhbQp4nGtoGNkAAETAgAEKZW5kc3RyZWFtCmVuZG9iago3IDAgb2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZQovRnVuY3Rpb25UeXBlIDAKL0RvbWFpblswCjFdCi9SYW5nZVswCjFdCi9CaXRzUGVyU2FtcGxlIDgKL1NpemVbMjU2XS9MZW5ndGggMTI+PnN0cmVhbQp4nGNgGNkAAAEAAAEKZW5kc3RyZWFtCmVuZG9iagoxNiAwIG9iago8PC9TdWJ0eXBlL1R5cGUxQy9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE3IDAgUj4+c3RyZWFtCnicPVgHWFPn3ifKOCq4YxOLrQOraLUiCFpxoYgDFVmiIKigYclKIAmIMgwk539CAoTIymBPwSog1lEnAo5qraNe1La31mp77+3w9k956fd9b7T9npys5zx5n//8jfCsrEdY8Xi80YGBixctXpy4aJHlmyuQcY62fEdbrQ3YjwR76/dGW1kr574P8P8f7O3AcYrPRPxkAqaNwx3jrabxeNZ2o+zHTeQL3n1vhtOceQsWubov81zl5b3Rd5t/UIjI1UO0eJHIVeS2WOSyTOS6TLTYTeS2RLSEXotEHotFS1xFHotEbstEHktEHi4iNxfRUnotFbnRu+6ixS6iJe4iF1cX0WJ3kZubyGOZyIXe87CysprmOMF22kS7SczkUfzRU8a8Y88TOIwQjh05dZz1u+NtrHj5PCVPxWN5wON4al4BT8PT8gp5Rbxino5XwtPzjvFKeWW8cl4Fr5Jn4Bl5Jp6ZV8Wr5tVYvUdrYzXCivDO8i6MMI1cbs3YONv8y/aS3X7GYZTtKPNoGBNrv9zB3uHl2OpxJ8cHT1gzoX/iyok3JjVMHjk5bvKrsY4244ZGt/PJPD8ScJBkQgIklyXXp9RlNkATg9128FKL04pwgw79C/F97lvoVX+vxXHaVn1V5bEX9b+VIcPhGBZtI9FqOU5a2EdsgTgCWe1LHAnfmfl3xIPQc8Hnd9T4wzZYGrHCbfW2oM37NooZsCU3HG1c+F5siCo+X0VWCzKGJ/x0+PzRwgLhr4VPW25cvnut7SG8hL7oa2svrbu0qv5jjv4I7f/s4k+vzGUz2XQQytlMyOZEbJR2b6lyiWolbGRIlB16a3BWLVqfPlvR3dB5srPVXAdGaNrT5nZqU4Nv9ZZyes7YIdc/gqeQMFsSyoWxsQXyImGMXl4PnXDnYttv3KesoIOFJtUZxQ2holf5KbTC00KcrMc1Zeipxcnsd0vWBUSLuSQ2TSc1yUzZ1VAHzQ0nLp1pqzl3sv8qc/Xa5abz3GnWlAQ74RBI4CB9SCCTPmMgAsIhFlJhVR6xOULmZZH5R8lIWM1AlCZMG1gYUEBvoxUnaGJrso1yk1wngSRIyBHL5HK5ODcBLPEPDtLeyRxtpg++5u8jUW5kKRGSsfQ5jizaSjYCWQpkfPeyF8te7MNpgFsA13SgzxPcTK/X6Ix8tP3m/vefvOL62H+k/SeSwbE7+4LADxKzk6Wp0rSUrEQuk00rTjbM7l/S6s2FsCHJgTuTEqPCdviQBWTPCpIMJIsBMtHkemJXZ+DDJLTmcDT764lvH7346ibatuM8sjmbLIonU4IycjOVh7gEVqyXVctNOTXQwECboamtGmcNIHsKf+UaaKa0jFKdmE5guDw+Wm7J0dH68eBgNJ+EAfngxUe4dT3OiLZkkg4YeAZXPMfZv6Mnzn6Gvhx6sTh19Y9k7tfknQ7iAmQLkIu7iWQBcV5I5pHpXmSbpWwttGZ8MpZ19l1LJvjNiCf2QN4FktRElvYQXg8Z+c9AHKXG91U/D/SiexeONONMWjlAn0R8N+D7gO88uok19yY2mwtD/Rx/1joyL5qEQCj4F28uX1XpXxPVyGTbJoC4RGqkc1EDzXCn4HUhzijE6erX8AV8BTgKcNGbaxT9Vl/e2NDc2Fhf0cAxlexFyfcRv4ZcTyzPx8CNuGQOTiVTcTFxe0y8gGwHwiQTXuDMoBmr3RdsseyQaOgMf8Np8tFXJB9HMqTbjnTZpQ+f1+QX5+vyhD37vpQ+53ABiyOq75y72XWh55NHp+4bHsNTwO2zcSmJQMe/C33em09rRKbdXYyzsgxHjWCCWn21yWQ2Vutq1fWq2kO1CW3h9QmVWV0Hr2Xc59CWfdV9/3vmy6/bfwUcC//KGIi7Efloyyl3zpvdnh0ujc6ITjxwYDoZK0iISzgUzyWzqcUyU7qR7koDHNP2lPxejQf0+B58DlV5tUcas+qPmqEcTraZ73BMKWtm61R1SpOqVH1SdUX9sOCh+qr6BGdk69k2tl3VAJVcKWtQVxfWaCoLjnFMPWvONslN0hIJiGH1yv3kI07KJkN8wUFOxik48rFSQJYpIP4I4aUQP+HzezimHZ05dGJx5PYHhLkxp4VMBPIhEN8QMn8mGTWdjCdOW4k3vO12kKP1cUcbPv8IK1UnaBO1qeoMLo7dz+4BLXEQwLAykfyvH0mLIPNXrKbLTOhqMJ3E7msy6aUv8gDHwZO2zrvcXbYtEj4G/5MBj4LuB3+RdItjLrMn0NOE3+nRRYuhgAqoZE/kXdrGCpLZ/RCsDuEiuWR1oiqlRGqSGrProA3unml7zlWzrWyX6rSyla3iOti+gieFzBNNr6aDw3nsg0hYRRFDIpPJxZKshL8mlsLFJkfrH/ih7GrNHJ1z4RrNTmDW26o/KiJzS0lEKQnUkjkwE1LU0dpwzS4ummJUuCIqIz494mBaFCSDpDjNkGbIqqHcADp1ucZUYOLKQQ/NqrP5t/JuqM7BcXiZi8JDuOoQ+ubgVNUTF1ZAZrHERr/UvKMsqQUuQZ2uprLKWFWvb2KrVRcVT7Jv5l7KO8WdYq9zAwUDXA93kmPOsw/z/q34Oee+8jzXaMEGqTFNlwKJEJ+TIpPKZJLsxLc52Yb+cT6YT/yAuF0m76AteQ/HeONCwAAKE3cwCh0xABfQ94DXKOcwiUWPXb/PxZFOV4g7WDDs0BYSSSYRX+JEYsjWmURu6fdzRxt6qDtLpn1MrImbE3EOtuCpNxD+p04vPb9fhdb7UahGdxUKBn5Dj5fodAbdATcCLo7GEetu+vQSm2ay5E2MQ68HX9HTnIHYf/LRw7lPd+IYwA8B13biB09xzAucgg43cCGHI9nn0rsHvgntWgvzYf0B31VBsUneUdODmWEH4t8e3B15OVl4Kak/8wvKKxeLrxseGc81VLVVtdQYaukwmHIMGZVynQzSYO32LWT0zjkRzmkfWrI5NOTGX85uiAneFOQTOSeJCPAqLhSgQ+/Xl86f8b/i2eD013yMGxqU88UUulKrSDwmEQU6E8NDhuywIyF2EJ+bQsdJJslJpGwkKZEZ6Spb4O2C6vHR13m/5T+mve3VPTfguEp00L2APgZa8i4cvp196+hndGZP6FvNTXXH2ypPK1EhE7w4/Ci1LxZryGx8l6wDEgWzwxctWrl286JQwovDcGKL88nof5NxBkmxhLJmYnaKVCpNE2cnWVL609bRZimfzD1WQsZqQ9T7IF4IQfkbsj3TyG6Bji2n4GWirzoOV7M4qfrr7k9MbQ0tbe0nKpsp+LzY8e2MAecvP+iaXvqmQW2Dzyj4UR6w6fzo6YJvQpEBdAJ07MYZ/8Q5P+MStB7A8dwt9l76Pw7+vPfCTvCHxFxxuiw9LS07hWPkbHrhodLMY/RRGtXqW+HC+bA+WzcSh23EJn4eeIJLs3fPrsu7vhR/S8e8q6S7ikG7HrOuTFusFtaqzDkGqUGqswDXzp1hThEuUV5SP/hrvKnKxTQ+xOUFZa3J9omJ9YNo2FOz6yxpQR35ctCO/DmYzpB0O5JhR6PyAGJNL9YDAhiyKdbFJzpRX5P2ntycXQuNUK/u0lzTXuU6oQlOqfvVTwuecn3QBafZ26rvVM/Z23AGOpT9Oc+Y3Kf5/XAamsoa6urq65pKW7l2tjvys1W4ghTQvuyjtLQMXUkIehE/9KOL0aDqVF1V4UQBYHcOZspxraryaNvhi9ndeW1UGj1qOXmLQx57mcTD8HpY8ybMD4DMBTICvN5SUP1QaDA/DOLrMs9nXsp8dPiXrFeKx9BPgb5O3a62nGIEnBDft4lbwq44sH51dFSY19bpFGfLFWThkd2yiDjpXooQKbpUY2plVjXNt0hTrjVrKzTn1E8KcK6g4I9U7YD6CjQLoUXVcrRZ0ZTfQgGrroSynKmypqSBu8K2JhT76TcU+sEOWKvyUqxUrmG9aICc25V7PZf6TwhvtN82fmHhvq9EHd7NOyo8tGS0lgQIKsneIk+dj367UH2EywYFJGRLZOlSuTgn6W0nrU8PfTpkzc+dk+8MFArEeuJpJDbqLMiFfEjITZOlp6en5UpgPyQ0pveG7t+RvCM9WB6U4w8MmU655MxHPyx4GUZpBOdRNXIWZ79E3iu0wvGXcT73Fdt7pEPyar1Ah4163HbsJ93VxqYL3HW2MRY2w4LDZG8SuUPDGN6Syie2rHuM/0Z/n0Ra/Kng1rK6d2uf7734p9xV9mzJqaoa/YmGC6f1RSV6XZkK1wiQsVOjfcpnMR17GoR763aUb+P+kgxDPzjazOBnsYfVhwqXNhJeOZnG7WGDlX4KP8WG3DVZzPBGO5x8/MfKm9wv7Os8HJHVn9McA1shLofusixNnJPAxbAh6vWFPoUhBdFcODsvnTjHMPI/veBgrlgmFaZTtEn4G20sYqoR8J0C3FWEhkKs0GAYoJDu82n2OvSoTlMsaiipMZgZg6lG38hVscajhqwnpfd1twpvaq4VnOcesv/M+lcqCuNu76OCLTEnJV0mFYuPvKXHoc+Gxnrzt0JMc26fGA8KFA/y7sEdMHBNBd3q01yzZfpmJt8L5tay3hE+rn4fh30QTcaxycrYvP3KGFUcxDMgVR/URGn3cQkgpUwloXL9DVxSNahLN8oNuRa4NKoa8zvyTyqbwczAbQ31V+OK0F79ikpDI9ui6lJ1KFugCurfaK/K2pJGijvte4rcCwgjwJE4H+0e4ijuv+yDsI6FjZsrFqqJA/OBHbsQAorWHXMTHnPVroMgOn5iqVwqT86Jh7+SCx58wqdexAvm0flbC2GQTlE1AeLfuJI35kL6JtgQiG/NvL004sO06cC4wzqj/8ktnQf6Dj9LRe/D6AI4HZ4XvdbjaN3V5qaLb5S7xaMUvzlMtVOxkVH4KEOovyHWBR8WehYu1/nqw6oyq3KrFGZFVb5Z/UL1Y/kvjSzuEagwmAIthxPVvwuLetua+7gmtj7bKDNLS1LZRPnwJAEdsz+HXjrarOPnsNncEQ0Z2Ux4FTO5INYvf1OOb4734dUZx8ILoyEFFigI/whxH1z7qQAnlz0ubqCH1VJTYZSWJFPvtflgzGYFOSIWDIfvzt+VF67cK1RGKKMomhJnvZs5uVL2Wc53Fh0Fz6g67oNOrow1quuL6rSGgjLuC7YtGrwZ8E+I9s/emkmm5lHCIvuAvFPvd9m3J85iseKhU/2p+oLmguaK9np22dEKOjFVReYSA1OKQVqcRb1sjar96Lm8s/ntFMweHz91i1avmoY4YH5QcVf/hf62tpdDdxb5sh+jmG5ZVRzstnQmXSYTi/8ScYP38ZGj9f/w49lkvaQ61XyknlrTpmN1VdXVVXX6Zq6ZbciqSjVL9JacY7OS0tJSJYlZ8Zbf9v55jQ97qQ1fTgWoH0TRCRWn0wkV51omVFJsmdA3hH4SemAA/gHXoZOBXs1j7cuil2oLEtPtqjQZjNUUKRtp4JW0tsViCrm+Kk/FAsUCpSds/RsacqdkgFgTfyxeLynKsGy5an2eT/4OVTS1zPvzQhQ7cverkin2ZUFmwWF1ljqXY3azB82ZZ3Kr8jrgGuDCLpzw7MdTnb89xhU45scbNz5rPnGtv/EBfAudiZ8EHg9t3FURxjFbWT95QCyZRawEiRJJlpwyb3QdXIbmsrra6q+++PziteMDXc+qv7GQz48JX2//yedTD5gN3tlbpP6MdHtCcOTukK3uPsR+LZm0fOm2fZFrVooWcsQKo0wCdNL9oulVX1CdzT0j7xM3xcI+ChpiuUyeKvkb1m2++aOOOtRIIAuvOaH9slchOCsVt2c/y8OVgMXwQv1A06Pt0XYV1Vacbarp4HrYJn8gI5nhb+xgeB7OJOHYxqGJRQG+gD9WQA20QAecZOuhDE4Vt5e1mk41GE9wd9jju2ExJHD7IJCBANrHZObPYyR0ePLwrPdoIH8MDLo52mr5v7LfRN9cf9u7dQnV8R/uX75ik5fvkjhnbjb7cfvWe4G3Ep/Bz/BT29O7n3/eN9D8wjIXZDt5xYfA8t11opaILull7jJ7tqKz9UxbdRdcgOvp50Snoj8JNW3jdrF75AdiIw9IwyHkrz47Wmc42kzhL5rhPnc5GbuWzBGSDcMzMuOTVkWQCcKYD+K94kPT4xIPRVvMgy7NIDNmWf4pqa261fk7ige7Bf/Bg7/g8l9wtKlKMKwsIeJCX21sC/QIob6k2mA0Vlbr6rmnLE5U4vI89MzDCapnHIMbbelGptEqxEn3Re56q7KHgh2tB/h72UDNBh3xqBIcIjtyiS+QtRBa4K/2Ua/nAug+bVYF5O3EewUCClxZFB0stiKBMlKyTEbVJcW//bS6K2E1FVORsAc2HHXJcj2yIW83MImUhqRGqTHHsiP1uhqj2WSyrMJp9suinysKPyu4DncpFV3Jv5l/S3kZzlAROb8E/Q2YTvh5AjJFmcBSHjMJqYerpU3ub2nrL7ys+VWDczl8l0XPTAxP7MtujKYbGpcltqjLlKPJb5f+6uC7fzTzM4ZzIVi1UjFHqNgQF7sdGN/Y1s8fa9ChGN3f16FrAXXhA/AbZesCdNTiVA4d4L9ws6W1n1JIcyxsghksccgnU5XEUUnsYdZb8YsbXKnoTyuWVcoqcsxQCyVqvab0Is78N0aiE1bjbKyiHy/i7G8x5zaO7mZrVVXUbJjkOilIGMjIlx2VEhtSKwgn4zeTWUuJK0kadhWQTcNO6ZFJ0v0gfNufwjb+mhgyOpG4JZM5YuKQtRA2QmjJQXNUvfQCPCjHp4JSvFKEz2GQoe2vqTQbKdbUvcEaOjlpFGuSYHiMgvyQSa5mk/mCvAA2lNuLXkpMOoWGAb1ar9ZZ7OIRk6RSUmyxi7vT4vZILWlaWf0fxaNZ2QplbmRzdHJlYW0KZW5kb2JqCjE3IDAgb2JqCjUxNDgKZW5kb2JqCjEzIDAgb2JqCjw8L0Jhc2VGb250L0NvdXJpZXIvVHlwZS9Gb250Ci9TdWJ0eXBlL1R5cGUxPj4KZW5kb2JqCjExIDAgb2JqCjw8L0Jhc2VGb250L0pEQUhGTCtUVDIwMjJvMDAvRm9udERlc2NyaXB0b3IgMTAgMCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDAvTGFzdENoYXIgMjkvV2lkdGhzWwowIDYwNiA2MjQgNzM1IDU0NyA1NDcgMjk5IDcxOCA2NjcgNzk0IDYzMiA3OTQgNTg5IDUyMSA2MDYgNjA2CjUxMyA0NTMgNjA2IDYwNiA2ODQgNTQ3IDUxMyA1ODEgNTIxIDI4MiA0MTAgMjczIDYzMiA2ODRdCi9FbmNvZGluZyAxOCAwIFIvU3VidHlwZS9UeXBlMT4+CmVuZG9iagoxOCAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRGlmZmVyZW5jZXNbCjEvZzQxL2c0MC9nNTYvZzQ0L2c0Ny9nMy9nMzkvZzQ1L2c1MC9nNTMvZzQ5L2c3MS9nODgvZzIxL2cyNi9nMTgvZzIwL2cxOS9nMjQvZzU1L2c3Mi9nNzAvZzc1L2c4MS9nNzYvZzEzMS9nNzkvZzM3L2c0Ml0+PgplbmRvYmoKMTIgMCBvYmoKPDwvQmFzZUZvbnQvVGltZXMtUm9tYW4vVHlwZS9Gb250Ci9FbmNvZGluZyAxOSAwIFIvU3VidHlwZS9UeXBlMT4+CmVuZG9iagoxOSAwIG9iago8PC9UeXBlL0VuY29kaW5nL0RpZmZlcmVuY2VzWwoxNzYvZGVncmVlCjIzMi9lZ3JhdmUvZWFjdXRlXT4+CmVuZG9iagoxMCAwIG9iago8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0pEQUhGTCtUVDIwMjJvMDAvRm9udEJCb3hbMCAtMTIzIDE1NTcgMTY4MF0vRmxhZ3MgNAovQXNjZW50IDE2ODAKL0NhcEhlaWdodCAxNjgwCi9EZXNjZW50IC0xMjMKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDIzMwovQ2hhclNldCgvZzM3L2cyMC9nMy9nNDIvZzE5L2czOS9nMjQvZzQ1L2c1NS9nNTAvZzcyL2c1My9nNzAvZzQ5L2c3NS9nNzEvZzQxL2c4MS9nODgvZzQwL2c3Ni9nMjEvZzU2L2cxMzEvZzI2L2c0NC9nNzkvZzE4L2c0NykvRm9udEZpbGUzIDE2IDAgUj4+CmVuZG9iagoyIDAgb2JqCjw8L1Byb2R1Y2VyKEFGUEwgR2hvc3RzY3JpcHQgOC4xMSkKL0NyZWF0aW9uRGF0ZShEOjIwMjUxMTI3MjIyNzU1KQovTW9kRGF0ZShEOjIwMjUxMTI3MjIyNzU1KQovVGl0bGUoZjpcXGRldmVsb3BwZW1lbnRcXHRhYmxldHBjXFxkZXZ0YWJsZXRfdGFjdGlsZVxcam91cm5lZS5mcngpCi9DcmVhdG9yKFBTY3JpcHQ1LmRsbCBWZXJzaW9uIDUuMi4yKQovQXV0aG9yKG1pbmlwKT4+ZW5kb2JqCnhyZWYKMCAyMAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDIwNDUgMDAwMDAgbiAKMDAwMDAwODgwNCAwMDAwMCBuIAowMDAwMDAxOTc2IDAwMDAwIG4gCjAwMDAwMDE4MTUgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAxNzk1IDAwMDAwIG4gCjAwMDAwMDI0MDUgMDAwMDAgbiAKMDAwMDAwMjI1NyAwMDAwMCBuIAowMDAwMDAyMDkzIDAwMDAwIG4gCjAwMDAwMDg0ODkgMDAwMDAgbiAKMDAwMDAwNzg3MCAwMDAwMCBuIAowMDAwMDA4MzI4IDAwMDAwIG4gCjAwMDAwMDc4MDcgMDAwMDAgbiAKMDAwMDAwMjE3MyAwMDAwMCBuIAowMDAwMDAyMjAzIDAwMDAwIG4gCjAwMDAwMDI1NTIgMDAwMDAgbiAKMDAwMDAwNzc4NiAwMDAwMCBuIAowMDAwMDA4MTMyIDAwMDAwIG4gCjAwMDAwMDg0MTEgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyMCAvUm9vdCAxIDAgUiAvSW5mbyAyIDAgUgo+PgpzdGFydHhyZWYKOTAzNAolJUVPRgo=",
"title": "quitus intervention chauffage",
"elementType":"intervention",
"intent_contractReference":"TEST",
"intent_documentFamily":"rapports_intervention",
"elementReference":"730042",
"grant_type":"client_credentials"
}

Cordialement,
sandra


Fri, 28 Nov 2025 17:12:00 GMT

Re: API envoi de PDF MSXML2.ServerXMLHTTP
Merci pour votre réponse mais mon fichier fait 10ko .
Avez-vous une piset ?
Cordialement,

Sandra


Fri, 28 Nov 2025 17:12:00 GMT

Re: API envoi de PDF MSXML2.ServerXMLHTTP
Bonjour,

Je pense me souvenir que la taille maximum d'une chaîne de caractère sous VFP est de 16 M octets.
Si le fichier PDF flirte ou dépasse ces 16MO alors il reste à fournir le lien du fichier dans le JSON en mettant à disposition le fichier sur un serveur WEB à travers ce lien pour que l'utilisateur le télécharge dans son navigateur internet ou le récupère par internet.

Cdlt
Gilles


Fri, 28 Nov 2025 17:12:00 GMT

Re: API envoi de PDF MSXML2.ServerXMLHTTP
Bonjour, merci beaucoup pour votre aide. . J'ai fait STRCONV( filetostr("d:\hes\hes\journee_i.pdf") , 13), mais le problème c'est que ma variable est trop longue et quand je fais mon send, j'ai un message line is too long

lcfile = STRCONV( filetostr("f:\test\compta.pdf") , 13)

lcmessage = '{ ' + CHR(13) + CHR(10) + ;
'"title":"Test",' + CHR(13) + CHR(10) + ;
'"file":"'+ &lcfile +'", ' + CHR(13) + CHR(10) + ;
'"elementType":"intervention", ' + CHR(13) + CHR(10) + ;
'"elementReference":"730042", ' + CHR(13) + CHR(10) + ;
'"grant_type":"client_credentials", ' + CHR(13) + CHR(10) + ;
'}'

Cordialement,
sandra


Fri, 28 Nov 2025 17:12:00 GMT

Re: API envoi de PDF MSXML2.ServerXMLHTTP
Bonjour

Soit "file" contient une URL pointant sur le fichier PDF et le destinataire va le retrouver et le charger dans son navigateur
Soit "file" doit contenir une variable contenant le fichier (FILETOSTR) convertie en BASE64

Exemple:
{"reparation":[{
"reference_externe1":"REF5",
"divers":"premier test",
"articlereparation":[{
"article":"BLOUSON PACK",
"photo1":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3WAAAN1gGQb3mcAAAAB3RJTUUH4gwDDAomYeXG1QAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS40E0BoxAAAANJJREFUWEftlzEOwjAMRS0RS70EF+GQ7ASE2JA4V4duvQAS+AcHmdIxwQz+kpcm9fuxM8RklQ5pl3K6cuZR4s5HfjQJ5JKcyA2G4oxutOET71d/7hHCAlPpRKvwzLPE1Cjmr/wwAaEkdkHKdBnOw7YsNhRyIvcHC+0oPTdw3d9N1gTYJOUZ64ceJ18KjMoDGwZet136pHu6630nhE3GzaTr3QVW5YaBMBAGwkAYCANhIAz8gQH3J5n3o9T9We4+mECuo1mR93BahZKgL+L4R+M50RPOLxhzmDqZyQAAAABJRU5ErkJggg==",
}]
}]}

Cdlt
GLS


Thu, 27 Nov 2025 17:12:00 GMT

Reproduction totale ou partielle strictement interdite • Propulsé par KitWeb • Hébergement Wan Again • Valid XHTML 1.0 Transitional