Zum Inhalt springen

Moritz

smapOne
  • Gesamte Inhalte

    730
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    80

Alle Inhalte von Moritz

  1. Richtig gut, @Kai Hildebrandt, danke! Was mir auch immer ganz gut hilft beim Bauen von Berichtstemplates ist das manuelle Einfärben gleicher IF-ENDIF-Bausteine, so dass man sie optisch besser zuordnen kann. Da diese Steuerkommandos im fertigen Dokument (Word oder PDF) sowieso wieder entfernt werden, kann man sich hier im Grunde beliebig austoben. Zu beachten ist aber: man muss schon genau darauf achten, welche Anweisungen auch wirklich zusammengehören. Wenn man erstmal farbig falsch zugeordnet hat, kann das eine etwaige Fehlersuche sogar verschlimmern. Deshalb: "Holzauge, sei wachsam!" 😉
  2. Lieber @Jens Mussler, In dem Aufruf an die Preview-API können Sie kein Intervall (z.B. "45 Tage") angeben. Sie können den Filter nur auf ein spezifisches Datum setzen und dabei alle Datensätze z.B. "älter als [Datum]" auswählen. In Ihrem Fall müssten Sie also in Ihrem Script zunächst einen String erzeugen, der das Datum vor 45 Tagen ermittelt (idealerweise ab Mitternach, 00:00 Uhr) und dann alle Datensätze danach filtert. Vor 45 Tagen ist nach meiner Berechnung der 14. Oktober, also würde Ihr Abruf in etwa so aussehen: /Backend/preview/Smaps/{smapId}/Records?$filter=CompletedDate gt 2022-10-14T00:00:00Z Welche Sprache setzen Sie ein? Das sieht mir nach .NET o.ä. aus. Da gibt es doch mit Sicherheit auch einen Befehl für das aktuelle Datum minus 45 Tage...?
  3. Keine Pflicht, ich dachte nur wenn man hier die Positivbesipiele sammelt, kann das andere Kunden bei Recherche und Auswahl unterstützen.
  4. @Kate Ehrhardt @Vincent Richter @Luise Scharf kann man sich ggf. spontan reinschalten? Oder ist vorab-Anmeldung erforderlich?
  5. Übrigens: Es gab doch mal Google Cloud Print (seit Anfang 2021 eingestellt)... Hat jemand in dieser Richtung Erfahrungen? Gibt es hier woanders Nachfolger, Nachahmer, Bessermacher?
  6. Sweet! 🤗 Gibt es einen Hersteller und/oder Modell, das erwähnenswert wäre? Oder ist das nicht zur Sprache gekommen?
  7. @Marco Föttinger sehr cool. Klar, es gibt den Bilderbaustein, um (auch größere) Bilder einzublenden – bei Bedarf auch regelbasiert. Aber ein paar sinnvoll eingesetzte Emojies sind da manchmal besser geeignet, als gleich ein Bild. Danke dir für den Tipp! 💪 @Flo Dietrich was sagst du eigentlich zu Emojies? 😁😇
  8. @Bianca Jäkel war da nicht mal was mit einer Schnitzeljagd-smap...? 😍 @Dirk Battermann Dönerbestell-smap ist natürlich genial. Gleich integriert in das Fleischspieß-ERP? 😉 Und die Idee mit der Taschengeld-smap finde ich ebenfalls herrlich und werde ich – sobald meine Kleinen in das entsprechende Alter kommen – definitiv auch so umsetzen 😄
  9. Sehr cool, @Oliver Grimm! 💪 Geht z.B. auch, wenn man nur User aus einem bestimmten Domainbereich zulassen möchte: ENDSWITH({user:email}, "@smapone.com") ... bzw. ... OR(ENDSWITH({user:email}, "@smapone.com"), ENDSWITH({user:email}, "@smapone.de"))
  10. Nur dass ich Sie richtig verstehe, @Philip Alvermann: Sie würden sich eine API-Route wünschen, in der man – ähnlich wie beim GET-Abruf – gleich über einen Filter ausgewählte Datensätze löschen kann, ohne jeweils die Single-Delete-Route ansprechen zu müssen? Für das Problem mit dem 429er-Error (allgemeine Hinweise für alle Mitlesende finden sich übrigens in der Doku) : Ja klar, gerade wenn man hier über eine große Anzahl von Datensätzen iteriert, tritt – je nach Systemstärke und gewählter Programmiersprache – mehr oder weniger schnell dieser Fehler auf. Es hilft leiter nichts, das muss abgefangen werden, z.B. indem man das Script um die Anzahl der Sekunden (+ ggf. 1 Sekunde Sicherheitspuffer o.ä.) pausiert, die die API zusammen mit dem 429er-Error zurückgibt: P.S. So wie ich Sie erlebt hatte, wissen Sie um diesen Trick auch schon längst. Ich habe ihn eher der Vollständigkeit halber für alle Interessierte hier einmal niedergeschrieben 😉
  11. Es kam immer wieder vor, dass ich einmal prüfen wollte, ob eine bestimmte smap einen eingerichteten Webhook hat. Oder ganz allgemein ist es z.T. mühselig, eine Übersicht aller Webhooks für die eigenen smaps zu erhalten. Aus diesem Grund hatte ich mal ein kleines Tool gebastelt, welches ich bei github hoste. Zu erreichen ist es unter der URL https://smappetizer.github.io/webhooks/ Im ersten Schritt wird man aufgefordert, das eigene smapOne-API-Token einzutragen. ⚠️⚠️⚠️⚠️⚠️ Wichtiger Hinweis: Das eigene API-Token sollte sehr vertraulich behandelt werden. Jede Aktivität, die ihr (oder andere) an der API damit ausführt, wird über das API-Token eurem Account zugeordnet. Deshalb gebt das Token niemals an Dritte weiter (es sei denn, ihr seid euch darüber bewusst, was ihr tut; z.B. wenn jemand eure smaps technisch in andere Systeme integriert, ist mitunter das Token erforderlich)! Und gebt das Token auch niemals in externen Webseiten ein, es sei denn, ihr vertraut der Seite. In meinem Fall könnt ihr euch den Quellcode sogar herunterladen, alles prüfen und das Tool dann auch lokal bei euch laufen lassen. ⚠️⚠️⚠️⚠️⚠️ Euer API-Token findet ihr, wenn ihr in der smapOne-Plattform in euer Profil geht und dann dort in der rechten Spalte auf "REST API Token verwalten" klickt. Alternativ kommt ihr über den folgenden Link an euer API-Token https://platform.smapone.com/portal/Creator/Profile/ManageApiToken Nachdem ihr euer Token eingetragen habt, sollte sich eine Liste aller eurer smaps öffnen. Für jede smap ist markiert, ob bereits ein Webhook eingerichtet ist (inkl. kleinem Label für POST oder GET-Methode) oder ob kein Webhook vorhanden ist (im gezeigten Beispiel hat die smap "Eventmeldung" einen aktiven POST-Webhook, die smap "Infos Panel Speaker" hat keinen eingerichteten Webhook): Darüberhinaus könnt ihr – durch Klick auf eine smap – auch Details zu der jeweiligen smap anzeigen lassen, inkl. der Webhook-URL, die für die smap eingerichtet ist. Fragen? Gerne fragen! 🙂 Achso und das ist ein github-Projekt. Das bedeuet, ihr könnt den Quellcode einsehen und auch Verbesserungsvorschläge am Quellcode durchführen und einreichen. Wenn sie hilfreich sind, werde ich sie in den Quellcode des Tools mit übernehmen. Viel Spaß damit 🤗
  12. Gibt es einen schöneren Tag als den Freitag (ja klar: den Samstag! 😄)? Um das jeweils anstehende Wochenende gebührend einzuleiten, mache ich hier einfach mal einen universellen Wochenausklangsfaden (Faden englisch = Thread 😉) auf, in dem ich Freitags immer mal reinposten werde. Gerne mitmachen! 🙂 Richtet sich übrigens auch an alle GentleWOMEN! 😉
  13. @Daniel Feuser ja cool, danke mal hier für den Einblick. Druckt ihr die Sachen tatsächlich auch aus? Oder habt ihr bei euch "nur" die PDF-Ablage realisiert? In den meisten Fällen wird ja die digitale Ablage der PDFs auch vollkommen ausreichen (immerhin soll smapOne ja dabei helfen, papierlos oder -arm zu werden...!!! 😄). Spannend wird es dann nur z.B. für Gastrobetriebe oder Event-Veranstalter, wo man doch mal eben den Ausdruck benötigt. Aus diesen Bereichen kamen in den meisten Fällen auch die Anfragen diesbezüglich.
  14. Erfolgsjournal, Erfolgsjournal... Gibt es da nicht eine smap?! 😄
  15. @Oliver Kühne du bist auch genial, wenn ich das mal so ganz frei sagen darf 😉
  16. Also es ist tatsächlich so, dass das Attribut zum öffnen im neuen Fenster (target="_blank") manchmal vorhanden ist, manchmal nicht. Das erklärt erstmal, warum es sich manchmal in neuem Tab/Fenster öffnet und manchmal eben nicht... --- Ohne target="_blank" Mit target="_blank" --- Nur nochmal nachgehakt: Es gibt keine Stelle, wo man das manuell einstellen kann, richtig?
  17. @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.
  18. Moritz

    smapGuide

    Die im Video erwähnte Feedback-smap (smapLand Issues) erhaltet ihr über diesen Link https://platform.smapone.com/Portal/Store/6e0bc64a49034ba1bbce04a0dd87c657/7173cd5134765cde911da1bb68d2ec54d6330166 bzw. diesen QR-Code
  19. Moritz

    smapGuide

    Yoyo Leutz, genau so sieht es aus! Hier im Forum tummeln sich ja schon einige Infos zu dieser Community-Plattform. So zum Beispiel @Flo Dietrichs Beiträge Was zum no-code ist smapLand? oder auch Was soll ich hier? Beide Beiträge beleuchten aber vor allem die Gedanken und Impulse rund um smapLand. Wir dachten, euch könnte ein kurzes Videotutorial helfen, die Plattform und das Forum im Detail und die Mechanik dahinter zu verstehen. Und genau das haben wir für euch erstellt. Voilà, wohl bekomm's:
  20. Das aus deinem Munde (für alle unwissenden Mitleser, Britta ist ebenfalls Mitglied in der Tafelrunde der Formelninja 😉) adelt mich natürlich spontan – hab Dank! 🤗
  21. "Darf man auf sich stolz sein?", an anderer Stelle wurde gefragt, ob man über den Status signalisieren kann/darf/sollte, dass man gerade nicht auf 100% läuft. Für mich stellt sich weder die eine noch die andere Frage. Für mich gibt es lediglich: Be authentic! Wenn es euer Stil ist, dass ihr stolz auf euch seid, dann tragt es in die Welt. Und wenn ihr euch mal Schei*e fühlt, dann macht auch da kein Geheimnis draus. Alles andere ist Selbst- und Fremdbetrug. Go for it! (Das liebe ich übrigens am wunderschönen Brandenburg. Hier trägt man sein Herz auf der Zunge. Das ist manchmal hart, aber stets ehrlich!)
  22. 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... ... 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. 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)) ... 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. 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})) 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}, "|") Und mit Hilfe dieser Position kann ich nun auch den Nachnamen extrahieren: SUBTEXT({Rest_1}, 0, SUB({Pipe_pos_2}, 1)) 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})) Das Resultat der ganzen Initiative sollte dann in etwa so aussehen: 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: 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.
  23. Lieber @Philip Alvermann, das geht auch, allerdings nicht in einem Schritt/mit einer API-Route. Sie könnten wie folgt vorgehen: Abruf aller betroffenen Datensätze mit dem gewünschten Filter - als Resultat gibt die API ein Array mit JSON-Objekten zurück. Ein Attribut in dem JSON-Objekt ist die Record-ID (siehe Screenshot oben in meinem Beitrag). Anschließend kann über dieses Array iteriert werden und dann für jeden Iterationsdurchgang einfach die API-Route zum Löschen von Datensätzen aufgerufen und dabei die jeweilige Record-ID übergeben werden, die in der Schleife aktuell ist. Mit welchem Instrument/Tool wollen Sie die o.g. Löschung durchführen? PowerAutomate? Script? Integrationsmiddleware?
×
×
  • Neu erstellen...