Zum Inhalt springen

Moritz

smapOne
  • Gesamte Inhalte

    730
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    80

Alle Inhalte von Moritz

  1. Ich hatte gar keine Ansicht. Das ist der Text/Code, wenn du es aus Power Automate herauskopierst. Dann hat das diese Notation @{variable('accessToken')} @{output('calculatedValue')} @{body('doHttpRequest')} @{formatDateTime(utcNow(), 'yyyy')} Ich hätte diesen String als Prüfungsschritt in eine JSON-Compose gelegt. Dann hättest du das Ergebnis im Output vergleichen können. Der Weg, den statischen Vergleichstext aber in eine Variable zu legen, ist auch sehr klug/sinnvoll, weil du den Datentyp explizit definierst.
  2. Für einen Audit könnte auch der Abruf der Versionsinformationen einer smap interessant sein...
  3. Hey @Dmytro Vasyliev, schalte in deinem Trigger mal die Option "Who can trigger the flow?" auf "Anyone". Nur dann kann der Webhook-Receiver von außem empfangen werden. Ach und bitte nutzen diesen Webhook jetzt nicht für deinen produktiven Einsatz: Da wir im Forum (und damit potentiell das ganze Netz) die URL kennen, ist diese als kompromittiert zu betrachten. Jeder könnte nun von außen Daten in deinen Flow senden. (Edit: Man kann doch nicht die ganze URL sehen. Trotzdem sollte diese URL prinzipiell sensibel behandelt werden.)
  4. Nein leider nicht. Aber man könnte natürlich diese Tabelle in einen DSAB legen, der Nutzer müsste sich dann die entsprechende Zeile auswählen und es würden dann die jeweiligen Sprachtexte in z.B. einen Textergebnisbaustein referenziert. Dazu müsste allerdings die Datenstruktur umgestellt werden (es müssten X- und Y-Achse vertauscht werden).
  5. Was ich auch mal empfehlen würde: Die Condition mehr sichtbar eine JSON-Compose-Action zu machen. Sowas wie { "kundennr": @{outputs('kundennr')}, "string": @{string('17654')}, "check": @{equals(outputs('kundennr'), string('17654'))} } Weil das Debugging der Condition ist ja immer wenig aussagekräftig (man sieht ja im Flow-Run nur das Resultat, true oder false; ohne dass man die Werte für den Check nochmal sieht). Das Ergebnis würde dann sowas hier ausspucken... { "kundennr": 17654, "string": "17654", "check": false }
  6. Hey @Micha Zenke, kannst du aus einem Flow-Durchlauf mal den Inhalt von "kundennr" zeigen? Ansonsten finde ich den Zeilenumbruch auf der linken Seite deiner Kondition sehr verdächtig... Kriegst du das entfernt? Ich meine, dass manchmal ein Zeilenumbruch sichtbar ist, ohne das wirklich einer enthalten ist (also ein Anzeigebug bei Power Automate). Aber möglicherweise ist das auch einfach ein Zeilenumbruch, der in der anderen Seite natürlich nicht enthalten ist...
  7. Ich sehe gerade auch keine Möglichkeit, in der smap (also in der smapOne-App, in der der Nutzer das smap-Formular ausfüllt) zu prüfen/erkennen, ob es eine (ggf. sogar automatisiert erzeugte) Aufgabe ist oder nicht. Über die REST-API ist das herauszufinden, ja klar. Alleine schon weil man den Abruf ja auf ?state=Incomplete oder direkt über die Preview-API /Smaps/Tasks fährt. Aber auch im JSON des Datensatzes ist das erkennbar: Jedoch, wie gesagt, nicht in der smap...
  8. Nach meiner Erfahrung liegt genau hier der Hase im Pfeffer: Auf der linken Seite deiner Prüfung ist die kundennr (ich gehe davon aus, dass dieser Wert als String/Text vorliegt), auf der rechten Seite hast du aber eine Zahl eingetragen. Sieht für dich nicht danach aus? Für Power Automate aber schon! 😉 Wie kannst du das Problem lösen? Es gibt eines Funktion/Expression, mit der du arbiträre Werte in einen String casten kannst: Achtung wichtig: Das musst du als Expression/Funktion eintragen. Das sollte dann in deinem Flow so oder so ähnlich aussehen... ... und nicht so: Probier bitte einmal aus, ob das dein Problem löst...
  9. Du meinst "des jeweiligen Creators", oder? Das Token hängt am Creator... Tatsächlich kann man mit dem Master-Token in der internen API die Subscriptions der Childs (per /Subscriptions) einsehen, darin sind auch die Child-Token enthalten. Damit kann man also eine "Fahrt" über alle smaps aller Creatoren realisieren...
  10. Ja genau, einfach über die API per PowerQuery in eine Excel-Tabelle laden. Das würde auf jeden Fall einen Überblick ermöglichen. Man müsste die Query in zwei Schritten gestalten. Zunächst würde über /Smaps erstmal eine Liste aller smaps (bzw. konkret der smapIDs) beschafft. Und über diese Liste wird dann iteriert, um die Aufgaben für jede smap zu ziehen. In der Tabelle könnte die smap dann als Spalte enthalten sein, so dass man nach smap filtern kann. Weitere Filter (z.B. nach User, Titel usw.) wären dann natürlich auch möglich.
  11. @David Susami würde euch eine Übersicht in Excel bereits weiterhelfen?
  12. @Christian B. Gütthoff deine Webapplikation muss den Aufruf an der API durchführen, so dass darin Daten aus der Webseite an smapOne übertragen werden. Es müsste also Code ähnlich diesem hier in deiner Webapplikation hinzugefügt werden: document.getElementById('myButton').addEventListener('click', function() { const smapID = "6fca7319-e2f2-4c8e-957e-4f56875430ff"; const version = "1.0"; const url = "https://platform.smapone.com/Backend/intern/Smaps/" + smapID + "/Versions/" + version + "/Data"; const username = "abc123"; // Can by any arbitrary dummy username const password = "SMAPONE_API_PASSWORT"; // Your API token const auth = btoa(username + ":" + password); fetch(url, { method: 'POST', headers: { 'Authorization': 'Basic ' + auth, 'Content-Type': 'application/json' }, body: JSON.stringify({ "userEmail": "string", "title": "string", "comment": "string", "hasPriority": true, "dueDate": { "date": "string" }, "data": {} }) }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); }); Mehr Infos zur Aufgabenerzeugung über die API in unserer FAQ: https://faq.smapone.com/kb/guide/de/wie-konnen-aufgaben-uber-die-rest-api-generiert-werden-nA03jLD4w0/Steps/966370 Außerdem ein smappetizer Deep Dive Tutorial, das die Aufgabenerstellung adressiert Eure Aufgabe bzw. die des Webentwicklers wäre jetzt auch noch, die jeweiligen Daten aus der vom User ausgewählten Gruppe, Untergruppe, Element usw. in das Body-Objekt mit aufzunehmen. Allgemeiner wichtiger Sicherheitshinweis: Die vorgestellte Lösung sollte nicht auf einer öffentlich zugänglichen Webseite umgesetzt werden, da jeder Besucher damit Zugriff auf das API-Token erhalten kann, was ein erhebliches Sicherheitsrisiko darstellt. Dies ist nur für interne Zwecke sinnvoll, idealerweise eine Webseite, auf die nur der Creator selber Zugriff hat. Grundsätzlich besteht aber auch die Möglichkeit, öffentlich zugängliche Webseiten in die smapOne API zu integrieren, ohne dass das Token jedem Besucher zugänglich/einsehbar ist.
  13. In der präsentierten Auswahlliste sind nicht immer alle Bausteine enthalten. Du kannst den gewünschten Baustein aber einfach per {{bricks.BausteinID}} manuell in das Schema übernehmen. Ich würde aus dem Bauch heraus sogar behaupten, dass du den Textergebnisbaustein gar nicht brauchst, sondern auch direkt {{bricks.DataRecordSelect[Spalte]}} einfügen kannst - aber das wäre nochmal zu prüfen eine kurze Prüfung bestätigte mein Bauchgefühl 🙂
  14. Wenn deine Finger auch einen Lötkolben halten können, würde ich mir mal einen ESP8266 in Verbindung mit einem WLED-fähigen LED-Streifen ansehen (z.B. WS2812B). Du kannst den Streifen danach lokal (oder wenn du die IP entsprechend durchroutest auch remote) direkt per HTTPS ansprechen und steuern... (hat aber auch APIs für JSON, MQTT, DMX usw.; super Projekt!)
  15. Vorangestellt, hinten angeklemmt oder irgendwo dazwischen, solange du die Syntax für die Parameter einhältst: sie werden durch Fragezeichen (?) von der Adresse getrennt und jeweils durch ein kaufmännisches Und-Zeichen (&). Beispiele: https://www.smapone.com?key1=value1&key2=value2&key3=value3 ?accessToken=x&$filter=y&$orderBy=z ?$filter=y&$orderBy=z&accessToken=x
  16. Falls als nächstes die Frage kommt, wie man das sendDate jetzt in der Power Query dynamisieren kann: Es lohnt sich inzwischen, hier einfach mal im Forum ein wenig zu wühlen, was man alles so Feines findet 😄
  17. Das geht mit Hilfe der Preview API (siehe FAQ). In der kannst du einen Filter z.B. auf das sendDate setzen (nicht älter als 2 Tage) $filter=sendDate%20gt%202024-03-02T15:05:00Z und dann auch entsprechend beliebig sortieren, z.B. auch das sendDate absteigend von jung nach alt. $orderBy=sendDate%20desc Die URL sieht dann so aus (ersetze einfach die smapID gegen die von deiner smap): https://platform.smapone.com/Backend/preview/Smaps/65384867-3375-4c53-b7d4-27bf9bbdb477/Records?$filter=sendDate%20gt%202024-03-02T15:05:00Z&$orderBy=sendDate%20desc Dieser Abruf ruft alle Datensätze der letzten 48h ab (hier ist jetzt ~16:05 Uhr, also alle seit UTC 15:05 Uhr, im Query String "2024-03-02T15:05:00Z"), also alle Datensätze, wo das sendDate greater than ("gt") – also nach – diesem Zeitpunkt ist und sortiert ("orderBy") die Datensätze nach dem sendDate, und zwar absteigend (engl. "descending", also "desc"), also quasi von jung nach alt. (Aufsteigend wäre "asc" für engl. "ascending").
  18. @Christian B. Gütthoff das kannst du in der Word-Berichtsvorlage einstellen – mehr Infos in der Dokumentation bzw. auch in der FAQ.
  19. Der Fehler bei dir erschien übrigens, weil das Ergebnis deiner Formel ein true oder false ist (entweder ist die AND()-Bedingung erfüllt oder nicht) und ein Zahlenergebnisfeld natürlich Zahlen erwartet und nicht true/false. AND(IF(LESSTHAN({END1_Innen_4},50),1),(NOTEMPTY({END1_Innen_4}))) Du müsstest die AND()-Bedingung also mit in das IF() nehmen: IF(AND(..., ...), 1, 0) Das hier sollte 1 in deinem Zahlenergebnisbaustein ausgeben, wenn die Zahl END1_Innen_4 gesetzt ist und kleiner als 50, ansonsten 0. IF(AND(NOTEMPTY({END1_Innen_4}), LESSTHAN({END1_Innen_4}, 50)), 1, 0)
  20. @Christian B. Gütthoff in der smap oder im PDF-Bericht? Wenn im Bericht, schau mal hier: https://platform.smapone.com/Documentation/de/Topic/Reports#beispiele-für-zahlenwerte
  21. "Nicht nochmal sendbar" – ja, nicht der Selbe. Aber der Gleiche! 😉 (siehe folgende Anleitung) @Christian B. Gütthoff hinter dem Thread findest du einen sehr einfachen Weg, um an bereits abgesendete Datensätze nochmal zu kommen. Den neuen Entwurf kannst du dann korrigieren und den alten löschen. Das ist fast wie ändern (Achtung: bis auf die geänderten Zeitstempel). Wenn du indes nur eine Kleinigkeit auf dem Bericht ändern willst, kannst du dir auch einfach immer die Word-Datei (statt PDF) beschaffen, die Datei anpassen und PDF neu erstellen.
  22. Oh, schöne Lösung! Ich wollte was mit 2 DSABs und konsolidierten Ergebnisfeldern vorschlagen, finde deinen Vorschlag aber deutlich charmanter!
  23. @Simon Liniger du findest diese Einstellungen direkt im Designer, wenn du den Wiederholungsgruppenbaustein ausgewählt hast in der rechten Eigeschaften-Spalte: Ist es denn das, was du suchst?
×
×
  • Neu erstellen...