Zum Inhalt springen

QR-Code-Inhalte auf mehrere Felder aufsplitten


_Moritz_
Gehe zur Lösung Gelöst von _Moritz_,

Empfohlene Beiträge

  • Lösung

Ich wurde einmal gefragt, ob bzw. wie es möglich sei, Inhalte aus QR-Codes in verschiedene Felder aufzutrennen. Zugegeben, das ist nicht trivial. Aber mit Hilfe unserer Formeln und Ergebnisbausteinen können wir uns das Ergebnis zusammenschustern.

Beispielsweise beinhaltet dieser QR-Code...

image.png.6083eea06c98303ed282ce0adc448ac3.png

... den folgenden Textinhalt:

Moritz|Hesse|moritz.hesse@smapone.com|https://forum.community.smapone.com/profile/58-moritz-hesse/

Also zunächst einmal meinen Vornamen, Nachnamen, Emailadresse und Link zu meinem Profil hier in der Community. Alle jeweils getrennt durch ein "|" ("Pipe"). Diese vier Einzelwerte kann ich mir nun auf vier eigenen Ergebnis- oder auch Eingabefelder aufsplitten, so dass die Daten nicht nur "diskret" im QR-Code hinterlegt, sondern auch für uns Menschen lesbar und weiterverarbeitbar sind.

Wenn ich das ganze nun in einer smap abbilden möchte, dann muss ich mit einigen Zwischenschritten arbeiten. Der Einfachkeit halber lege ich diese Zwischenschritte im Folgenden in eigene Ergebnisfelder. Da diese Zwischenwerte in einem echten Datensatz allerdings nicht benötigt werden, kann man die Formeln auch enstprechend verdichtet ohne Zwischenergebnisfelder aufbauen (bei Interesse einfach mal bei mir nachfragen, wie das geht).

Sodenn, los geht's: Klar, die smap benötigt natürlich zunächst einmal einen Codescanner-Baustein. Als nächstes erstellen wir einen Textergebnisbaustein, in den wir die folgende Formel einfügen:

TEXTPOS({CodeScanner}, "|")

Diesen Baustein nenne ich {Pipe_pos_1}, da er die Position des ersten Pipes in dem Text zurückgibt.

image.png.3de65a4e27e59d11f7a9a35cd78617dd.png

pipe_pos_1.thumb.png.43758a566bcd5d337208a3bd3a60558a.png

Dieses Ergebnis, also diese Zahl kann ich nun verwenden, um im nächsten Schritt aus dem Codescanner-Inhalt meinen Vornamen zu extrahieren. Denn wir wissen: Alles bis zum ersten Pipe ist der Vorname. Also nehmen wir die Formel...

SUBTEXT({CodeScanner}, 0, SUB({Pipe_pos_1}, 1))

image.png.8e6f321959ad7d78abe4f7e17f8c4706.png

... und erhalten damit bereits sauber extrahiert den Vornamen. Da wir das Pipe-Trennzeichen selber nicht mitnehmen wollen, subtrahiere ich von der Positionsnummer noch eine 1.

vorname.thumb.png.f34a72f2d248f67ed707bc61aebc88c9.png

Um die weiteren Felder zu extrahieren, muss ich zunächst den "Rest-Text" ermitteln. Das mache ich, indem ich einfach den Text vom ersten Pipe bis zum Ende des Codescanners extrahiere:

SUBTEXT({CodeScanner}, ADD({Pipe_pos_1}, 1), LENGTH({CodeScanner}))

image.png.ac5994cb028db1064553cfdd066cf8b1.png

rest_1.thumb.png.0ed7e6f752ef4f7563fe7662cf284b90.png

Und diesen Rest werte ich nun nach dem gleichen Schema aus, wie ich das schon initial mit dem Vornamen gemacht habe: Ich ermittle die Position des zweiten Pipes in dem vorhandenen Rest-Text.

TEXTPOS({Rest_1}, "|")

image.png.36e5508390d2a16c997152dc623b44a2.png

image.thumb.png.d642562a4897a764c3a1481deaa5499a.png

Und mit Hilfe dieser Position kann ich nun auch den Nachnamen extrahieren:

SUBTEXT({Rest_1}, 0, SUB({Pipe_pos_2}, 1))

image.png.7e3ca91805b4cc903ca26e5aa29d731b.png

Die Emailadresse wird wieder nach dem gleichen Verfahren extrahiert, nun einfach ein Pipe "später":

Dazu ermittle ich den Rest ohne Vor- und Nachname in ein Textfeld...

SUBTEXT({Rest_1}, ADD({Pipe_pos_2}, 1), LENGTH({Rest_1}))

... dann ermittle ich wieder die Position des nächsten (und letzten) Pipes in ein Zahlenergebnisfeld...

TEXTPOS({Rest_2}, "|")

... und kriege die Emailadresse als Subtext zwischen Anfang und Pipe:

SUBTEXT({Rest_2}, 0, SUB({Pipe_pos_3}, 1))

Um am Ende die URL zu meinem Community-Profil zu extrahieren, brauchen wir nur noch den Rest, reduziert um das letzte noch vorhandene Pipe. Die Formel ist also die gleiche wie oben, um den jeweils noch übrigen Rest zu ermitteln:

SUBTEXT({Rest_2}, ADD({Pipe_pos_3}, 1), LENGTH({Rest_2}))

image.png.44eda3b6aaa4e7c260a7edf25f05f602.png

Das Resultat der ganzen Initiative sollte dann in etwa so aussehen:

image.thumb.png.04a74361655549b7afd1d0085c1fab18.png

Beziehungsweise, wenn ihr (sinnvollerweise) die Zwischenschritte ausblendet ("Den Baustein in der App nicht anzeigen") oder (noch besser) direkt ohne Zwischenschritte arbeitet, dann sollte euer Ergebnis so oder so ähnlich aussehen:

3.thumb.jpg.68e78d2acad0abc741035acecb966113.jpg

Na, bis hierhin durchgehalten? Gratulation, du bist ein echter smappie! 😉 Wenn du dir diese Lösung gerne einmal in einer fertigen smap in deinem eigenen Designer ansehen möchtest, schick mir eine kurze Nachricht, dann lasse ich dir diese Beispielsmap als smap-Kopie zukommen.

  • Like 7
  • Danke 4
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Flo Dietrich wir hatten uns dieses Verfahren einmal für einen Produzenten angesehen, der in QR-Codes Stammdaten für seine Produktionsstätten hinterlegt hat. Mit Hilfe von QR-Codes kannst du komplexe Daten (ich nenne durch ein Zeichen getrennte Texte hier einfach mal "komplex") in die smap einbringen (und dann halt auch auf die Felder aufsplitten, so dass du mit den Daten arbeiten kannst), ohne dass du die Daten vorher in die smap importieren musstest (z.B. über einen Datensatzauswahlbaustien) und auch ohne Erfordernis der Anbindung an ein externes Datenhaltungssystem.

Ergo: Du kannst damit halt sehr schnell, einfach und effektiv Daten (sowohl Stammdaten als auch transaktionale Daten) "von außen" in die smap einbringen und weiterverarbeiten.

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Jahr später...

Hi @Moritz!

Danke für die Lösung...wird bald umgesetzt!

Folgende Frage vielleicht an falscher Stelle...aber gibt es den Weg auch in die andere Richtung? Kann ich mir aus verschiedenen Text- und Zahleneingabefeldern einen QR-Code generieren lassen? 

Bei uns kam eine Idee auf, für die das optimal wäre.

Danke und Grüße
Daniel

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Daniel Michalek,

einen QR-Code generieren geht in unserer Platform aktuell nicht nativ.

Du kannst aber deine Bausteinwerte über die Feldfunktionen im Bericht als QR-Code umwandeln.
https://support.microsoft.com/de-de/office/feldfunktionen-displaybarcode-6d81eade-762d-4b44-ae81-f9d3d9e07be3

Die Umwandlung geht aktuell allerdings nur im Word- und nicht im PDF-Bericht.

  • Like 2
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 8 Monate später...

Servus zusammen,

ich greife das Thema mal wieder auf, da ich im Moment an einer Smap mit QR Code arbeite. Es geht um die Digitale Erfassung von Ladedaten.

Hierbei wird eine Ladeliste  durch einen QR-Code digitalisiert. Die Daten im QR werden unterschiedlich sein. (1 oder mehrere Aufträge)

Erfasste Daten wie die Transportnummer, Auftrag, Material und Mengen wären super zum extrahieren um damit Abgleiche zu machen. Das einfachste was mir eingefallen ist ist eine erneute Eingabe in der Smap. Kann mir jemand einen Tipp geben wie das evtl. umsetzbar wäre ? 

QR Code Test.jpeg

df480922_22.07.2024_07_32.jpg

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Florian Kirchleitner

den Ablauf habe ich tatsächlich noch nicht ganz verstanden.

Ihr habt eine Ladeliste (Foto), auf dem ich allerdings nur ein Barcode sehe, keinen QR-Code (es sei denn das kommt noch).

Den Code (ob Bar oder QR) möchtest du über eine smap einlesen und extrahieren lassen.
 

vor 43 Minuten schrieb Florian Kirchleitner:

um damit Abgleiche zu machen.

Abgleiche mit was bzw. mit welchen Werten? Liegen die als Daten denn in der smap bereits vor?

 

vor 44 Minuten schrieb Florian Kirchleitner:

(1 oder mehrere Aufträge)

Das wäre sehr wichtig zu wissen. Was ist das Hauptkriterium?
Wie würden die weiteren Daten aufgeführt werden?
Wie lässt sich eine Auftragsnummer von einer Transportnummer unterscheiden?

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Servus,

ja der QR Code kommt noch.

Aus dem QR Code kommt dann zum Beispiel die Transportnummer die ich als Berichtsname wieder verwenden will.

In dem Code wird es dann zb noch ein LKW Kennzeichen oder eine Containernummer geben. Hier mein Gedanke > Vorbelegung eines

Ergebnisfeldes und dann die Kontrolle auf Richtigkeit. > Vergleich Daten Kennzeichen mit LKW vor Ort. Mit den Mengen das gleiche. Menge aus Daten > Verlgleich mit Lademenge. 

Unterscheidungen sind nach Zuordnung im Moment beide Nummern sind 8stellig. Also Tansportnummer = ... und Auftrag = so wie auf dem QR Beispiel ausgelesen.  

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde Dich an, um einen Kommentar zu hinterlassen

Du kannst nach der Anmeldung einen Kommentar hinterlassen



Jetzt anmelden
×
×
  • Neu erstellen...