Jump to content

QR-Code-Inhalte auf mehrere Felder aufsplitten


Moritz
Go to solution Solved by Moritz,

Recommended Posts

  • Solution

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
  • Thanks 4
Link to comment
Share on other sites

@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 1
Link to comment
Share on other sites

  • 1 year later...

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 to comment
Share on other sites

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 1
  • Thanks 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...