QR Code in Formular drucken (neue Einzahlungsscheine in der Schweiz)
Hallo
Ich bin die neuen Einzahungsscheine mit dem neuen QR Code am programmieren.
Ich habe den QR Code generiert via hmtl, funktinoniert alles bestens, leider wird der Code beim Ausdrucken nicht angezeigt. Im Drucklayout ist er sichtbar.
Hat jemand ein Idee warum der QR Code nicht gedruckt wird?
Danke für Euren Input.
Gruss
Markus
21 Antworten
-
Hallo Markus,
am besten generierst du den QR-Code als PNG. Ninox hat probleme beim drucken von HTML.
Leo
-
Hallo Leo
Danke für Deine Antwort. ich bin kein html Kenner. Ich habe auf der Website, welche den QR-Code für den EZ erstellt den html code herunter kopiert und leicht angepasst. Der imagetype stand auf Guf und ich habe diesen aug png ungeschrieben. Das Resultat ist dasselbe, Bild nicht gedruckt.
Vielleicht kannst Du mir anhand des Codes sagen was ich noch anders machen könnte. Ansonsten versuche ich den Webseitenbetreiber anzuschreiben.
html("<div style='text-align: center;'>
<img style='margin:1px' height='170px'
src='https://barcode.tec-it.com/barcode.ashx?data=" + 'QR-Text' + "&code=SwissQRCodeV2&translate-esc=false&unit=Fit&dpi=96&imagetype=png&rotation=0&color=%23000000&bgcolor=%23ffffff&qunit=Mm&quiet=0&eclevel=M'/>
</div>
<div style='padding-top:8px; text-align:center; font-size:15px; font-family: Source Sans Pro, Arial, sans-serif;'>
<!-- back-linking to www.tec-it.com is required -->
<a href='https://www.tec-it.com' title='Barcode Software by TEC-IT' target='_blank'></a>
</div>")Markus
-
Hallo Markus,
Ich würde es komplett ohne html machen.
Versuch biite folgendes:
1-Erstell ein Bildfeld namens "QR"
2- Erstell ein Button mit dem Code:
...
QR:=importFile(this,"https://barcode.tec-it.com/barcode.ashx?data=" + 'QR-Text' + "&code=SwissQRCodeV2&translate-esc=false&unit=Fit&dpi=96&imagetype=png&rotation=0&color=%23000000&bgcolor=%23ffffff&qunit=Mm&quiet=0&eclevel=M","myQR.png")
...
3. Setzt dein Bildfeld in dein Printlayout
So sollte es funktionieren
Leo
-
Hallo Leo
Danke für den Typ. Leider funktioniert es nicht. Das Bild wird nicht generiert. Ich bekomme die Fehlermedlung zurück "Invalid data format. ...." von der Website.
Markus
-
Hallo Markus,
ich habe den code von der Webseite geholt und statt imagetype=Gif ->imagetype=png eingesetzt.
und damit funktioniert alles.
-
Hallo Leo
In dieser Form funktioniert die Geschichte. Es ist jedoch so, dass die im data= Teil gesetzten Informationen entsprechend dem Record mit unterschiedlichen Daten gefüllt werden müssen (Adressen, Rechnungsbetrag etc). Ich habe diesen DATA-Teil in einem Funktionsfeld zusammengebaut und danach in den Befehl https:// ... eingebaut. Diese Variable habe ich dann auch als text() formatiert etc. ich habe auch den ganzen Befehl in eine Varibale gesetzt. der befehl sieht dann so aus:
QR := importFile(this, 'QR-Text', "myQR.png")
Es scheint mir jedoch, dass diese Variable in der Funktion importFile nicht interpretiert werden kann.
-
Hallo Markus,
wenn die Formel als html funktioniert hat, dann sollte sie auch mit importFile() funktionieren. Der String muss allerdings "internetfähig" sein. Versuch es mal mit urlEncode(string):
QR:=importFile(this,"https://barcode.tec-it.com/barcode.ashx?data=" + urlEncode('QR-Text')+ "&code=SwissQRCodeV2&translate-esc=false&unit=Fit&dpi=96&imagetype=png&rotation=0&color=%23000000&bgcolor=%23ffffff&qunit=Mm&quiet=0&eclevel=M","myQR.png")
Leo
-
Hallo Leo
Funktioniert auch nicht.
Ich fasse zusammen, im hmtl funktioniert der QR Code mit der Variablen integriert. Mit der Importfunktion funtioniert es, wenn der String vollständig in Anführunsgzeichen steht. -> zusammnegesetzt mit urlEncode() funktioniert es nicht.
Wäre ein möglicher Ansatz, den ganzen String
"https://barcode.tec-it.com/barcode.ashx?data=" + urlEncode('QR-Text')+ "&code=SwissQRCodeV2&translate-esc=false&unit=Fit&dpi=96&imagetype=png&rotation=0&color=%23000000&bgcolor=%23ffffff&qunit=Mm&quiet=0&eclevel=M"
in eine separate Variable zu setzten und in diesem am Anfang und am Ende noch zusätzlich die Anführungszeichen zu setzen. Ich habe das versucht, konnte jedoch keine Anführungszeichen hinzufügen.
Markus
-
kannst du bitte hier den String von 'QR-Text' posten?
-
QR-Text
var BETRAG := "0";
var NAMEZP := "";
var ADRZP := replace(Strasse_Rech, " ", "+");
var ORTZP := PLZ_Lief + "+" + Ort_Rech;
var MITTEILUNG := "RNG+NR:+" + Rechnungsnummer + "+REF:+" + Ref_Kunde;
if Mandant = 1 then
BETRAG := format('Summe Brutto', "0.00")
end;
if Mandant = 2 then
BETRAG := format('Summe Brutto inkl MwSt', "0.00");
void
end;
if Firma_Rech = null then
NAMEZP := replace(Vorname_Rech, " ", "+") + "+" + replace(Nachname_Rech, " ", "+");
void
else
NAMEZP := replace(Firma_Rech, " ", "+");
void
end;
"SPC%0A0200%0A1%0ACH2609000000601867509%0AK%0ABoite+à+Brico%0ARue+du+Rhône+12%0A1963+Vétroz%0A%0A%0ACH%0A%0A%0A%0A%0A%0A%0A%0A" + BETRAG + "%0ACHF%0AK%0A" + NAMEZP + "%0A" + ADRZP + "%0A" + ORTZP + "%0A%0A%0ACH%0ANON%0A%0A" + MITTEILUNG + "%0AEPD%0A%0A%0A"Befehlschaltfläche
QR := importFile(this, "https://barcode.tec-it.com/barcode.ashx?data= " + urlEncode('QR-Text') + "&code=SwissQRCodeV2&multiplebarcodes=false&translate-esc=false&unit=Fit&dpi=96&imagetype=png&rotation=0&color=%23000000&bgcolor=%23ffffff&qunit=Mm&quiet=0&eclevel=M", "myQR.png")
-
Hallo Leo
Ich habe noch einwenig herumprobiert und mit alert() den String ausgegeben. Der String ist in Ordnung und stimmt mit dem String welcher im html eingegeben wird überein.
Ich kann mir nicht erklären wo der Fehler liegt.
Hast Du noch ein Idee?
Gruss
Markus
-
Hallo
Ich denke, dass der Code in Ordnung ist und die Funktionalität ledigllich nur vom Webseitenbetreiber abhängt.
Danke Leo für die Unterstützung.
Gruss
Markus
-
Hallo Markus,
sorry for delay. Ich kann hier leider nicht viel beitragen, weil ich die Datenbank nicht habe. Wenn der Code grundsätzlich funktioniert, dann kann man es versuchen, die Adresse als String in ein Textfeld zu packen und dann in importFile() hinzufügen. Ich glaube die Lösung liegt ganz nah.
Mach doch ein screensharing Termin mit Ninox-Support, da wird bestimmt geholfen.Leo
-
HAllo Megge
Ich ban auch daran interesier meine Rechnugen mit einem QR zu verehen und da du das alles schon gemacht hast wäre es möglich von dir den Aaufbau zu erhalten?
-
Hallo Zughund
Ich habe dir auf die email adresse info@zughund.ch
einige Erklärungen geschickt.
Hast diese bekommen?
Gruss
Megge
-
Hallo Megge
Ich hätte ebenfalls interesse an dem. Könntest du mir die Erklärung auch via Mail zustellen?
Lg
Mila
-
Hallo Megge kann kannst du mir die Erklärung auch per Mail zustellen unter noel.gloor@gmail.com
-
Guten Tag zusammen, hallo Markus
Ich habe etwas Zeit verstreichen lassen um den neuen Swiss-QR ZS zu impelmentieren, in der Hoffnung eine Lösung zu integrieren, die aus dem Gesichtspunkt der Datenhoheit einwandfrei ist. Jetzt muss ich umsetzten, was ich bisher getan habe:
Ich zapfe mit openURL und einem anhand der Rechnungsdaten generierter URL den Dienst https://qr-rechnung.net ab. Dieser wird lokal im Browser gecacht und generiert direkt ein pdf, dass in den Downloads landet. Versuche mit verschiedenen Drucker und Einzahlung am Postschalter sind am laufen, die Grundfunktionalität wenn der dryrun abgeschlossen wird ist somit abgedeckt. Der Dienst bietet den QR-Code auch als SVG an, was Ninox bekannterweise nicht direkt verarbeiten kann. Was nicht geht ist mittels import(File this...) das pdf direkt in Ninox zu laden.
Was noch fehlt, ein Generator der den reinen Swiss-QR Code als Bild generiert. Ziel dieses Elementes ist es, "hübsche" Rechnungen erstellen zu können. Dafür habe ich von GitHub diese Applikation installiert. Auch die wird über URL gefüttert und generiert wahlweise png, pdf oder eps Bilder.
Auch bei dieser App ist es nicht möglich via import(File this...) das Bild abzuholen und es Ninox zu integrierten.
Hat jemand eine Idee, weshalb das nicht geht? Auch bin ich für alternative Lösungen dankbar.
Danke für die Antworten, ich grüsse Euch
Stefan
Beispiellose:
QR := importFile(this, "http://localhost:9933/qr?format=png&udname=Mary+Jane&udaddr1=Artikel+19b", "Rechnung.png")
-
Mit Carbone als Druckeditor hat man auch die Möglichkeit Rechnungen mit QR-Code zu generieren. Es werden über 100 verschiedene QR-Codes angeboten. SwissCode ist auch enthalten. Sollte ein QR-Code nicht enthalten sein, kann man sich mit den Entwicklern in Verbindung setzten. Meist bekommt man schnelle eine Antwort ob die Implementierung möglich ist und wie zeitnah.
Content aside
- vor 2 JahrenZuletzt aktiv
- 21Antworten
- 4766Ansichten
-
4
Folge bereits