Jump to content

Moritz Münzenmaier

smap Experts
  • Posts

    55
  • Joined

  • Last visited

  • Days Won

    12

Moritz Münzenmaier last won the day on June 17 2023

Moritz Münzenmaier had the most liked content!

About Moritz Münzenmaier

  • Birthday 01/05/1982

Recent Profile Visitors

874 profile views

Moritz Münzenmaier's Achievements

Enthusiast

Enthusiast (6/14)

  • smapLand Festival 2024
  • Pioneer - 1. Year of smapLand
  • One Year In
  • Reacting Well
  • Very Popular Rare

Recent Badges

223

Reputation

15

Community Answers

  1. Guten Morgen @Vincent Mayer, in deinem konkreten Beispiel würde würde der versteckte Zeitbaustein nicht funktionieren, da man diesen nicht mit 0 Uhr vorbelegen würde. Wenn du einen Zeitstempel oder ein Zeit- und Datumsfeld hast, dann wäre die Funktion zur Überprüfung, ob der Zeitpunkt nach 20 Uhr liegt, folgende: GREATERTHANOREQUAL(SUBTEXT(TEXT({Timestamp}),12,2),"20") Wenn du nur einen Zeitbaustein hast, dann wäre es entsprechend: GREATERTHANOREQUAL(LEFT(TEXT({Timestamp}),2),"20") Was diese Formeln machen, ist die ersten beiden Zeichen der Uhrzeit mit dem Wert 20 zu vergleichen und zu prüfen, ob diese Zeichenfolge größer ist als die Zeichenfolge "20". Es ist zwar immer noch ein String als Datenformat, allerdings funktioniert der Vergleich auf diese Art. Man muss nur ein bisschen darauf achten, dass man nicht in die "Nach 0 Uhr" Falle tappt. "02" ist per Definition kleiner als "20" und würde damit nicht unter diese Aktivierungsregel fallen. Das bedeutet in dem konkreten Fall müssten man die Formel noch erweitern und prüfen, ob der Zeitpunkt bspw. zwischen 0 Uhr und 8 Uhr liegt. Unterbringen würde ich das dann alles in einer IF Funktion, in dem Fall in einem Zahlenergebnisfeld, welches den eventuellen Aufschlag (bzw. Faktor) ausgibt, wenn die Funktion WAHR ist, und ansonsten eben eine 0 (oder falls Faktor eben eine 1). Dann dies zur ursprünglichen Zahl addieren (bzw. multiplizieren).
  2. Hallo @Feras Arman, die "IFs" und die "ENDIFs" müssen in der gleichen Zelle stehen. Das bedeutet in dem konkreten Fall, dass du das {%IF Number_10%} direkt über die {Number_10} und das {%ENDIF Number_10%} direkt dahinter schreiben musst. In dem konkreten Fall kannst du aber eigentlich auch alle IFs und ENDIFs innerhalb der Tabellenzellen löschen. Das hat den gleichen Effekt, als ob du sie drin hast. Das IF sagt an der Stelle ja "Wenn Number_10 Daten enthält, dann schreibe Number_10, ansonsten nichts". Genau das gleiche passiert, wenn du nur "Number_10" in der Zelle hast. Wenn dort nichts eingetragen ist, dann bleibt die Zelle leer. Nachlesen kannst du es hier: https://platform.smapone.com/Documentation/de/Topic/Reports#berichte-individualisieren
  3. @Helge Klammt - das freut mich, wenn es passt. 🙂 Da können wir sogar die Formeln der beiden Felder verwurschteln 🙂 Damit wäre es ein Textergebnisfeld mit folgender Formel: IF(OR(GREATERTHAN({hoehe},{ResultNumber}),GREATERTHAN({hoehe},5)),"❗❗❗nicht zulässig❗❗❗","✅✅✅ Zulässig✅✅✅") Aktuelle Version der smap: SMAP IMPORTIEREN
  4. Ich fühlte mich gerade in meine Schulzeit zurückversetzt - das Trauma der Mathe-Textaufgaben wurde wieder aufgebrochen 😄 "Helge möchte eine Schweißnaht vermessen...." Und die Frage die ich mir damals schon gestellt habe, stelle ich mir hier erneut: "Habe ich das überhaupt richtig verstanden?!" Ist es das hier: SMAP IMPORTIEREN ?
  5. @Qendrim Ademaj iOS bietet diese Funktion nativ und diese kann in den Eingabefeldern von smapOne angewendet werden. Ich denke das müsste klappen, wenn ich die Anforderung richtig verstanden habe. Einfach lange den Finger im Eingabefeld halten. Der Kollege @Thomas Hoffmann hat dazu mal ein Video aufgenommen: video-20220214-103601-d4b36712 (2).mp4
  6. @Micha Zenke Das hatte ich wirklich komplett vergessen 😄
  7. Na gut 🙂 - Dann bekommen du (und alle anderen Mitleser) es sicherheitshalber nochmal als Gesamtergebnis präsentiert 🙂 Diese Berichtsvorlage... ...erzeugt bei einer Eingabe dieser Art in die smap... Dieses Ergebnis. Es ist eine Crux mit den Zeilenumbrüchen und den Bedingungen, daher gibt es hier nochmal den Link zur smapkopie, falls jemand da Reverse Engineering betreiben möchte. 😄 SMAP IMPORTIEREN
  8. Hi @Connor Jessen Ich bin relativ sicher, dass ich die Anforderung verstanden habe 🙂 Du hast richtig festgestellt, dass du ein logisches Problem bekommst, wenn du eine Bedingung stellen willst, die sich auf einen Wert innerhalb der Wiederholungsgruppe (WDHG) bezieht. Die einfachste Variante ist es hier innerhalb der smap diesen Wert aus der WDHG herauszuholen. Ich mache es meistens so, dass ich dafür innerhalb der WDHG ein Zählerfeld (Zahlenergebnis mit id "zaehler_rohware") baue, dass bspw. für Rohware folgende Formel hat: IF(EQUALS({Art},"Rohware"),1,0) Damit habe ich in der WDHG eine 1, wenn die Art "Rohware" ist. Diesen Zähler baue ich für jede Art, die ich im Bericht später individuell ausweisen möchte und blende die Felder in der smap aus. Außerhalb der Wiederholungsgruppe mache ich nun analog zu jedem Zählerfeld ein Summenfeld für die jeweiligen Arten - an unserem Beispiel wäre das einfach nur SUM({zaehler_rohware}). Dieses Feld bekommt die id "summe_rohware". Damit habe ich einen klaren Indikator, auf den ich mich beziehen kann, wenn ich im Bericht gewisse Tabellen komplett ein- oder ausblenden will. Im Bericht wird es nun ein wenig "spannend" 🙂 Wir nutzen unser gebautes Feld, um darüber die allgemeine Steuerung der Kopfzeile abzubilden ({%IF bricks.summe_rohware > 0 %}) und machen dann eine Positionszeile pro Position, die sich auf ein Wertfeld innerhalb der Wiederholungsgruppe beziehen kann ( {%FOREACH bricks.position%} {%IF art == “Rohware”%} . Lange Rede, kurzer Sinn - das sieht dann so aus: Hier ist meine Lieblingsfunktion von Word extrem hilfreich, nämlich das Teilen einer Tabelle, das man oben über Tabellenlayout findet. Ich gehe nur davon aus, dass du mit dieser Logik deinen Index vergessen kannst, da diese Teiltabellen nicht jeweils neu indiziert werden, sondern die Zahlen dort wild hin und her springen werden. Das liegt daran, dass es immer noch ein gesamter Index für die gesamte Wiederholungsgruppe ist.
  9. Moin @Connor Jessen, um jeden Inhalt einer Wiederholungsgruppe muss ein {%FOREACH bricks.namederwiederholungsgruppe %} am Anfang und ein {%ENDFOREACH%} gebaut sein. Das ist in deinem Screenshot vermutlich nicht zu sehen. 🙂 Jetzt ist es so, dass in dieser Bedingung das "bricks" schon mitgegeben wird. Daher ist zwischen dem FOREACH und dem ENDFOREACH auf das "bricks" vor den Bausteinen zu verzichten. Generell empfehle ich immer einmal bei den Bausteinoptionen der Wiederholungsgruppe ganz unten bei den Berichtsoptionen den Haken zu setzen bei "Als Tabelle ausgeben" und sich dann als Inspiration die generierte Vorlage herunterzuladen. Da wird die Logik einigermaßen klar. Die Nummerierung der Positionen kannst du zwischen dem FOREACH und dem ENDFOREACH mit {{INDEX}} ausgeben. Ansonsten, gebe ich zu dass es etwas versteckt ist, aber hier wird es auch nochmal beschrieben in der Hilfe. 🙂
  10. @Matthias Johs Puh, was für eine Kopfnuss. 🙂 1. Die Klammer um die zweite Hälfte der AND Bedingungen muss eh weg - die scheint den Designer zu verwirren - damit sollte es schonmal besser funktionieren - warum das so ist, kann ich mir allerdings auch nicht erklären. 2. Wenn ich dich richtig verstanden habe, dann hat deine erste Formel dennoch eh einen kleinen Logikfehler AND(LESSTHAN({ZeitstempelAlsText_2}, "08_00_00"), (GREATERTHAN({ZeitstempelAlsText_2}, "17_00_00"))) Das würde bedeuten, dass bspw. 4 Uhr nicht in diese Bedingung fällt, denn 04 ist kleiner als 17 und damit wäre die gesamte AND-Bedingung FALSE. Dem kann man entgegenwirken, indem man das AND in ein OR verwandelt. Entweder kleiner als 08 oder größer als 17. 3. Es ist zwar äußerst unwahrscheinlich, aber du hast 2 Sekunden am Tag keine Mails - ich würde der zweiten Bedingung jeweils noch ein "OREQUAL" dahinter spendieren, damit die auch abgefangen sind. Einmal die beiden Formeln mit Dank für die Denksportaufgabe zurück 🙂 Erste Bedingung: OR(LESSTHAN({ZeitstempelAlsText_2}, "08_00_00"), GREATERTHAN({ZeitstempelAlsText_2}, "17_00_00")) Zweite Bedingung: AND(GREATERTHANOREQUAL({ZeitstempelAlsText_2}, "08_00_00"),LESSTHANOREQUAL({ZeitstempelAlsText_2}, "17_00_00")) Damit sollte es funktionieren.
  11. Hallo @Benjamin Knöner, ich würde das wahrscheinlich so machen, dass ich den DSAB im Suchfeld mit dem Wert der Einfachauswahl vorbelege, alle anderen Werte nicht durchsuchen lasse und die notwendigen Werte innerhalb der smap in einem Ergebnisbaustein ausgebe. Was bedeutet das genau? Beispielhaft habe ich die smap mal auf 3 Bausteine reduziert - Firmenauswahl, Datensatzauswahlbaustein für die Exceltabelle und ein Ergebnisfeld. Die Firmenauswahl hat 2 Firmen zur Auswahl und hat die Baustein-ID {Select} Diese Firmen finden sich im Datensatzauswahlbaustein unter "Firma" wieder - hier sind die roten Kästchen wichtig. Da wir die Firma als Suchbegriff/Filter verwenden wollen, müssen wir in dieser Spalte die Suche (Symbol "Lupe") aktivieren. In allen anderen können wir sie deaktivieren, da die Mitarbeiter nach Auswahl der Firma aus der Liste gewählt werden. Daher sind die "Augen", also die Ansicht auch nur bei den Mitarbeiterdaten aktiv. In den Einstellungen des DSABs (rechte Seite, nachdem wir ihn angeklickt haben), belegen wir das Suchfeld mit dem Wert der Einfachauswahl vor. Der Ergebnisbaustein gibt alle anderen Felder einfach nur aus. Die smap sieht dann folgendermaßen aus: Der Nutzer wählt in erster Instanz die Firma aus. Wenn er nun danach den Datensatzauswahlbaustein anklickt, dann sind lediglich die Mitarbeiter dieser Firma zu sehen, da die Tabelle nach diesem Kriterium gefiltert wird. Nach der Auswahl des Mitarbeiters werden alle weiteren Daten im Ergebnisbaustein ausgegeben.
  12. Wenn du die Bausteine im Bericht innerhalb einer Wiederholungsgruppe addressierst, darf kein "bricks" davor stehen. Also darf da nur {{ResultText_Auftrag_Ort}} Das "Bricks" kommt über die Wiederholungsgruppe.
  13. Moin @Helge Klammt, der Seitenumbruch ist an dieser Stelle nicht das Problem, sondern vielmehr die Öffnung der FOREACH Schleife. Du kannst im Bericht innerhalb der FOREACH Bedingung nicht auf Felder außerhalb der Wiederholungsgruppe zugreifen, da die Zuordnung nicht funktioniert. Die Fehlermeldung soll das irgendwie ausdrücken, dass es das Feld DateTime nicht in der Repeatgroup gibt. 🙂 Wenn du eine Überschrift pro Foto-Seite haben möchtest, die mit Daten außerhalb der Repeatgroup befüllt ist, dann wäre die beste Option einfach ein verstecktes Textergebnisfeld in die Wiederholungsgruppe zu geben, dass die Daten außerhalb der Wiederholungsgruppe enthält (einfach über eine Vorbelegung einrichten). Dieses Feld kannst du, auch wenn es in der smap nicht angezeigt wird, dann problemlos im Bericht zwischen dem FOREACH und dem ENDFOREACH verwenden.
  14. Hallo @Max Rentsch, ich bin da bei @Dario Lindermeier - sehe auch keine Möglichkeit dies wirklich sinnvoll abzubilden. Generell gilt immer: Ohne eine individuelle Programmierung/Schnittstelle/Anbindung weiß der aktuell geöffnete Erfassungsvorgang nichts davon was vorher passiert ist. Daher kann ich auch nicht eine Logik bauen auf Dinge, die außerhalb meines aktuellen Erfassungsvorgangs stattfinden. Anders sieht das natürlich innerhalb eines Erfassungsvorgangs aus.
×
×
  • Create New...