<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0"><channel><title>www.atoutfox.org - Forum</title><link>http://www.atoutfox.org</link><description>Forum de la Communauté Francophone des Professionnels FoxPro</description><language>fr-fr</language><copyright>Copyright 2004-2011 www.atoutfox.org</copyright><managingEditor>bureau@atoutfox.org</managingEditor><webMaster>faure@atoutfox.org Francis FAURE</webMaster><pubDate>Wed, 13 May 2026 22:03:51 GMT</pubDate><lastBuildDate>Wed, 13 May 2026 22:03:51 GMT</lastBuildDate><category>Forum</category><generator>AtoutFox VFP RSS v1.0</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Bonjour à tous</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020356</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020356</guid><description>Quelqu'un aurait de la doc concernant le protocole Concert permettant de gérer un TPE à partir d'un programme de caisse ?&lt;br /&gt;Merci d'avance.&lt;br /&gt;JP&lt;br /&gt;&lt;br /&gt;</description><author>jpb</author><pubDate>Wed, 29 Apr 2026 22:03:51 GMT</pubDate></item><item><title>Re: Rencontres 2026</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020355</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020355</guid><description>Le mar. 14 avril 2026, 10h33 Marc Thivolle a écrit :&lt;br /&gt;&gt; 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&lt;br /&gt;&gt; &lt;br /&gt;&gt; A bientôt à Lyon&lt;br /&gt;&gt; &lt;br /&gt;&lt;br /&gt;Le programme (encore provisoire) est publié.&lt;br /&gt;Cordialement&lt;br /&gt;&lt;br /&gt;</description><author>Francis Faure</author><pubDate>Sun, 26 Apr 2026 22:03:51 GMT</pubDate></item><item><title>Re: Rencontre 2026</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020354</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020354</guid><description>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.&lt;br /&gt;&lt;br /&gt;</description><author>Aimé</author><pubDate>Thu, 16 Apr 2026 22:03:51 GMT</pubDate></item><item><title>Re: Rencontres 2026</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020353</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020353</guid><description>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&lt;br /&gt;&lt;br /&gt;A bientôt à Lyon&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>Marc Thivolle</author><pubDate>Tue, 14 Apr 2026 22:03:51 GMT</pubDate></item><item><title>Rencontres 2026</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020352</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020352</guid><description>Peut-être avez-vous déjà vu ce message sur la page d'accueil ? Sinon, le revoici :&lt;br /&gt;&lt;br /&gt;AtoutFox : 2004-2026...&lt;br /&gt;22 années de partage de contributions, de discussions sur le forum.&lt;br /&gt;... Et les rencontres annuelles !&lt;br /&gt;Cette année, nous avons décidé de doublement changer de format :&lt;br /&gt;- d'une part, elles seront concentrées sur une journée.&lt;br /&gt;- 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.&lt;br /&gt;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...&lt;br /&gt;Nous aurons l'occasion de discuter des sujets qui intéressent les uns et les autres.&lt;br /&gt;La journée se terminera par l'assemblée générale de l'association.&lt;br /&gt;&lt;br /&gt;Ne manquez pas cette dernière occasion de nous revoir,&lt;br /&gt;Réservez maintenant votre mercredi 27 mai à Lyon, à l'Ibis Perrache !&lt;br /&gt;&lt;br /&gt;Jean-Claude Rivière&lt;br /&gt;Président de l'association L1901&lt;br /&gt;&lt;br /&gt;</description><author>jcriv</author><pubDate>Sat, 11 Apr 2026 22:03:51 GMT</pubDate></item><item><title>Re: Rencontre 2026</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020351</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020351</guid><description>bonjour à tous,&lt;br /&gt;si vous pouviez éviter la période 20 - 27 mai : je serai sur les trains à vapeur &lt;br /&gt;du Pays de Galles !&lt;br /&gt;&lt;br /&gt;A bientôt&lt;br /&gt;Jean&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;www.avg.com</description><author>Jean à Grenoble</author><pubDate>Wed, 01 Apr 2026 22:03:51 GMT</pubDate></item><item><title>Re: Rencontre 2026</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020350</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020350</guid><description>Bonjour Kikoun,&lt;br /&gt;les discussions sont toujours en cours et recherche d'hôtel + intervenants&lt;br /&gt;mais normalement oui ...fin mai&lt;br /&gt;publication bientôt&lt;br /&gt;Cordialement&lt;br /&gt;&lt;br /&gt;</description><author>Francis Faure</author><pubDate>Tue, 31 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Rencontre 2026</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020349</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020349</guid><description>Bonjour.&lt;br /&gt;Je souhaiterais savoir s'il est prévu une rencontre en 2026.&lt;br /&gt;&lt;br /&gt;</description><author>kikoun</author><pubDate>Tue, 31 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Imprimer un formulaire</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020348</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020348</guid><description>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&lt;br /&gt;comme l'imression d'un rapport...&lt;br /&gt;A plus&lt;br /&gt;Zep&lt;br /&gt;&lt;br /&gt;</description><author>ZEP</author><pubDate>Wed, 18 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Re: Imprimer un formulaire</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020347</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020347</guid><description>Bonjour.&lt;br /&gt;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.&lt;br /&gt;Si ça peut t'aider...&lt;br /&gt;&lt;br /&gt;=Form2Clipboard(ThisForm.HWnd)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FUNCTION Form2Clipboard&lt;br /&gt;	PARAMETERS hWnd&lt;br /&gt;	*!*  Parts of this code was borrowed http://www.news2news.com/vfp/&lt;br /&gt;	*!*  Mike Gagnon&lt;br /&gt;	WAIT WINDOW "Calculs en cours..." NOWAIT&lt;br /&gt;	*!* * Removed 29/09/2015&lt;br /&gt;	*!* LOCAL oWord as Word.application&lt;br /&gt;	#DEFINE CF_BITMAP   2&lt;br /&gt;	#DEFINE SRCCOPY     13369376&lt;br /&gt;	DO copyActiveWindow&lt;br /&gt;	PRIVATE lnLeft,lnTop,lnRight,lnBottom,lnWidth,lnHeight&lt;br /&gt;	IF IsVide(hwnd)&lt;br /&gt;		hwnd = GetFocus()&lt;br /&gt;	ENDIF&lt;br /&gt;	STORE 0 TO lnLeft, lnTop, lnRight, lnBottom, lnWidth, lnHeight&lt;br /&gt;	= getRect (@lnLeft, @lnTop, @lnRight, @lnBottom, @lnWidth,@lnHeight)&lt;br /&gt;	hdc = GetWindowDC(m.hwnd)&lt;br /&gt;	hVdc = CreateCompatibleDC(m.hdc)&lt;br /&gt;	hBitmap = CreateCompatibleBitmap(m.hdc, m.lnWidth, m.lnHeight)&lt;br /&gt;	= SelectObject (m.hVdc, m.hBitmap)&lt;br /&gt;	= BitBlt (hVdc, 0,0, m.lnWidth, m.lnHeight, m.hdc, 0,0, SRCCOPY)&lt;br /&gt;	= OpenClipboard (m.hwnd)&lt;br /&gt;	= EmptyClipboard()&lt;br /&gt;	= SetClipboardData (CF_BITMAP, hBitmap)&lt;br /&gt;	= CloseClipboard()&lt;br /&gt;	= DeleteObject (hBitmap)&lt;br /&gt;	= DeleteDC (hVdc)&lt;br /&gt;	= ReleaseDC (hwnd, hdc)&lt;br /&gt;*!*		oWord=CREATEOBJECT("word.application")&lt;br /&gt;*!*		oWord.Documents.Add()&lt;br /&gt;*!*		loSelection=oWord.Selection&lt;br /&gt;*!*	    IF m.loSelection.PageSetup.Orientation = 0 Then&lt;br /&gt;*!*	        m.loSelection.PageSetup.Orientation = 1&lt;br /&gt;*!*	    ELSE&lt;br /&gt;*!*	        m.loSelection.PageSetup.Orientation = 0&lt;br /&gt;*!*	    ENDIF&lt;br /&gt;*!*		m.loselection.PasteAndFormat(2)&lt;br /&gt;*!*		oWord.Visible =.t.&lt;br /&gt;*!*		WAIT CLEAR&lt;br /&gt;	Inform("L'image écran est dans le presse-papier")&lt;br /&gt;RETURN&lt;br /&gt;PROCEDURE copyActiveWindow&lt;br /&gt;    DECLARE INTEGER GetWindowRect IN user32 INTEGER hwnd, STRING @ lpRect&lt;br /&gt;    DECLARE INTEGER SelectObject IN gdi32 INTEGER hdc,INTEGER hObject&lt;br /&gt;    DECLARE INTEGER ReleaseDC IN user32 INTEGER hwnd,INTEGER hdc&lt;br /&gt;    DECLARE INTEGER CreateCompatibleDC IN gdi32 INTEGER hdc&lt;br /&gt;    DECLARE INTEGER DeleteObject IN gdi32 INTEGER hObject&lt;br /&gt;    DECLARE INTEGER DeleteDC IN gdi32 INTEGER hdc&lt;br /&gt;    DECLARE INTEGER CloseClipboard IN user32&lt;br /&gt;    DECLARE INTEGER GetFocus IN user32&lt;br /&gt;    DECLARE INTEGER EmptyClipboard  IN user32&lt;br /&gt;    DECLARE INTEGER GetWindowDC IN user32 INTEGER hwnd&lt;br /&gt;    DECLARE INTEGER OpenClipboard IN user32 INTEGER hwnd&lt;br /&gt;    DECLARE INTEGER SetClipboardData IN user32 INTEGER wFormat, INTEGER hMem&lt;br /&gt;    DECLARE INTEGER CreateCompatibleBitmap IN gdi32;&lt;br /&gt;        INTEGER hdc, INTEGER nWidth, INTEGER nHeight&lt;br /&gt;&lt;br /&gt;    DECLARE INTEGER BitBlt IN gdi32;&lt;br /&gt;        INTEGER hDestDC, INTEGER x, INTEGER y,;&lt;br /&gt;        INTEGER nWidth, INTEGER nHeight, INTEGER hSrcDC,;&lt;br /&gt;        INTEGER xSrc, INTEGER ySrc, INTEGER dwRop&lt;br /&gt;RETURN&lt;br /&gt;PROCEDURE getRect(lnLeft, lnTop, lnRight, lnBottom,lnWidth, lnHeight)&lt;br /&gt;    LOCAL lpRect&lt;br /&gt;    lpRect = Repli(Chr(0), 16)&lt;br /&gt;    = GetWindowRect (hwnd, @lpRect)&lt;br /&gt;    lnLeft   = buf2dword(SUBSTR(lpRect,  1,4))&lt;br /&gt;    lnTop    = buf2dword(SUBSTR(lpRect,  5,4))&lt;br /&gt;    lnRight  = buf2dword(SUBSTR(lpRect,  9,4))&lt;br /&gt;    lnBottom = buf2dword(SUBSTR(lpRect, 13,4))&lt;br /&gt;    lnWidth  = lnRight - lnLeft&lt;br /&gt;    lnHeight = lnBottom - lnTop&lt;br /&gt;RETURN&lt;br /&gt;FUNCTION buf2dword (lcBuffer)&lt;br /&gt;RETURN Asc(SUBSTR(lcBuffer, 1,1)) + ;&lt;br /&gt;    Asc(SUBSTR(lcBuffer, 2,1)) * 256 +;&lt;br /&gt;    Asc(SUBSTR(lcBuffer, 3,1)) * 65536 +;&lt;br /&gt;    Asc(SUBSTR(lcBuffer, 4,1)) * 16777216&lt;br /&gt;&lt;br /&gt;</description><author>jcriv</author><pubDate>Wed, 18 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Re: Imprimer un formulaire</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020346</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020346</guid><description>Bonjour ZEP,&lt;br /&gt;&lt;br /&gt;dans le temps, j'ai beaucoup utilisé Foxypreviewer de Cesar CHALOM qui non &lt;br /&gt;seulement permet d'imprimer mais aussi de créer des PDFs, d'envoyer le document &lt;br /&gt;par mail, etc ...&lt;br /&gt;&lt;br /&gt;www.foxypreviewer.com&lt;br /&gt;&lt;br /&gt;Bonne journée&lt;br /&gt;&lt;br /&gt;Jean à Grenoble&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;www.avg.com</description><author>Jean à Grenoble</author><pubDate>Tue, 17 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Imprimer un formulaire</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020345</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020345</guid><description>Bonjour,&lt;br /&gt;&lt;br /&gt;j'ai développé dernièrement la création de graphiques à partir de données... je voudrais les imprimer .. Avez vous une astuce ?&lt;br /&gt;Merci..&lt;br /&gt;&lt;br /&gt;</description><author>ZEP</author><pubDate>Tue, 17 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Re: Documentation VFP en francais</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020344</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020344</guid><description>Bonjour et Merci pour tous&lt;br /&gt;&lt;br /&gt;</description><author>alahem1</author><pubDate>Wed, 04 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Re: Documentation VFP en francais</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020343</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020343</guid><description>et il y a ce groupe très efficace !&lt;br /&gt;&lt;br /&gt;Bonne journée à tous&lt;br /&gt;&lt;br /&gt;Jean à Grenoble&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;www.avg.com</description><author>Jean à Grenoble</author><pubDate>Wed, 04 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Re: Documentation VFP en francais</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020342</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020342</guid><description>Bonjour&lt;br /&gt;Non pas de documentation VFP9 en Français&lt;br /&gt;la dernière version du fichier d'aide et livre en Français = VFP6&lt;br /&gt;Ceci dit avec google traduction ce n'est pas un problème pour un développeur&lt;br /&gt;Cordialement&lt;br /&gt;Francis&lt;br /&gt;&lt;br /&gt;</description><author>Francis Faure</author><pubDate>Tue, 03 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Documentation VFP en francais</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020341</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020341</guid><description>&lt;br /&gt;Bonjour,&lt;br /&gt;&lt;br /&gt;De mémoire, il m'a semblé vue une traduction de la documentation de VFP9.&lt;br /&gt;&lt;br /&gt;Merci pour la réponse et bonne journée.&lt;br /&gt;&lt;br /&gt;</description><author>alahem1</author><pubDate>Tue, 03 Mar 2026 22:03:51 GMT</pubDate></item><item><title>Re: Impression en Noir et Blanc</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020340</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020340</guid><description>Environement de l'imprimante coché =&gt; 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.&lt;br /&gt;&lt;br /&gt;</description><author>lud57330</author><pubDate>Wed, 18 Feb 2026 22:03:51 GMT</pubDate></item><item><title>Re: Factures électroniques</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020339</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020339</guid><description>Bonsoir Francis, &lt;br /&gt;&lt;br /&gt;Ooops "syntax error" ;-)  ..... Odoo l'ERP open source&lt;br /&gt;&lt;br /&gt;Après tout n'est pas gratuit la compta est payante notre choix à été Odoo On Premise&lt;br /&gt;&lt;br /&gt;C'est payant mais tout le code source est chez nous&lt;br /&gt;&lt;br /&gt;C'est un serveur Python qui fonctionne en reverse proxy sur notre IIS qui hoste notre site Ecommerce en VFP 9&lt;br /&gt;&lt;br /&gt;Pour ce qui est de la facturation électronique le premier module ( hosté chez Odoo ) est gratuit, &lt;br /&gt;&lt;br /&gt;Et il faudrait vérifier si elle fait bien partie de la version Odoo Community  qui est gratuite&lt;br /&gt;&lt;br /&gt;Cordialement &lt;br /&gt;Marcel&lt;br /&gt;&lt;br /&gt;</description><author>Marcel</author><pubDate>Mon, 19 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: Factures électroniques</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020338</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020338</guid><description>Merci pour ta réponse Gilles&lt;br /&gt;Même si je parlais des DPD / FA&lt;br /&gt;&lt;br /&gt;pour xfrx : tu peux faire un exemple "basique" et envoyer au support eqeus les matin sont réactifs&lt;br /&gt;ton sujet m'intéresse bien si tu veux nous tenir informé. Merci&lt;br /&gt;&lt;br /&gt;Cordialement&lt;br /&gt;Francis&lt;br /&gt;&lt;br /&gt;Le mer. 14 janvier 2026, 07h57 GLS a écrit :&lt;br /&gt;&gt; Bonjour Francis,&lt;br /&gt;&gt; je suis dessus en ce moment au moins pour les factures PDF  facturX.&lt;br /&gt;&gt; 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).&lt;br /&gt;&gt; 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..&lt;br /&gt;&gt; Cdlt&lt;br /&gt;&gt; Gilles&lt;br /&gt;&gt; &lt;br /&gt;&gt; &lt;br /&gt;&gt; &lt;br /&gt;&gt; .&lt;br /&gt;&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>Francis Faure</author><pubDate>Mon, 19 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: Factures électroniques</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020337</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020337</guid><description>Bonsoir Marcel&lt;br /&gt;pour "ODDO" : parles-tu de la banque ou de l'ERP open source ?&lt;br /&gt;Cordialement&lt;br /&gt;Francis&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Le sam. 17 janvier 2026, 19h00 Marcel a écrit :&lt;br /&gt;&gt; Bonjour,&lt;br /&gt;&gt; &lt;br /&gt;&gt; Comme on est passé sur Oddo suite à cette obligation de facture éléctronique.&lt;br /&gt;&gt; Je compte automatiser l'intégration de l'existant en VFP et j'ai bossée sur VFP &lt;-&gt; Python&lt;br /&gt;&gt; Le résultat public sur Github est ici :&lt;br /&gt;&gt; https://github.com/marceldesmet/py-fox&lt;br /&gt;&gt; &lt;br /&gt;&gt; J'arrive à passer des Object VFP via Json à des fonctions Python et il existe des tonnes de librairies en open source.&lt;br /&gt;&gt; Pour les factures électroniques il y a&lt;br /&gt;&gt; Peppol BIS (Business Interoperability Specifications) -&gt; pip install peppol-bis&lt;br /&gt;&gt; Python-ubl ( Universal Business Language) format  -&gt; pip install python-ubl&lt;br /&gt;&gt; &lt;br /&gt;&gt; Cordialement&lt;br /&gt;&gt; Marcel&lt;br /&gt;&gt; &lt;br /&gt;&gt; &lt;br /&gt;&gt; .&lt;br /&gt;&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>Francis Faure</author><pubDate>Mon, 19 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: Exécuter un script python depuis VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020336</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020336</guid><description>Bonjour, &lt;br /&gt;&lt;br /&gt;C'est probalement un peu tard mais bon .... &lt;br /&gt;&lt;br /&gt;J'intègre pour le moment notre site ( VFP + WestWind ) avec l'ERP d'Odoo &lt;br /&gt;&lt;br /&gt;https://github.com/marceldesmet/py-fox&lt;br /&gt;&lt;br /&gt;Cela fonctionne assez bien y compris pour les erreurs du code python qui reviennent dans VFP &lt;br /&gt; &lt;br /&gt;[VPF] &lt;br /&gt;&lt;br /&gt;? '--- Test: Update single product image by internal reference'&lt;br /&gt;LOCAL loSingleRes&lt;br /&gt;TRY&lt;br /&gt;    loSingleRes = loPy.UpdateProductImageByRef(lcInternalRef, lcImagePath, 'odoo_client.test_connection')&lt;br /&gt;CATCH TO oerr&lt;br /&gt;    ? 'VFP wrapper call error:', oerr.MESSAGE&lt;br /&gt;    loSingleRes = .NULL.&lt;br /&gt;ENDTRY&lt;br /&gt;&lt;br /&gt;IF VARTYPE(loSingleRes) == 'O'&lt;br /&gt;    * loSingleRes is a Collection (ok, product_id, template_id, error)&lt;br /&gt;    ? 'ok:', loSingleRes.item[1,2]&lt;br /&gt;    ? 'product_id:', loSingleRes.item[2,2]&lt;br /&gt;    ? 'template_id:', loSingleRes.item[3,2]&lt;br /&gt;    * Error field only exists when there's an error&lt;br /&gt;    IF loSingleRes.Count &gt;= 4&lt;br /&gt;        ? 'error:', loSingleRes.item[4,2]&lt;br /&gt;    ELSE&lt;br /&gt;        ? 'error: (none)'&lt;br /&gt;    ENDIF&lt;br /&gt;ELSE&lt;br /&gt;    ? 'UpdateProductImageByRef returned non-collection result:', loSingleRes&lt;br /&gt;ENDIF&lt;br /&gt;&lt;br /&gt;[/VFP]  &lt;br /&gt;&lt;br /&gt;Cordialement &lt;br /&gt;Marcel&lt;br /&gt;&lt;br /&gt;</description><author>Marcel</author><pubDate>Mon, 19 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: Factures électroniques</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020335</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020335</guid><description>Bonjour, &lt;br /&gt;&lt;br /&gt;Comme on est passé sur Oddo suite à cette obligation de facture éléctronique. &lt;br /&gt;Je compte automatiser l'intégration de l'existant en VFP et j'ai bossée sur VFP &lt;-&gt; Python &lt;br /&gt;Le résultat public sur Github est ici :&lt;br /&gt;https://github.com/marceldesmet/py-fox&lt;br /&gt;&lt;br /&gt;J'arrive à passer des Object VFP via Json à des fonctions Python et il existe des tonnes de librairies en open source. &lt;br /&gt;Pour les factures électroniques il y a &lt;br /&gt;Peppol BIS (Business Interoperability Specifications) -&gt; pip install peppol-bis&lt;br /&gt;Python-ubl ( Universal Business Language) format  -&gt; pip install python-ubl&lt;br /&gt;&lt;br /&gt;Cordialement &lt;br /&gt;Marcel&lt;br /&gt;&lt;br /&gt;</description><author>Marcel</author><pubDate>Sat, 17 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: Impression en Noir et Blanc</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020334</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020334</guid><description>J'ai trouvé la solution. J'ai tout simplement mis un champ d'une table sur mon état.&lt;br /&gt;&lt;br /&gt;</description><author>kikoun</author><pubDate>Thu, 15 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Impression en Noir et Blanc</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020333</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020333</guid><description>Bonjour. &lt;br /&gt;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.&lt;br /&gt;Si quelqu'un a une solution.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>kikoun</author><pubDate>Thu, 15 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: Factures électroniques</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020332</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020332</guid><description>Bonjour Francis,&lt;br /&gt;je suis dessus en ce moment au moins pour les factures PDF  facturX.&lt;br /&gt;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).&lt;br /&gt;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..&lt;br /&gt;Cdlt&lt;br /&gt;Gilles&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Wed, 14 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Factures électroniques</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020331</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020331</guid><description>Bonjour&lt;br /&gt;Est-ce que quelqu'un a déjà pu commencer des travaux sur la facturation électronique et e-reporting&lt;br /&gt;(obligatoire 1/9/2026)&lt;br /&gt;&lt;br /&gt;Merci de faire part ce vos expériences&lt;br /&gt;Cordialement&lt;br /&gt;Francis&lt;br /&gt;&lt;br /&gt;</description><author>Francis Faure</author><pubDate>Tue, 13 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: renomer un repertoire ?</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020330</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020330</guid><description>Comme D et D, e dirais même plus : run rename 2025 2026. Comme ça il n'y aura pas de mauvaises surprises.&lt;br /&gt;&lt;br /&gt;</description><author>Marc Thivolle</author><pubDate>Thu, 01 Jan 2026 22:03:51 GMT</pubDate></item><item><title>Re: renomer un repertoire ?</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020329</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020329</guid><description>run rename source destination&lt;br /&gt;&lt;br /&gt;Il y a une autre méthode plus compliquée si cela t'interesse ...&lt;br /&gt;&lt;br /&gt;Bonne journée&lt;br /&gt;Jean&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;www.avg.com</description><author>Jean à Grenoble</author><pubDate>Tue, 30 Dec 2025 22:03:51 GMT</pubDate></item><item><title>renomer un repertoire ?</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020328</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020328</guid><description>renomer un repertoire&lt;br /&gt;&lt;br /&gt;</description><author>Adel</author><pubDate>Mon, 29 Dec 2025 22:03:51 GMT</pubDate></item><item><title>Re: Run curl.exe API</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020327</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020327</guid><description>Bonjour, c'est bon j'ai trouvé  . Fautes d'étourderies .... Merci et belle journée, SAndra LAINE&lt;br /&gt;&lt;br /&gt;</description><author>shjl</author><pubDate>Tue, 09 Dec 2025 22:03:51 GMT</pubDate></item><item><title>Run curl.exe API</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020326</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020326</guid><description>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&lt;br /&gt;&lt;br /&gt;Voici mon code curl :que j'ai mis dans un fichier texte F:\test\test2\curltxt.txt :  &lt;br /&gt;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" &lt;br /&gt;&lt;br /&gt;J'ai essayé plusieurs façon : &lt;br /&gt;[vfp] &lt;br /&gt;lc = filetostr("F:\test\test2\curltxt.txt")&lt;br /&gt;RUN &amp;lc&lt;br /&gt;[/vfp]&lt;br /&gt;Pour moi ça ne devrait marcher. Qu'est ce que je fais de mal ?&lt;br /&gt;Merci pour votre aide . Sandra LAINE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>shjl</author><pubDate>Mon, 08 Dec 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020325</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020325</guid><description>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. &lt;br /&gt;Cordialement Sandra&lt;br /&gt;&lt;br /&gt;</description><author>shjl</author><pubDate>Mon, 01 Dec 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020324</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020324</guid><description>Bonjour Sandra,&lt;br /&gt;Ce message est-il en retour de votre requête à l'API ?&lt;br /&gt;Si oui c'est que le fichier doit être envoyé autrement que contenu dans le JSON.&lt;br /&gt;A vérifier dans la documentation d'utilisation de l'API.&lt;br /&gt;&lt;br /&gt;Cdlt&lt;br /&gt;Gls&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Sat, 29 Nov 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020323</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020323</guid><description>Alors j'ai réussi à résoudre mon problème de taille de variable . Voilà mon Json : &lt;br /&gt;J'ai un message "no file attached to the request" comme au debut &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;"file": "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ZyAxOCAwIFIvU3VidHlwZS9UeXBlMT4+CmVuZG9iagoxOCAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRGlmZmVyZW5jZXNbCjEvZzQxL2c0MC9nNTYvZzQ0L2c0Ny9nMy9nMzkvZzQ1L2c1MC9nNTMvZzQ5L2c3MS9nODgvZzIxL2cyNi9nMTgvZzIwL2cxOS9nMjQvZzU1L2c3Mi9nNzAvZzc1L2c4MS9nNzYvZzEzMS9nNzkvZzM3L2c0Ml0+PgplbmRvYmoKMTIgMCBvYmoKPDwvQmFzZUZvbnQvVGltZXMtUm9tYW4vVHlwZS9Gb250Ci9FbmNvZGluZyAxOSAwIFIvU3VidHlwZS9UeXBlMT4+CmVuZG9iagoxOSAwIG9iago8PC9UeXBlL0VuY29kaW5nL0RpZmZlcmVuY2VzWwoxNzYvZGVncmVlCjIzMi9lZ3JhdmUvZWFjdXRlXT4+CmVuZG9iagoxMCAwIG9iago8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0pEQUhGTCtUVDIwMjJvMDAvRm9udEJCb3hbMCAtMTIzIDE1NTcgMTY4MF0vRmxhZ3MgNAovQXNjZW50IDE2ODAKL0NhcEhlaWdodCAxNjgwCi9EZXNjZW50IC0xMjMKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDIzMwovQ2hhclNldCgvZzM3L2cyMC9nMy9nNDIvZzE5L2czOS9nMjQvZzQ1L2c1NS9nNTAvZzcyL2c1My9nNzAvZzQ5L2c3NS9nNzEvZzQxL2c4MS9nODgvZzQwL2c3Ni9nMjEvZzU2L2cxMzEvZzI2L2c0NC9nNzkvZzE4L2c0NykvRm9udEZpbGUzIDE2IDAgUj4+CmVuZG9iagoyIDAgb2JqCjw8L1Byb2R1Y2VyKEFGUEwgR2hvc3RzY3JpcHQgOC4xMSkKL0NyZWF0aW9uRGF0ZShEOjIwMjUxMTI3MjIyNzU1KQovTW9kRGF0ZShEOjIwMjUxMTI3MjIyNzU1KQovVGl0bGUoZjpcXGRldmVsb3BwZW1lbnRcXHRhYmxldHBjXFxkZXZ0YWJsZXRfdGFjdGlsZVxcam91cm5lZS5mcngpCi9DcmVhdG9yKFBTY3JpcHQ1LmRsbCBWZXJzaW9uIDUuMi4yKQovQXV0aG9yKG1pbmlwKT4+ZW5kb2JqCnhyZWYKMCAyMAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDIwNDUgMDAwMDAgbiAKMDAwMDAwODgwNCAwMDAwMCBuIAowMDAwMDAxOTc2IDAwMDAwIG4gCjAwMDAwMDE4MTUgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAxNzk1IDAwMDAwIG4gCjAwMDAwMDI0MDUgMDAwMDAgbiAKMDAwMDAwMjI1NyAwMDAwMCBuIAowMDAwMDAyMDkzIDAwMDAwIG4gCjAwMDAwMDg0ODkgMDAwMDAgbiAKMDAwMDAwNzg3MCAwMDAwMCBuIAowMDAwMDA4MzI4IDAwMDAwIG4gCjAwMDAwMDc4MDcgMDAwMDAgbiAKMDAwMDAwMjE3MyAwMDAwMCBuIAowMDAwMDAyMjAzIDAwMDAwIG4gCjAwMDAwMDI1NTIgMDAwMDAgbiAKMDAwMDAwNzc4NiAwMDAwMCBuIAowMDAwMDA4MTMyIDAwMDAwIG4gCjAwMDAwMDg0MTEgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyMCAvUm9vdCAxIDAgUiAvSW5mbyAyIDAgUgo+PgpzdGFydHhyZWYKOTAzNAolJUVPRgo=",&lt;br /&gt;"title": "quitus intervention chauffage",&lt;br /&gt;"elementType":"intervention",&lt;br /&gt;"intent_contractReference":"TEST",&lt;br /&gt;"intent_documentFamily":"rapports_intervention",&lt;br /&gt;"elementReference":"730042",&lt;br /&gt;"grant_type":"client_credentials"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Cordialement, &lt;br /&gt;sandra&lt;br /&gt;&lt;br /&gt;</description><author>shjl</author><pubDate>Fri, 28 Nov 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020322</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020322</guid><description>Merci pour votre réponse mais mon fichier fait 10ko .&lt;br /&gt;Avez-vous une piset ?&lt;br /&gt;Cordialement, &lt;br /&gt;&lt;br /&gt;Sandra&lt;br /&gt;&lt;br /&gt;</description><author>shjl</author><pubDate>Fri, 28 Nov 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020321</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020321</guid><description>Bonjour,&lt;br /&gt;&lt;br /&gt;Je pense me souvenir que la taille maximum d'une chaîne de caractère sous VFP est de 16 M octets.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Cdlt&lt;br /&gt;Gilles&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Fri, 28 Nov 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020320</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020320</guid><description>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&lt;br /&gt;&lt;br /&gt;lcfile = STRCONV( filetostr("f:\test\compta.pdf") , 13)&lt;br /&gt;&lt;br /&gt;lcmessage = '{ ' + CHR(13) + CHR(10) + ;&lt;br /&gt;'"title":"Test",' + CHR(13) + CHR(10) + ;&lt;br /&gt;'"file":"'+ &amp;lcfile +'", ' + CHR(13) + CHR(10) + ;&lt;br /&gt;'"elementType":"intervention", ' + CHR(13) + CHR(10) + ;&lt;br /&gt;'"elementReference":"730042", ' + CHR(13) + CHR(10) + ;&lt;br /&gt;'"grant_type":"client_credentials", ' + CHR(13) + CHR(10) + ;&lt;br /&gt;'}'&lt;br /&gt;&lt;br /&gt;Cordialement, &lt;br /&gt;sandra&lt;br /&gt;&lt;br /&gt;</description><author>shjl</author><pubDate>Fri, 28 Nov 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020319</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020319</guid><description>Bonjour&lt;br /&gt;&lt;br /&gt;Soit  "file" contient une URL pointant sur le fichier PDF  et le destinataire va le retrouver et le charger dans son navigateur&lt;br /&gt;Soit "file" doit contenir une variable contenant le fichier (FILETOSTR) convertie en BASE64&lt;br /&gt;&lt;br /&gt;Exemple:&lt;br /&gt;{"reparation":[{&lt;br /&gt;                  "reference_externe1":"REF5",&lt;br /&gt;                  "divers":"premier test",&lt;br /&gt;                  "articlereparation":[{&lt;br /&gt;                                          "article":"BLOUSON PACK",&lt;br /&gt;"photo1":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3WAAAN1gGQb3mcAAAAB3RJTUUH4gwDDAomYeXG1QAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS40E0BoxAAAANJJREFUWEftlzEOwjAMRS0RS70EF+GQ7ASE2JA4V4duvQAS+AcHmdIxwQz+kpcm9fuxM8RklQ5pl3K6cuZR4s5HfjQJ5JKcyA2G4oxutOET71d/7hHCAlPpRKvwzLPE1Cjmr/wwAaEkdkHKdBnOw7YsNhRyIvcHC+0oPTdw3d9N1gTYJOUZ64ceJ18KjMoDGwZet136pHu6630nhE3GzaTr3QVW5YaBMBAGwkAYCANhIAz8gQH3J5n3o9T9We4+mECuo1mR93BahZKgL+L4R+M50RPOLxhzmDqZyQAAAABJRU5ErkJggg==",&lt;br /&gt;                                      }]&lt;br /&gt;}]}&lt;br /&gt;&lt;br /&gt;Cdlt&lt;br /&gt;GLS&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Thu, 27 Nov 2025 22:03:51 GMT</pubDate></item><item><title>Re: API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020318</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020318</guid><description>Bonjour,&lt;br /&gt;&lt;br /&gt;Le fichier PDF doit d'abord être intégrée dans une variable Foxpro convertie en base64 et intégrée dans le json.&lt;br /&gt;&lt;br /&gt;Exemple: Le PDF est dans l'attribut Photo1&lt;br /&gt;{"reparation":[{&lt;br /&gt;                  "destinataire_livraison":"LUI",&lt;br /&gt;                  "adresse1_livraison":"Rue du test",&lt;br /&gt;                  "cp_livraison":"56000",&lt;br /&gt;                  "ville_livraison":"MA VILLE",&lt;br /&gt;                  "articlereparation":[{&lt;br /&gt;                                          "article":"MON BLOUSON",&lt;br /&gt;                                          "defaut1":"Déperlance",&lt;br /&gt;                                          "situation_defaut1":"Sur la face avant de l'article",&lt;br /&gt;"photo1":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3WAAAN1gGQb3mcAAAAB3RJTUUH4gwDDAomYeXG1QAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS40E0BoxAAAANJJREFUWEftlzEOwjAMRS0RS70EF+GQ7ASE2JA4V4duvQAS+AcHmdIxwQz+kpcm9fuxM8RklQ5pl3K6cuZR4s5HfjQJ5JKcyA2G4oxutOET71d/7hHCAlPpRKvwzLPE1Cjmr/wwAaEkdkHKdBnOw7YsNhRyIvcHC+0oPTdw3d9N1gTYJOUZ64ceJ18KjMoDGwZet136pHu6630nhE3GzaTr3QVW5YaBMBAGwkAYCANhIAz8gQH3J5n3o9T9We4+mECuo1mR93BahZKgL+L4R+M50RPOLxhzmDqZyQAAAABJRU5ErkJggg==",&lt;br /&gt;                                      }]&lt;br /&gt;}]}&lt;br /&gt;&lt;br /&gt;Cordilament&lt;br /&gt;GLS&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Thu, 27 Nov 2025 22:03:51 GMT</pubDate></item><item><title>API envoi de PDF MSXML2.ServerXMLHTTP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020317</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020317</guid><description>Bonjour, Je suis embêtée, j'ai un programme VFP 9 qui envoie nos interventions de dépannage par le biais d'une API  qui marche très bien. on me demande maintenant en plus d'envoyer les comptes-rendus en pdf et J'y arrives par jotform mais pas dans mon code JSON. Je dois mal faire quelque chose. J'ai un message d'erreur {"message":"No file attached to the request","code":"BODY-INVALID"} . je Pense que c'est cette ligne là qui ne va pas mais je ne sais pas comment faire : "file":"D:/zz/journee_i.pdf",&lt;br /&gt;&lt;br /&gt;Voilà mon code.&lt;br /&gt;[vfp]&lt;br /&gt;LOCAL oHTTP as MSXML2.ServerXMLHTTP&lt;br /&gt; oHTTP=Createobject("MSXML2.ServerXMLHTTP")&lt;br /&gt; oHTTP.Open("POST", m.cURL, .F.)&lt;br /&gt; oHTTP.setRequestHeader('Accept', 'application/json')&lt;br /&gt;	oHTTP.setRequestHeader('Content-Type', 'application/json')&lt;br /&gt;	oHTTP.setRequestHeader('Authorization', 'Bearer '+lcToken)&lt;br /&gt;	lcmessage =  FILETOSTR('D:\donnees\730042.txt')&lt;br /&gt;	oHTTP.Send(lcMessage )&lt;br /&gt;[/vfp]&lt;br /&gt;&lt;br /&gt;voilà a quoi ressemble mon fichier 730042.txt&lt;br /&gt;{&lt;br /&gt;"title":"Test",&lt;br /&gt;"file":"D:/zz/journee_i.pdf",&lt;br /&gt;"elementType":"intervention", &lt;br /&gt;"elementReference":"730042", &lt;br /&gt;"grant_type":"client_credentials", &lt;br /&gt;"intent_documentType":"quitus_maintenance_preventive", &lt;br /&gt;"description":"Quitus",&lt;br /&gt;"intent_documentFamily":"rapports_intervention",&lt;br /&gt;"intent_contractReference":"CONTRAT_TEST", &lt;br /&gt;"intent_documentFamily":"rapports_intervention"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Merci par avance pour votre aide. &lt;br /&gt;Sandra&lt;br /&gt;&lt;br /&gt;</description><author>shjl</author><pubDate>Thu, 27 Nov 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020316</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020316</guid><description>Bonjour,&lt;br /&gt;Toutes les versions et éditions de SQL server sont disponibles sur le Web.&lt;br /&gt;&lt;br /&gt;Si les clients pour qui tu penses développer en SQL ont déjà un serveur SQL, il te faudra vérifier quelle édition ils utilisent : Standard, Entreprise, Web, ou Express. &lt;br /&gt;Si tu as des clients qui utilisent du Standard ou de l'Entreprise, alors tu peux de ton côté développer sur une édition "Developer" qui a les mêmes capacités et perfs que Entreprise, mais elle est gratuite, MAIS elle est interdite en production, réservée au développement.&lt;br /&gt;Si tes clients ont de l'Express, alors tu peux installer un Express sur ta machine de dev, pas la peine de t'encombrer avec des fonctionnalités que tu n'utiliseras jamais (SQL Broker, SQL Agent, etc...)&lt;br /&gt;&lt;br /&gt;Pour ce qui est de la version, autant commencer par la 2022 (la 2025 est encore en preview)&lt;br /&gt;&lt;br /&gt;</description><author>Michel Lévy</author><pubDate>Tue, 21 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020315</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020315</guid><description>Bonsoir Jean,&lt;br /&gt;&gt;&gt;contributions 07-SQL SQL par l'exemple (id = 105)&lt;&lt;&lt;br /&gt;Je crois l'avoir survolé, je vais m'y mettre désormais.&lt;br /&gt;&gt;&gt;un excellent livre écrit par Tamar GRANOR&lt;&lt;&lt;br /&gt;Est-ce que ce livre est encore disponible ? Ou est-ce que l'on peut l'avoir ?&lt;br /&gt;Bonne soirée.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Mon, 20 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020314</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020314</guid><description>Bonjour Jean,&lt;br /&gt;C'est vrai je ne le maitrise pas, mais j'ai l'habitude d'utiliser d'autres comme Informix 4GL, et un peu ORACLE. Cela fait très longtemps, mais je pense qu'il doit y avoir quelques similitudes. De toutes façons, je crois que je peux faire appel à votre expertise si besoin est. J'ai bien l'habitude d'utiliser de temps en temps RLOCK() et FLOCK(). Merci d'avance pour cela.&lt;br /&gt;Cordialement.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Mon, 20 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020313</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020313</guid><description>Bonjour Michel,&lt;br /&gt;Merci de m'édifier, je faisais allusion effectivement à un serveur SQL Server. Honnêtement je n'avais pas connaissance de SQL Express, sinon j'ai bien compris la contribution de GLS. Je suppose que SQL Express est disponible sur le Web. Je vous reviendrai certainement.&lt;br /&gt;Merci de nouveau.&lt;br /&gt;Cordialement.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Mon, 20 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020312</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020312</guid><description>pour le SQL, il ya une excellente contribution dans atoutfox :&lt;br /&gt;&lt;br /&gt;contributions 07-SQL  SQL par l'exemple    (id = 105)&lt;br /&gt;&lt;br /&gt;et un excellent livre écrit par Tamar GRANOR et traduit en français par Atoufox.&lt;br /&gt;&lt;br /&gt;Bonne journée&lt;br /&gt;Jean&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;www.avg.com</description><author>Jean à Grenoble</author><pubDate>Mon, 20 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020311</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020311</guid><description>Bonjour Damonzon,&lt;br /&gt;&lt;br /&gt;tu nous a pas dit si tu maitrises SQL ! Si oui, cela va beaucoup simplifier ton &lt;br /&gt;travail puisque c'est le seul moyen de travailler avec SQL Server.&lt;br /&gt;&lt;br /&gt;Sinon on va pouvoir te donner des exemples et comme le dit Michel ce n'est pas &lt;br /&gt;insurmontable.&lt;br /&gt;&lt;br /&gt;Le seul 'problème' que je vois est la philosophie de "l'exclusion mutuelle". Si &lt;br /&gt;tu utilises encore RLOCK() et Flock(), il va y avoir du changement.&lt;br /&gt;&lt;br /&gt;Bon après-midi&lt;br /&gt;Jean&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;www.avg.com</description><author>Jean à Grenoble</author><pubDate>Sun, 19 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020310</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020310</guid><description>Bonjour,&lt;br /&gt;&lt;br /&gt;De quelle licence parles-tu? Quand tu utilises SQL Server, il te faut toujours voir les choses des deux côtés : coté client (ton appli VFP) et côté serveur (là où se trouvent tes données sur un serveur SQL Server).&lt;br /&gt;&lt;br /&gt;* côté client, Gilles t'a donné les pistes de départ, tu vois qu'il n'est pas besoin de licence en plus, c'est dans VFP&lt;br /&gt;* côté serveur, il te faut évidemment un serveur SQL Server. Selon le volume des données que tu va y stocker, tu va choisir une version différente. Il est plus que probable que tu aies besoin uniquement de la version gratuite de SQL Server, qui s'appelle SQL Express. Cette version fonctionne parfaitement sur un Windows pro partagée avec des applications clientes (il y a aussi une version Linux), et tu peux donc installer un SQL Express sur ta machine de développement.&lt;br /&gt;&lt;br /&gt;Tu devras aussi, sur ta machine de dev, installer SSMS : Sql Server Management Studio. C'est ce qui qui va te permettre de créer, modifier et maintenir tes bases de données sur ton serveur SQL Server. C'est gratuit.&lt;br /&gt;&lt;br /&gt;Tu verras, rien d'insurmontable!&lt;br /&gt;&lt;br /&gt;</description><author>Michel Lévy</author><pubDate>Sun, 19 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020309</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020309</guid><description>Bonjour GLS,&lt;br /&gt;Il faudrait déjà que je me procure une licence SQL Server. J'imagine qu'il y'aura du grain à moudre.&lt;br /&gt;Merci beaucoup et à bientôt.&lt;br /&gt;Cordialement.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Sun, 19 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Aperçu avant impression tronqué</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020308</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020308</guid><description>Bonjour GLS,&lt;br /&gt;Encore merci. Je vous reviendrai dès j'aurais fait cette opération.&lt;br /&gt;Bonne journée de dimanche.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Sun, 19 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020307</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020307</guid><description>Evidemment la base de données Foxpro devra être migrée sous SQL.&lt;br /&gt;Une fois cela effectué, il y a 3 manières d'accéder et manipuler les données SQL.&lt;br /&gt;- des vues distantes VFP sur SQL&lt;br /&gt;- des requêtes envoyées par la commande VFP SQLEXE() et le retour dans des curseurs VFP&lt;br /&gt;- l'utilisation de Foxpro CursorAdaptor&lt;br /&gt;&lt;br /&gt;Bonne journée&lt;br /&gt;Cdlt&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Sun, 19 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Aperçu avant impression tronqué</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020306</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020306</guid><description>Sur toutes les machines qui utilisent l'application.&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Sun, 19 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020305</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020305</guid><description>Bonjour,&lt;br /&gt;La base de données restera celle de VFP ou faut-il créer une base SQL Server et l'intégrer dans le projet VFP ?&lt;br /&gt;Merci.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Sat, 18 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Aperçu avant impression tronqué</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020304</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020304</guid><description>Merci GLS,&lt;br /&gt;Dois-je faire cette modification sur ma machine de développement ou sur celle du client concerné ?&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Sat, 18 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020303</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020303</guid><description>Bonjour,&lt;br /&gt;&lt;br /&gt;Le plus long et le plus fastidieux est qu'il faut revoir les accès aux datas de nos applications en remplaçant toutes les commandes de gestions des données Foxpro (replace, seek, (locate, found, etc..) par des équivalences en SQL  (update, select sql, etc..) pour préparer nos applications à gérer les accès en commande SQL&lt;br /&gt;&lt;br /&gt;Cdlt&lt;br /&gt;Gilles&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Sat, 18 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Aperçu avant impression tronqué</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020302</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020302</guid><description>Bonjour,&lt;br /&gt;C'est certainement lié à la haute résolution de la carte graphique et son exploitation par Foxpro.&lt;br /&gt;Pour régler le problème il faut depuis les propriété de l'exécutable de l'application  onglet compatibilité bouton "Modifier les paramètres PPP élevés puis clic sur la case "Remplacement de la mise à l'échelle PPP"&lt;br /&gt;Cdlt&lt;br /&gt;Gilles&lt;br /&gt;&lt;br /&gt;</description><author>GLS</author><pubDate>Sat, 18 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Attaquer une base SQL Server avec VFP</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020301</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020301</guid><description>Bonjour chers Collègues&lt;br /&gt;J'ai l'obligation d'utiliser VFP pour travailler sur SQL Server Database suite aux nombreuses opportunités que j'ai ratées. Quels sont les prérequis et autres conditions à remplir ?&lt;br /&gt;Merci d'avance pour toutes contributions.&lt;br /&gt;Cordialement.&lt;br /&gt;Damonzon.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Sat, 18 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Aperçu avant impression tronqué</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020300</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020300</guid><description>Bonjour chers Collègues,&lt;br /&gt;Parmi la dizaine de clients qui utilisent mon logiciel GRH, il y'a seulement un chez qui l'aperçu avant impression est tronqué vers la droite. Ce qui se répercute sur les documents imprimés. J'ai réglé autant que je peux l'affichage, mais le problème demeure toujours. J'ai même donné à son affichage les paramètres que j'ais sur ma machine de développement, mais le problème est resté irrésolu. Et ça concerne tous les document imprimés. J'espère qu'un d'entre vous m'aidera à trouver la solution.&lt;br /&gt;Merci d'avance.&lt;br /&gt;Cordialement.&lt;br /&gt;Damonzon.&lt;br /&gt;&lt;br /&gt;</description><author>Damonzon</author><pubDate>Sat, 18 Oct 2025 22:03:51 GMT</pubDate></item><item><title>Re: Formulaire</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020299</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020299</guid><description>Merci beaucoup, bonne journée à toi aussi.&lt;br /&gt;&lt;br /&gt;</description><author>BIAUDOUTJR</author><pubDate>Thu, 21 Aug 2025 22:03:51 GMT</pubDate></item><item><title>Re: Formulaire</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020298</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020298</guid><description>la fenêtre principale de VFP s'appelle _screen mais elle n'a pas de propriété &lt;br /&gt;closable. Pour faire ce que tu veux, il faut créer une fenêtre 'principale' qui &lt;br /&gt;elle aura une propriété closable et qui devra contenir le menu principal de ton &lt;br /&gt;application ...&lt;br /&gt;&lt;br /&gt;Bonne journée&lt;br /&gt;&lt;br /&gt;Jean à Grenoble&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;www.avg.com</description><author>Jean à Grenoble</author><pubDate>Thu, 21 Aug 2025 22:03:51 GMT</pubDate></item><item><title>Re: Formulaire</title><link>http://www.atoutfox.org/nntp.asp?ID=0000020297</link><guid>http://www.atoutfox.org/nntp.asp?ID=0000020297</guid><description>Le jeu. 21 août 2025, 10h45 Jean à Grenoble a écrit :&lt;br /&gt;&gt; Bonjour,&lt;br /&gt;&gt; &lt;br /&gt;&gt; si je comprend bien, tu veux interdire la fermeture de l'écran principal de VFP&lt;br /&gt;&gt; ? A mon humble avis, c'est impossible car cela voudrait dire que l'on ne peut&lt;br /&gt;&gt; pas quitter VFP.&lt;br /&gt;&gt; &lt;br /&gt;&gt; Si tu as un formulaire de ton application qui contient un menu, tu peux mettre&lt;br /&gt;&gt; la propriété closable à .F. (form.closable = .F.), cela va griser la croix en&lt;br /&gt;&gt; haut à droite. Mais dans ce cas tu dois avoir un moyen de fermer la fenêtre par&lt;br /&gt;&gt; programmation.&lt;br /&gt;&gt; &lt;br /&gt;&gt; Et si ce n'est pas cela que tu veux, il faut que tu précises ta question !&lt;br /&gt;&gt; &lt;br /&gt;&gt; Bonne journée&lt;br /&gt;&gt; &lt;br /&gt;&gt; Jean à Grenoble&lt;br /&gt;&gt; &lt;br /&gt;&gt; --&lt;br /&gt;&gt; Cet e-mail a été vérifié par le logiciel antivirus d'AVG.&lt;br /&gt;&gt; www.avg.com&lt;br /&gt;&gt; .&lt;br /&gt;&gt; &lt;br /&gt;Bonjour et merci beaucoup,&lt;br /&gt;en fait je voudrais interdire aux utilistaeurs de fermer leur session en cliquant sur la croix du formulaire qui contient la barre de menu, et les obliger à passer par l'item "Quitter" qui outre la fermeture de l'application nettoie un certain nombre de fichiers tampon. je n'ai pas pu trouver le nom de ce formulaire qui doit doit appartenir au système et être créé avec le gestionnaire de projet.. Avec le nom du formulaire il suffit de modifier la propriété "closable" mais je n'ai pas le nom. Merci de ton aide..&lt;br /&gt;&lt;br /&gt;</description><author>BIAUDOUTJR</author><pubDate>Thu, 21 Aug 2025 22:03:51 GMT</pubDate></item></channel></rss>
