AtelierDJ 0 Signaler ce message Posté(e) 9 avril 2018 Bonjour, Est-ce que quelqu'un aurait une solution pour réaliser le Qr code suisse fin d'éditer avec Filemaker la facturation selon cette nouvel norme (fichier en annexe) ? Avec mes remerciements et mes plus cordiales salutations. DJ ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf ig-qr-bill-fr.pdf Partager ce message Lien à poster Partager sur d’autres sites
0 David Julot 47 Signaler ce message Posté(e) 15 avril 2018 Bonjour, Pour générer le QR Code je vous conseille l'utilisation d'un plug-in. Il en existe deux, payants, qui permettent de réaliser rapidement des QR Code dans FileMaker : CNS Barcode : https://www.cnsplug-ins.com/Plug-ins/CNS_Barcode/ xmChart : http://x2max.com/home/ Je n'ai pas vu dans le premier la possibilité d'ajouter une image au centre du QR Code (pour l'ajout de la Croix Suisse), par contre le second oui, il a même un exemple pour générer le Swiss QR Code de paiement : http://x2max.com/docs/refs/functions/barcode_qr/ Partager ce message Lien à poster Partager sur d’autres sites
0 dwikstroem 52 Signaler ce message Posté(e) 15 avril 2018 Voir sussi cette discussion sur un forum gérmanophone, qui solève pas mal de points pértinents : https://filemaker-magazin.de/forum/alle-beitraege/175877 Avec, entre autre, ce fichier d’exemple : https://filemaker-magazin.de/attachements/176450/original/Fill_Form_Fields.fmp12.zip?1514360448 Partager ce message Lien à poster Partager sur d’autres sites
0 Esaïe 19 Signaler ce message Posté(e) 17 avril 2018 c'est aussi maintenant possible avec MBS avec la croix suisse, il y a un exemple de génération spécifique Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 19 avril 2018 Bonjour, c'est aussi possible avec le plugin (gratuit) Scriptmaster et l'API Google "zxing" (juste les modules core et javase). zxing_QRCodeWriteWithImageOverlay( QRC_Data ; QRC_Height ; QRC_Width ; IMGOverlay_Path ; QRC_OutputPath ) les paramètres de la fonction étant: QRC_Data: les données à représenter sous forme de QRCode. QRC_Height : la hauteur en pixels du QRCode. QRC_Width: la largeur en pixels du QRCode . IMGOverlay_Path: le chemin (au format Système) de l'image à ajouter en superposition. (the swiss cross) QRC_OutputPath: le chemin de sortie (au format système) de l'image représentant le QRCode. RegisterGroovy( "zxing_QRCodeWriteWithImageOverlay( QRC_Data ; QRC_Height ; QRC_Width ; IMGOverlay_Path ; QRC_OutputPath )" ; "import com.google.zxing.BarcodeFormat¶import com.google.zxing.EncodeHintType¶import com.google.zxing.WriterException¶import com.google.zxing.client.j2se.MatrixToImageWriter¶import com.google.zxing.qrcode.QRCodeWriter¶import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel¶¶import javax.imageio.ImageIO¶import java.awt.*¶import java.awt.image.BufferedImage¶¶import static java.awt.AlphaComposite.getInstance¶¶try{¶ def writer = new QRCodeWriter()¶ def hints = new HashMap<>()[EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H]¶ def matrix = writer.encode( QRC_Data, BarcodeFormat.QR_CODE, QRC_Height as int, QRC_Width as int, hints )¶¶ def qrImg = MatrixToImageWriter.toBufferedImage(matrix)¶ def overlay = ImageIO.read(new File( IMGOverlay_Path ))¶¶ // Deltas Hauteur/Largeur¶ deltaHeight = qrImg.height - overlay.height¶ deltaWidth = qrImg.width - overlay.width¶¶ // Dessine nouvelle image PNG avec superposition img additionnelle centrée¶ def combined = new BufferedImage(QRC_Height as int, QRC_Width as int, BufferedImage.TYPE_INT_ARGB)¶ def g = combined.graphics as Graphics2D¶ g.drawImage qrImg, 0, 0, null¶ g.composite = getInstance(AlphaComposite.SRC_OVER, 1f)¶ g.drawImage overlay, Math.round(deltaWidth / 2) as int, Math.round( deltaHeight / 2) as int, null¶¶ ImageIO.write(combined, \"PNG\", new File( QRC_OutputPath ) )¶ true¶} catch (WriterException w){¶ \"ERROR: $w.message\"¶} catch (Exception e){¶ \"ERROR: $e.message\"¶}"; "isGui=false" ) Par flemme, je n'ai pas intégré dans le code ci-dessus une 'croix suisse' se recalculant/redimensionnant automatiquement selon la quantité de données à afficher dans le QRCode (…mais cette opération est facilement intégrable dans le script groovy…). -------------------------------------------------------------------------------------------- Pour l'exemple et pour l'image de superposition, j'ai produit 3 images de taille différentes(à 24/32/48 px) et pour les données , le texte de l'url de ton message… Pour info,ma version de FM ne permettant des scripts 'modernes' , ces images ont produites avec une vielle version des APIs (2010 env.) ------------------------------------------------------------------------------------------------------ 1 dwikstroem a réagi à ceci Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 19 avril 2018 @dwikstroem Vielen Dank, lieber EU Nachbar! Partager ce message Lien à poster Partager sur d’autres sites
0 dwikstroem 52 Signaler ce message Posté(e) 19 avril 2018 De nada! Partager ce message Lien à poster Partager sur d’autres sites
0 AtelierDJ 0 Signaler ce message Posté(e) 22 avril 2018 Bonsoir à chacun et grand merci de vos aides. Comme je suis débutant avec FileMaker et n'ayant pas de formation en informatique, j'aurais besoin d'un B-A BA pour m'en sortir ou lors si l'un ou l'autre pouvait me forunir un fichier exemple ce serait magnifique. J'ai bien installé le plugin (gratuit) Scriptmaster et l'API Google "zxing" (juste les modules core et javase) mais après, je galère ;-((( Merci d'avance à vous. Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 23 avril 2018 Bonjour, pas de pb pour un exemple; mais juste un peu de temps pour relire plus en détails les spécifications techniques et fonctionnelles du payement Swiss QRCode, intégrer l'automatisation de la mise à l'échelle de la croix suisse et … produire le document. 1 dwikstroem a réagi à ceci Partager ce message Lien à poster Partager sur d’autres sites
0 Esaïe 19 Signaler ce message Posté(e) 3 mai 2018 Hello c'est assez basic pour créer le qr code de payement suisse. Il n'est pas codé d'une quelconque façon (JSON), juste des mises à la ligne (l'exemple complet est à la page 30 de ce document : https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-fr.pdf ), par exemple en ligne 17 c'est le montant et en ligne 27 le numéro de référence Partager ce message Lien à poster Partager sur d’autres sites
0 AtelierDJ 0 Signaler ce message Posté(e) 9 mai 2018 Bonsoir à chacun et merci de vos commentaires, remarques bien aidantes. Comme je ne suis pas un spécialiste, je vais attendre l'exemple de Clem qui j'espère me sortira l'épine du pied;- Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 14 mai 2018 Bonjour, Merci pour ta patience (suisse) et sincèrement désolé d'avoir été aussi (français) long… Après lecture des spécifications (de la foule de contraintes cachées), épluché la FAQ de SIX-Interbank, trituré leur exemple Java (qui ne répond absolument pas aux pb et aux contraintes), je me suis plongé au départ dans un des sites de DENSO WAVE Inc pour essayer de déterminer au mieux la version de QRCode à employer en fonction de la quantité de données, la taille du module etc, croisé les infos de SIX-Interbank, MoneyToday.ch et plein plein d'autres encore. Au fil des navigations et recherches, j'ai débusqué 'qrinvoice-core-0.7.jar' (sous licence AGPL) une superbe API développée par Codeblock GmbH qui garanti à 100% la conformité du Swiss QR. Cette API, utilise également en dépendances l'API Google zxing (core & java se), contrôle absolument l'ensemble des paramètres requis, leur conformité (ex: Caractères ISO-8859-1 uniquement, checksum de l'IBAN modulo 97 (CH/LI uniquement), contrôle du numéro de référence par Swiss modulo-10, l'emploi de la bonne version de QR en fct de la quantité de données (ce qui entraîne des dimensions du QR variables), une croix suisse de 5mm à ~14% du QR , un QR code sans Quiet Zone (celle-ci, de 5mm, est déterminée par le placement du QR sur le format A6.) etc… etc…. L'API permet également d'imprimer les factures A4, A5 et A6 au format PDF. et utilise pour cela qrinvoice-openpdf-0.7.jar [iText4] ou qrinvoice-itext5-0.7.jar [iText5])… mais ça c'est pour plus tard, lorsque j'aurais mieux saisi l'api… faut dire que Java 8 et ses Lambdas c'est du tout neuf pour moi! … De ce que j'ai à peu près saisi pour le moment … (juste la partie QR Code dans son environnement A6). NOTE: Au premier démarrage, le fichier nécessite une connexion Internet pour télécharger les API. La bordure verte ci-dessus n'est là que pour l'exemple et ne sert qu'à matérialiser l'emplacement ~obligatoire~ des différentes sections. Elle se supprime d'un clic en mode modèle… Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip Swiss QR Invoice.zip 1 sordar a réagi à ceci Partager ce message Lien à poster Partager sur d’autres sites
0 Voilier211 0 Signaler ce message Posté(e) 16 mai 2018 Hello Clem, Un grand merci pour ton aide qui, j'espère, pourra me faire passablement avancer. En regardant ton script SWISS QR INVOICE - Generate, je constate qu'à la ligne 19 j'ai <Fonction manquante> qui apparaît. Pourrais-tu stp me dire de quelle fonction il s'agit ? Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 16 mai 2018 Bonsoir, les deux fonctions ScriptMaster qui s'enregistrent 'normalement' au démarrage de la solution sont: codeblock_QrBill( SPC ; printUltimateCreditor ; desiredQrSize ; pathToQrCode ) zxing_QrDecodeFile( filePath ; charset ; correctionLevel ) C'est le script "Register Functions" qui initialise ses deux fonctions et ce script fait partie intégrante de la procédure d'initialisation "Startup" . Vérification (sommaire) de ScriptMaster, Vérification version Java, Vérification & Téléchargement des fichiers jars, Chargement des librairies jars Enregistrement des fonctions Je n'arrive pas à comprendre comment tu es arrivé à une <Fonction manquante> à part un Script Debugger au lancement du fichier et et le script de démarrage subitement interrompu…(Ctrl+F8) Partager ce message Lien à poster Partager sur d’autres sites
0 Voilier211 0 Signaler ce message Posté(e) 17 mai 2018 Merci pour ta réponse. A l'ouverture du fichier, il m'indique effectivement mais j'ai mis à jour Java et ça persiste. Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 17 mai 2018 … ta version ScriptMaster est bien la 5.xx? Partager ce message Lien à poster Partager sur d’autres sites
0 Voilier211 0 Signaler ce message Posté(e) 17 mai 2018 Oui c'est la 5.09 Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 17 mai 2018 La numérotation de version de Java ayant changée depuis la 1.8… et moi de bondir (de joie aussi) de la v.12 à la v.17 Il va falloir revenir au code que j'avais initialement écrit (mais bon dieu pourquoi changer??) Dans le script Check ScriptMaster and Java……", désactive ou supprime les lignes 12 et 13 et remplace les par les 12 & 13 çi dessous … et bien sûr relancer ensuite le script "Startup" Il reste à corriger le script "Swiss QR Invoice -Read" au cas où la solution et les PNG sont sur un support externe Mac. J'apporterais ces motifs en ecrasant le fichier zip plus haut… Partager ce message Lien à poster Partager sur d’autres sites
0 AtelierDJ 0 Signaler ce message Posté(e) 21 mai 2018 Bonsoir Clem, Merci beaucoup de ton aide précieuse. De mon côté, je crois avoir tout installé selon le descriptif ci-dessous. En testant la base modèle, lorsque j'utilise le script pour générer le QR code, je reçois le message "ERROR: null" Aurais-tu une solution pour ce problème probablement de béotien? 😉 Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 22 mai 2018 Bonjour, j'ai beau tourner la fonction dans tous les sens, je n'arrive pas à reproduire le problème. Peut être est-ce dû à des paramètres Système différents (dates/nombres) ? Pourtant dans les options de fichier j'ai bien coché "Toujours utiliser les paramètres système en cours" … Que donne un clone sans fiche ? --> Menu Fichier/ Enregistrer une copie… (En créant un clone, FileMaker utilise à ce moment les paramètres du sytème en cours d'utilisation. Paramètres inscrits en dur dans le fichier.( format date et numérique)). As-tu essayé en créant une nouvelle fiche ? Peux-tu poster en message personnel le contenu de la rubrique "SwissPaymentCode_ct" de l'enregistrement que tu montres et celui d'un enregistrement fraîchement créé. Ajoutes également la valeur du chemin au dossier "Qr-Invoices". Partager ce message Lien à poster Partager sur d’autres sites
0 Clem 134 Signaler ce message Posté(e) 24 mai 2018 Ticket 287437 résolu. L'extraction manuelle de l'archive était partielle. (Le fichier FM n'était pas accompagné du dossier "Qr-Invoices")… la version 2 inclura donc la vérification/création de dossier. Partager ce message Lien à poster Partager sur d’autres sites
Bonjour,
Est-ce que quelqu'un aurait une solution pour réaliser le Qr code suisse fin d'éditer avec Filemaker la facturation selon cette nouvel norme (fichier en annexe) ?
Avec mes remerciements et mes plus cordiales salutations.
DJ
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
ig-qr-bill-fr.pdf
Partager ce message
Lien à poster
Partager sur d’autres sites