Zum Inhalt springen

Moritz

smapOne
  • Gesamte Inhalte

    721
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    80

Community-Antworten

  1. Moritzs Beitrag in Daten von Homepage wurde als Antwort markiert   
    @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.
  2. Moritzs Beitrag in Entwurf dauerhaft verfügbar machen wurde als Antwort markiert   
    Nein, das sind die beiden einstellbaren. Was Paul möglicherweise meint, ist dass du Vorbelegungswerte auf Basis z.B. der User-Emails gestaltest. Beispiel:
    Wenn uta@firma.de die smap aufmacht, steht in dem Textfeld "Vorlage". Wenn jens@firma.de die smap aufmacht, steht in dem Textfeld "Abschlussbericht". Und wenn es weder Uta noch Jens sind, die die smap bearbeiten, steht "Projekt" in dem Feld. Formel dafür wäre dann sowas hier:
    IF(EQUALS({user:email}, "uta@firma.de"), "Vorlage", IF(EQUALS({user:email}, "jens@firma.de"), "Abschlussbericht", "Projekt"))  
  3. Moritzs Beitrag in Zahl in Worten anzeigen wurde als Antwort markiert   
    Du müsstest dir halt ein Konstrukt aufbauen, dass bei maximal 3 Stellen vor dem Komma Folgendes erfüllt:
    Prüfung (IF), ob die Zahl größer 99, wenn ja, dann nimm die erste Stelle und ersetze 1 mit "Eins" bis 9 mit "Neun" + der statische Text "hundert"; falls die Prüfung fehlschlägt, bleibt dieser Teil leer. Umwandlung der letzten Stelle (vor dem Komma), auch wieder 1 = "ein" bis 9 = "neun" + der statische Text "und". Umwandlung der vorletzten Stelle (die Zehnerstelle) von 1 = "zehn", via 2 = "zwanzig" bis 9 = "neunzig". Es muss außerdem noch eine Prüfung für die Zahlen 11 ("elf") und 12 ("zwölf") stattfinden, so dass das auch mit abgedeckt ist.
    Für die Entwicklung des Ganzen würde ich wahrscheinlich sogar auch erst einmal mit drei Bausteinen (Baustein-IDs "Hunderter", "Zehner" und "Einer" o.ä.) und in einem finalen Result-Feld dann alles per CONCAT() zusammenfügen.
  4. Moritzs Beitrag in Aktivierungsformel bei Unterschriftbaustein führt zur leerer Unterschrift wurde als Antwort markiert   
    Wenn ein Baustein (hier der Unterschriftenbaustein) durch eine Aktivierungsregel nicht angezeigt wird, dann hat dieser Baustein im Datensatz den Wert "null", was einem Nicht-Ausfüllen gleichkommt.
  5. Moritzs Beitrag in Zahlenergebnisfelder mittels Zahlenergebnisfeld addieren wurde als Antwort markiert   
    @Marcel Zangs mach mal das Gleichheitszeichen (=) aus deiner Formel weg, das stört! 😉
  6. Moritzs Beitrag in Berechnung mit Zeiten ohne negative Ergebnisse wurde als Antwort markiert   
    @Arman Kassaie du könntest das Ergebnis darauf prüfen, ob es negativ ist. In dem Fall kannst du dann einfach einen ganzen Tag auf deinen Zeitraum aufschlagen, dann erhältst du den richtigen Wert, auch wenn die Uhrzeiten über die Mitternacht hinausgehen:
    IF(LESSTHAN(TOTALHOURS(SUB_DATE({Beginn_Stoerung}, {Ende_Arbeit})), 0), ADD_PERIOD(SUB_DATE({Beginn_Stoerung}, {Ende_Arbeit}), P1D), SUB_DATE({Beginn_Stoerung}, {Ende_Arbeit}))  
    Mit LESSTHAN(TOTALHOURS()) prüfst du erstmal, ob die Anzahl der Stunden negativ ist. Wenn das der Fall ist, dann wird die Dauer zwischen den Eregnissen berechnet und per ADD_PERIOD() ein Tag ("P1D") addiert.
    Ich habe das ganze einmal in eine Beispielsmap mit Zwischenschritten gepackt, damit das einfach nachvollzogen werden kann (Link gültig bis 06.10.2026): https://platform.smapone.com/ImportSharedApp/71fae9c8-764e-415f-af95-b2eb0acb3092/307a46a9a4c07065402a1898198a28b92308fb71?lang=de
  7. Moritzs Beitrag in Konvertierung von Smart City smap-Daten in Open Data Formate für kommunale Datenhaushalte wurde als Antwort markiert   
    Heyho Klaus, über die API von smapOne kannst du alle Daten ja bereits im JSON-Format abrufen. Der Umweg über Excel ist deshalb aus meiner Sicht gar nicht nötig. Du benötigst nun "lediglich" einen Dienst, der dir die Daten von smapOne als JSON abruft, die dann in die von dir gewünschte Struktur transformiert und dann z.B. in OneDrive ablegt.
    Ich würde euch hierfür einen modernen Low-Code-Ansatz mit PowerAutomate, Zapier oder Make.com empfehlen. Den Schnittstellen von smapOne und OneDrive ist es aber egal, wer oder was die Daten abruft oder übergibt. Es könnte also auch ein lokales PowerShell-Script oder eine "in der Cloud" betriebene Java/.NET/PHP/JavaScript-Applikation sein.
  8. Moritzs Beitrag in Aufklappen wurde als Antwort markiert   
    Hey @Frank Galley, schau mal hier: https://faq.smapone.com/kb/guide/de/wie-kann-ich-bausteine-mit-einer-aktivierungslogik-versehen-XPD0T5CkRw/Steps/934698
    Der Artikel bezieht sich zwar expressis verbis auf einen Baustein, Aktivierungsregeln funktionieren aber auch mit ganzen Abschnitten einer smap.
  9. Moritzs Beitrag in CURL "Access denied. Missing or invalid authentication information." wurde als Antwort markiert   
    Du musst einfach die alten und neuen Daten vereinen. Die Altdaten kannst du auch über die API abrufen. Guck mal, hier gibt es ein Video-Tutorial, in dem genau das zeige (ab Minute 23:00 die Beschaffung der vorhandenen Daten).
     
  10. Moritzs Beitrag in Formatierung Ausgabe von Mehrfachauswahl-Bausteinen wurde als Antwort markiert   
    Hey @Oliver Pfeiffer, dir könnte folgende Lösung helfen: Ich habe einen MFAB (= Mehrfachauswahlbaustein, auch "MFA" 😉) mit vier Optionen erstellt:

     
    Als Bericht nutze ich die automatisch generierte Berichtsvorlage und passe sie ein wenig an. Der neue Code sieht wie folgt aus:

     
    Hier der Code einmal zum kopieren, anpassen und selber verwenden:
    {%IF bricks.Fortbewegungspraeferenz contains "Per pedes" %}☑{%ELSE%}☐{%ENDIF bricks.Fortbewegungspraeferenz contains "Per pedes" %} Per pedes ▪▪▪ {%IF bricks.Fortbewegungspraeferenz contains "Fahrrad" %}☑{%ELSE%}☐{%ENDIF bricks.Fortbewegungspraeferenz contains "Fahrrad" %} Fahrrad ▪▪▪ {%IF bricks.Fortbewegungspraeferenz contains "Auto" %}☑{%ELSE%}☐{%ENDIF bricks.Fortbewegungspraeferenz contains "Auto" %} Auto ▪▪▪ {%IF bricks.Fortbewegungspraeferenz contains "Bus" %}☑{%ELSE%}☐{%ENDIF bricks.Fortbewegungspraeferenz contains "Bus" %} Bus  
    Und wenn ich nun die entsprechenden Optionen auswähle, werden die Ergebnisse horizontal aufgeführt (mit ein paar Trennzeichen – Unicode-Zeichen U+25AA – dazwischen):

     
    Alle Informationen zur selbsterstellten Berichtsvorlage findest du in unserer FAQ.
     
    Und hier noch die Word-Datei zum anpassen, reinschauen, nachvollziehen, reverse-engineeren 😉 usw.
    MFA_horizontal.docx
  11. Moritzs Beitrag in Daten in der aus dem DSAB ziehen wurde als Antwort markiert   
    Die reine Formel bzw. Syntax dafür ist einfach mit der geschweiften Klammer den DSAB über dessen Baustein-ID aufrufen und dann in eckigen Klammern das Feld im DSAB.
    {DataRecordSelect[Name]}  
    Dafür gibt es übrigens einen Assistenten, den du im Designer in der rechten Spalte in den DSAB-Eigenschaften aufrufen kannst:

     

  12. Moritzs Beitrag in Seitenumbrüche nach Einträgen in Wiederholungsgruppe wurde als Antwort markiert   
    @Peter Kopper wie genau hast du denn deine Berichtsvorlage gestaltet? Hast du es mal mit einem manuellen Seitenumbruch, wie von @Manuel Rühl und @Steffen Haußmann erwähnt, ausprobiert? Wenn ich folgende Berichtsvorlage verwende (beachte den Seitenumbruch direkt nach dem "öffnenden" FOREACH-Statement; anzeigen mittels  – siehe Post über mir)...

    ... erhalte ich ein Dokument mit drei Seiten, zwei davon exklusive Wiederholungsgruppeneinträge:

  13. Moritzs Beitrag in Fehler "SmapOne.LegacyShared.Domain.Bricks.Field.ObjectDataField" wurde als Antwort markiert   
    Hallo @Jonas Mithöfer, die Syntax für Felder aus einem DSAB ist
    {{bricks.DataRecordSelect[Spalte]}}
     
    Kleiner Tipp für das Arbeiten mit selbsterstellten Berichtsvorlagen: Einfach mal die automatisch generierte Berichtsvorlage herunterladen und sich daran orientieren.

  14. Moritzs Beitrag in Webhook - Kontext holen wurde als Antwort markiert   
    @Marco Liesegang wenn ihr nur die Header-Daten über den Webhook erhaltet, klingt es ganz danach als ob ihr in den Webhook-Options "HttpGet" ausgewählt habt. Stellt den Webhook nochmal mit "HttpPost" ein, dann erhaltet ihr den gesamten Datensatz im Body mitgeliefert.

  15. Moritzs Beitrag in Sprung in nächstes Eingabe Feld wurde als Antwort markiert   
    Ich wüsste keinen automatischen Weg 😕
    Was ich dir anbieten kann, ist dieser Artikel der erklärt, wie man auf Windows mit der Tastatur zum nächsten Feld navigieren kann... 
     
  16. Moritzs Beitrag in Felder ausblenden bzw. verstecken wurde als Antwort markiert   
    Ich hätte es auch über eine EQUALS-Formel gelöst, die niemals wahr werden kann:
    EQUALS(true, false)  
    Deine Prüfung könnte ja wahr werden, wenn du deine smap doch irgendwann einmal "eselstreckdich" nennst 😉
  17. Moritzs Beitrag in Fehler beim Laden von smaps wurde als Antwort markiert   
    Wenn Systeme miteinander kommunizieren (in diesem Fall z.B. dein Endgerät mit der smap drauf mit unserem Backend, also den Serversystemen), dann gibt es für diese Kommunikation ein sogenanntes Timeout. Das ist eine Zeitangabe (z.B. in Sekunden), wie lange auf die Antwort des Systems gewartet werden soll. Sagen wir einfach mal, dieser Wert liegt bei 30 Sekunden. Wenn ein Gerät binnen 30 Sekunden nicht schafft, die smap abzurufen, dann meldet das Gerät einen Fehler und versucht es nicht weiter. Schnelle Geräte schaffen es in weniger als 30 Sekunden, das ältere Gerät brauch halt einfach länger und schafft es dehalb nicht.
     
    Ich gehe nicht davon aus, dass die Erhöhung der Nutzerzahl auch weitere Einschränkungen in dieser Hinsicht mit sich bringen, kann das aber auch nicht komplett ausschließen. In jedem Fall würde ich mich zu der Aussage hinreißen lassen, dass eine hohe Nutzerzahl weniger Effekt haben als die Anzahl der Bausteine und Formeln. Sprich: ich würde eher versuchen, Bausteine und Formeln zu reduzieren, als die Anzahl der Nutzer niedrig zu halten.
  18. Moritzs Beitrag in Kommentarfunktion bei Weitergabe der smaps führt zu Problemen wurde als Antwort markiert   
    @Jens Kruse die Kommentarfunktion wurde in letzter Zeit überarbeitet. In sofern macht es schon Sinn, dass hier die neuste Version erforderlich ist. Besteht das Problem denn, wenn ihr das Update durchführt?
  19. Moritzs Beitrag in Aus einer Tabelle eine Zeile (ohne Baustein - Nur Beschriftung) löschen wurde als Antwort markiert   
    Probier bitte einmal eine Leerzeile zwischen Tabelle und "FOREACH" einzufügen.

     
    Das hat in einigen Fällen in der Vergangenheit geholfen.
     
    Ansonsten wäre mein Vorschlag: Mach die Kopfzeile einfach "unsichtbar". Also Schriftart weiß und die Rahmenlinien ebenfalls weiß, so dass es schlichtweg nicht mehr sichtbar ist.
  20. Moritzs Beitrag in Berichte erneut auslösen - nach Anpassung der Vorlage wurde als Antwort markiert   
    Würde es helfen, wenn ihr den Bericht als Word (docx) statt PDF herunterladet...

    ... und den Seitenumbruch in dem einen Datensatz manuell nachtragt?
    Dann habt ihr gar kein Gefummel mit Versionen oder Berichtsvorlagen oder Beschaffung von Altdaten und die dann per REST API als Aufgabe neu hinzufügen oder so.
     
    Ansonsten möchte ich gerne auf diesen "Hack" von @Moritz Heidlindemann hinweisen:
     
     
  21. Moritzs Beitrag in Ausgabe von verschiedenen Uhrzeiten in der Datums- und Zeitauswahl wurde als Antwort markiert   
    @Simone Keller schau mal hier in diesem Video, da wird exemplarisch aufgezeigt, wie Zeiten in Excel umgerechnet werden können: 
     
  22. Moritzs Beitrag in Aktivierung greift nicht wurde als Antwort markiert   
    Bitte auch mal den Text aus dem DSAB in einem Editor öffnen, der ggf. enthaltene Sonderzeichen (sowas wie versteckte Leerzeichen, Zeilenenden usw.) anzeigt bzw. den Text nochmal ganz sauber aufbauen ohne Sonderzeichen...
  23. Moritzs Beitrag in Bericht - Report (Problem) wurde als Antwort markiert   
    @Dachser Köln was bei euch die volle vertikale Entfaltung der Bilder verhindert, sind ganz offenbar die Absatzeinstellungen. Hier ist für die Platzhalter der Bilder hinterlegt:

    Nach meiner Vermutung der Zeilenabstand von Genau 15 Pt. blockiert eine weitere Ausbreitung nach unten. Wenn ich Abstand Vor und Nach jeweils auf 0, sowie Zeilenabstand auf "Einfach" stelle, ...

    ...  dann wird das Bild auch in voller Höhe angezeigt:

  24. Moritzs Beitrag in Version der Smap ändern wurde als Antwort markiert   
    @Katherine Yanes du könntest hierfür auch die Preview-API anzapfen, statt neue Major-Versionen zu erstellen. Schau mal hier, da ist ein Beitrag, in dem wir zeigen, wie du die Datensätze der letzten 45 Tage abrufen kannst:
     
     
    Du könntest die Abfrage anpassen, indem du den Wert -45 einfach auf -1 stellst und damit tatsächlich nur die Datensätze der letzten 24h abrufst:
    /Backend/preview/Smaps/{smapId}/Records?$filter=CompletedDate gt "&DateTime.ToText(Date.AddDays(DateTime.LocalNow(), -1), "yyyy-MM-ddT00:00:00Z")&"&accessToken={API-Token}"),  
  25. Moritzs Beitrag in Maximalwert für Summenwert wurde als Antwort markiert   
    Finde ich gut und würde ich auch so machen. Also einfach einen Zahlenergebnisbaustein (Baustein-ID z.B. "Summe") via
    SUM({Baustein_1}, {Baustein_2}, ..., {Baustein_n}) erstmal alles zusammenzählen und dann z.B. ein statisches Bild mit einem roten Warnschild und dem Text "Achtung, mehr als 100%" einfügen, dessen Aktivierungsregel prüft, ob der Wert größer 100 ist und das Warnbild dann enstprechend anzeigt:
    GREATERTHAN({Summe}, 100)  
    Alternativ könntest du auch einen Textergebnisbaustein einfügen, der dann keine Aktivierungsregel hat, sondern einfach nur als Inhalt die Formel
    IF(GREATERTHAN({Summe}, 100), "Achtung: Summe ist größer 100%. Bitte korrigieren.", "Summe ist okay.")
×
×
  • Neu erstellen...