0

Bei QR-Code Generierung stürz das APP ab

Hallo Community,

Folgendes Problem: Beim "Rechnungsdruck" generiere ich automatisch einen QR-Code für die Zahlungsanweisung. Diese Funktion habe ich über die Web Version erfolgreich getestet und für gut befunden. Wie ich dann aber das Mac App aufmacht habe und ich wieder ein Rechnung erstellen wollte ist das NINOX-App abgestürzt.🙉 Das selbige Problem habe ich am iPhone.

Was kann das für ein Problem sein?

Vorsichthalber habe ich den Code auch angefügt. 

let mybic := first(select Einstellungen).BIC;
let mykon := first(select Einstellungen).'Konto Inhaber';
let myiban := first(select Einstellungen).IBAN;
let mybetrag := 'Summe-QR';
let myzaref := Kunde.Nachname + "-" + 'ID-Nr';
let myhinw := "Rechnung " + 'ID-Nr';
QR := importFile(this, "https://qrcode.tec-it.com/API/QRCode?data=BCD%0a002%0a1%0aSCT%0a" + mybic + "%0a" + mykon + "%0a" + myiban + "%0aEUR" + mybetrag + "%0a%0a" + myzaref + "%0a%0a" + myhinw + "&backcolor=%23ffffff", "myQR.png");
let myFileName := format(if 'Datum der Rechnungsstellung' then 'Datum der Rechnungsstellung' else today() end, "YYYYMMDD") + "_" + 'ID-Nr' + "_" + Kunde.Nachname + ".pdf";
importFile(this, printAndSaveRecord(this, "Rechnung"),
myFileName); Rechnung := myFileName

16 Antworten

null
    • Ninox Solution-Partner
    • RonaldP
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Moin rainer ,

    um das Einzugrenzen: hast du mal nur den QR-Call in der Mac-APP getestet?

    VG Ronald

      • rainer
      • vor 1 Jahr
      • Gemeldet - anzeigen

      DIGITOOL Ja habe ich da wird kein QR-Code erstellt, in der WEB Version schon.

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Rainer
    Ich habe mal in der Mac-App  V 3.7.14 deinen Import nachgebaut.
    Ein Bildfeld und ein Button mit folgendem Script:

    QR := importFile(this, "https://qrcode.tec-it.com/API/QRCode?data=BCD%0a002%0a1%0aSCT%0a" + "12345678" + "%0a" + "123456789" + "%0a" + "1234567890" + "%0aEUR" + "100,00" + "%0a%0a" + "UweG" + "%0a%0a" + "UweG1" + "&backcolor=%23ffffff", "myQR.png")

    Der QR-Code wird ohne Probleme in das Bildfeld geschrieben.
     

      • rainer
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG 

      Danke für das Testen, ich habe es nochmals getestet. In dem Mac App (auch V3.7.14) kann ich einen QR-Code erzeugen wird aber im Bildfeld nicht angezeigt. Ein File wird aber erzeugt und kann angeklickt werden.

      Bild 1: Ich habe einen QR-Code im Mac App erstellt und im Web App angesehen.
      Bild 2: Die Bildvorschau

      (Links Web - Rechts Mac App und der selbe Datensatz)

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Rainer
    Mit beigefügter DB erstelle ich im Web und in der Mac-App einen QR Code und importiere ihn in das Bildfeld.
    Es wird auch direkt im Bildfeld angezeigt.

    • Senectute_24
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo allerseits,

    mich würde das Thema auch besonders interessieren. Und Rainer hat recht, wenn man die URL auf dieser Weise umschreibt, funktioniert die QR-Code-Erstellung nicht mehr.

    let myBic := first(select Einstellungen).BIC;
    let myKon := first(select Einstellungen).Firma;
    let myIban := first(select Einstellungen).IBAN;
    let mySum := 'Brutto Gesamt';
    let myZaref := Klienten.Nachname + " " + 'ID-Nr.';
    let myHinw := "Rechnung " + 'ID-Nr.';
    'QR-Code' := importFile(this, "https://qrcode.tec-it.com/API/QRCode?data=BCD%0a002%0a1%0aSCT%0a" + myBic + "%0a" + myKon + "%0a" + myIban + "%0aEUR" + mySum + "%0a%0a" + myZaref + "%0a%0a" + myHinw + "&backcolor=%23ffffff", "myQR.png")
    

    Vielen lieben Dank in Voraus für eure Bemühungen! 

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Wie sieht denn der Inhalt eurer Variablen aus?
    Bspw. euer Zahlbetrag.
    Enthält er ein Währungszeichen oder enthalten eure Variablen überhaupt Sonderzeichen?

    Dann würde ich es mal mit Variable := urlEncode(WERT) ausprobieren.
     

      • rainer
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG 

      Ich habe den Zahlenwert in einem extra Feld ohne Währungszeichen.

      die Variable kenne ich nicht, wie kann ich die verwenden?

    • Senectute_24
    • vor 1 Jahr
    • Gemeldet - anzeigen

    rainer  Hast Du nun das Problem gelöst? Ansonsten kann ich hier kurz schildern wie ich es gelöst hab.

    Also, das Problem liegt offensichtlich daran, dass es KEINE LEERZEICHEN ausgegeben werden dürfen. Ich hab mir dazu eine Textbox zur Hilfe genommen und dort mal den code geschrieben. Die Variable  let myKon := first(select Einstellungen).Firma; hat z.B bei mir den Wert "SENECTUTE 24 GmbH" zurückgegeben. Diesen musste ich als "SENECTUTE+24+GmbH" umschreiben. Ebenso beim Rechnungsbetrag let mySum := 'Brutto Gesamt' musste ich den Ausgabewert als Zahl "100" ohne Leerzeichen oder € darstellen.

    Kontrolliere mal wie diese Variablen - myBic + "%0a" + myKon + "%0a" + myIban + "%0aEUR" + mySum + "%0a%0a" + myZaref + "%0a%0a" + myHinw  - in Deinem Fall als Text aussehen.

    Gruss, Adrian

      • rainer
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Senectute 24 

      Nein, leider noch nicht.

      Ich habe deinen Lösungsansatz mal ausprobiert, leider ohne Erfolg.

      Den Betrag schreibe ich extra nochmals in ein Feld ohne Währungszeichen.

    • Senectute_24
    • vor 1 Jahr
    • Gemeldet - anzeigen

    ....und nun hab ich auch den Grund für den Crash identifiziert.

    Bei mir stürzt die App ab dann wenn im Text ein Umlaut vorkommt! Da hab ich aber noch keine Lösung...

    vielleicht kann wer helfen. Gibt es eine Formel mit der man die Umlaute  im Text wegbekommt?

    Vielen lieben Dank! 

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ich wiederhole nochmals meine Antwort.
    Habt ihr die zu übertragenden Werte url encoded?
    Dann werden Leer- und Sonderzeichen aus der App heraus übertragen.

    Die App stürzt bei mir trotz enthaltener Leer- und Sonderzeichen nicht ab und erstellt mir in einem Bildfeld einen sichtbaren QR-Code.

      • Senectute_24
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG hallo!

      Ich hab meine Werte nicht url encoded! hab nicht mal eine Ahnung wie das gehen soll... mit Variable := urlEncode(WERT) komme ich leider nicht weiter.

      Und ist bei Dir der QR-Code auch lesbar?

      Vielen lieben Dank! 

      • Senectute_24
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG hallo nochmal!

      ich hab nun meine variablen wie folgt definiert:

      let myBic := urlEncode(first(select Einstellungen).BIC);
      let myIban := urlEncode(first(select Einstellungen).IBAN);
      let myKto := urlEncode(first(select Einstellungen).Firma);
      let mySum := text(number('Brutto Gesamt'));
      let myZaref := Klienten.Nachname + "-" + 'ID-Nr.';
      let myHinw := Klienten.Nachname + "-" + 'ID-Nr.';
      'QR-Code' := importFile(this, "https://qrcode.tec-it.com/API/QRCode?data=BCD%0a002%0a1%0aSCT%0a" + myBic + "%0a" + myKto + "%0a" + myIban + "%0aEUR" + mySum + "%0a%0a" + myZaref + "%0a%0a" + myHinw, "myQR.png");
      

      trotzdem stürzt meine App wenn ich einen Wert habe der Umlaute enthält... seeeeehr seltsam!

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Senectute 24 Ich bau mal die DB anhand deines Script nach und teste es in der App.
      Meine Versuche geben mir mit der App einen lesbaren QR Code in einem Bildfeld zurück.
       

    • rainer
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Leute ich habs, UweG hatte recht, man sollte auch bei myZaref und myHinw den urlEncode hinzufügen 🙄🙈

    So sieht es jetzt bei mir aus und es funktioniert:

    let mybic := first(select Einstellungen).BIC;
    let mykon := urlEncode(first(select Einstellungen).'Konto Inhaber');
    let myiban := first(select Einstellungen).IBAN;
    let mybetrag := 'Summe-QR';
    let myzaref := urlEncode(Kunde.Nachname + "-" + 'ID-Nr');
    let myhinw := urlEncode("Rechnung " + 'ID-Nr');
    QR := importFile(this, "https://qrcode.tec-it.com/API/QRCode?data=BCD%0a002%0a1%0aSCT%0a" + mybic + "%0a" + mykon + "%0a" + myiban + "%0aEUR" + mybetrag + "%0a%0a" + myzaref + "%0a%0a" + myhinw + "&backcolor=%23ffffff", "myQR-code.png")
    

    Besten Dank nochmal für euren Einsatz und die tatkräftige Unterstützung 👍👏

    P.S.:  Senectute 24 ich hoffe es funktioniert so auch bei dir.

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 16Antworten
  • 126Ansichten
  • 4 Folge bereits