Jump to content

Lena Köhler

smap Experts
  • Posts

    2
  • Joined

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Lena Köhler's Achievements

Rookie

Rookie (2/14)

  • Pioneer - 1. Year of smapLand
  • Nice Posts
  • Reacting Well
  • Conversation Starter
  • First Post

Recent Badges

16

Reputation

1

Community Answers

  1. Bei der Formatierung von eigenen Berichten kann es unter Umständen zu unerwünschten Verschiebungen und Leerzeilen kommen. Werden bei der Erstellung einige Tipps berücksichtigt, können Formatierungsprobleme verhindert und das gewünschte Design besser darstellt werden. Zur Verdeutlichung wird in diesem Beitrag die smap mit der folgenden Struktur als Beispiel verwendet: Verschiebungen und unerwünschte Einrückungen verhindern: In selbst erstellten Berichtsvorlagen mit Tabellen arbeiten Berichte bestehen aus Platzhalterelementen. Durch die Verarbeitung der verwendeten Ausgabeplatzhalter, sowie Bedingungen und Wiederholungen, werden Werte und/oder ganze Textpassagen in den Bericht eingefügt. Dabei kann es zu Verschiebungen im Dokument kommen. Werden Ausgabeplatzhalter in Tabellen platziert, so kann sichergestellt werden, dass die gewünschten Werte an der richtigen Stelle im erzeugten Berichtsdokument erscheinen: Im Beispiel sind die Rahmenlinien der Tabellen deaktiviert, damit die Tabellen „unsichtbar“ sind. Diese Einstellung kann in Word unter Tabellenentwurf → Rahmen vorgenommen werden: Leerzeilen verhindern: Tabellen nur anzeigen lassen, wenn die entsprechenden Bedingungen erfüllt sind Prinzipiell sind Tabellen in der Berichtsvorlage statisch und werden immer angezeigt. Somit würden nicht ausgefüllte Tabellenzellen einfach leer bleiben. Die Ausgabe von Texten, Werten oder Abschnitten wird von Bedingungen gesteuert. Bedingungen können für jeden Baustein-Typ verwendet werden, also auch für Gruppen oder Abschnitte. Sie bestehen aus einer Anfangs- und Endmarkierung. Zwischen diesen Markierungen steht dann der individuell anpassbare Text, auf den sich die Bedingung bezieht: {%IF ...%} anzuzeigender Text {%ENDIF ...%}. Die nachfolgenden Tabellen werden nur angezeigt, wenn mindestens ein Baustein aus der jeweiligen Gruppe, Group_Adresse oder Group_Abfrage, befüllt wurde: Die Bedingungen (gelb und grün markiert) sorgen dafür, dass unsere Tabellen ausgeblendet werden, falls in der Gruppe Adresse oder Abfrage nicht wenigstens ein Baustein ausgefüllt wurde. Trotzdem entsteht im Beispiel oben eine Leerzeile, weil Straße und Hausnummer nicht angegeben werden. Auch Leerzeilen können durch den Einsatz von Bedingungen verhindert werden. Die jeweiligen Tabellenzeilen können je nach verwendeter Bedingung angezeigt werden, wenn alle Bausteine oder mindestens ein Baustein in der Zeile ausgefüllt ist. Das kann mit logischen Verknüpfung realisiert werden: logisches und: && überprüft, ob alle Bedingungen erfüllt sind logisches oder: || überprüft, ob mindestens eine Bedingung erfüllt ist Dazu wird die Tabelle (unter Tabellen-Layout) geteilt und die zusätzlichen, erweiterten Bedingungen eingefügt: Die zusätzlichen Bedingungen (blau, grau und rosa markiert) sorgen dafür, dass die jeweiligen Tabellenzeilen ausgeblendet werden, falls nicht mindestens einer der beiden angegebenen Bausteine ausgefüllt ist. Dementsprechend entsteht keine Leerzeile mehr, wenn die Bausteine Straße und Hausnummer nicht ausgefüllt werden. Probiert das in eurer selbst erstellten Berichtsvorlage gerne mal aus! Liebe Grüße, Lena
  2. Hallo Zusammen, vor Kurzem hat mich die folgende Anfrage eines Kunden erreicht: In einer smap werden Zählerstände über eine Wiederholungsgruppe erfasst. Es kann vorkommen, dass ein Zähler ausgetauscht wird. In diesem Fall bekommt der Zähler eine neue Zählernummer und das Datum des Austausches wird festgehalten. Der Kunde möchte die Informationen über die ausgetauschten Zähler gesondert per Mail an die zuständige Person weiterleiten. Wie können wir dieses Szenario umsetzten? ➙ Informationen aus verschiedenen Bausteinen einer Wiederholungsgruppen lassen sich ganz einfach mit versteckten Textergebnisfeldern und verschiedenen Text-Funktionen lösen. Hier erkläre ich euch Schritt für Schritt, wie die Umsetzung dieser Anforderung funktioniert: Um die Informationen der verschiedenen Bausteinen in der Wiederholungsgruppe in die gewünschte Form zu bringen, erstellen wir zuerst einen Textergebnis-Baustein innerhalb der Wiederholungsgruppe und nutzen die Funktion CONCAT(t1, t2, …): Mit der Funktion CONCAT können wir beliebig viele Text-Parameter zusammenfügen und bekommen als Ergebnis einen neuen Text zurück. In unserem Fall muss bei der Formel folgendes beachtet werden: Text muss in Anführungszeichen angegeben werden, bspw. „Zählernummer: “ Wird auf Bausteine mit anderen Datentypen als Text verweisen, also bspw. Zahlen oder Daten, müssen diese Werte mit der Text-Funktion in Text umgewandelt werden: Text({Datum_Zaehlerwechsel}) Um auf einen Wert aus dem Datensatzauswahlbaustein zuzugreifen, muss zusätzlich zur Baustein-Id auch auf die Spalten-Id der betreffende Spalte verweisen werden. Die Angabe der Spalten-Id erfolgt in eckigen Klammern nach der Baustein-Id: {Zaehlerliste[Zaehlernummer]}} ➙ Wenn ein Zähler getauscht wurde, liefert unser Textergebnis-Baustein somit einen Text mit der neuen Zählernummer, dem Datum und der vorherigen Zählernummer. Als nächstes werden alle mit der Wiederholungsgruppe erfassten, ausgetauschten Zähler zusammengefasst. Dazu fügen wir alle Texte aus unserem Ergebnis-Baustein in der Wiederholungsgruppe mittels der Funktion JOIN(a, t1, t2, …) zusammen. Zu diesem Zweck erstellen wir einen zweiten Textergebnis-Baustein außerhalb der Wiederholungsgruppe: Mithilfe von JOIN werden einzelne Texte mit einem Verbinder zusammengefügt (der Verbinder wird als erster Parameter in der Formel angegeben). In unserem Szenario wurde als Verbinder „\n\n“ gewählt. \n gibt an, dass ein Zeilenumbruch eingefügt werden soll. ➙ Die Formel setzt dementsprechend alle Texte aus unserem Textergebnis-Baustein innerhalb der Wiederholungsgruppe zusammen und fügt dazwischen immer zwei Zeilenumbrüche ein. Wichtig zu beachten: Die Formalitäten zum Zugriff auf Bausteine einer Wiederholungsgruppe von außerhalb dieser Wiederholungsgruppe: {RepeatGroup.Zaehlertausch} Jetzt muss das finale Textergebnis, {Zaehlertausch_2}, nur noch in den E-Mail-Baustein eingefügt werden: Die Nachricht, die dann an die angegebene E-Mail-Adresse versendet wird, sieht beispielsweise folgendermaßen aus: Dieses Szenario lässt sich sicher auch für andere Usecases, wie beispielsweise einer Mangelerfassung, anpassen. Viel Spaß beim Ausprobieren! 😊 Liebe Grüße, Lena
×
×
  • Create New...