News der novaCapta

Der wiederholte Bereich – Nintex für Fortgeschrittene

Neben den Formatierungsmöglichkeiten bietet Nintex eine Vielzahl nützlicher Funktionen zur Erstellung von Formularen in SharePoint. Eine Funktion davon ist der “Wiederholte Bereich” (Repeating Section).

Mit diesem Steuerelement lassen sich mehrere Steuerelemente zusammenfassen und, wie der Name schon vermuten lässt, wiederholt anzeigen und ausfüllen.

Wofür braucht man sowas?

Im SharePoint-Standard begegnen man häufig dem Problem, mehrere gleichartige Datensätze erfassen zu wollen. Im Standard ist das nur bedingt lösbar. Nehmen wir an, wir wollen eine Rechnung mit mehreren Rechnungspositionen in SharePoint erfassen. Als Felder sollen “Position”, “Bezeichnung” und “Betrag” erfasst werden.

Variante 1: Felder für alle Datensätze in der Liste anlegen Wir legen für jede Rechnungsposition die benötigen Spalten an (Pos1, Bez1, Betr1, Pos2, Bez2, Betr2, … , PosN, BezN, BetrN). Hier ergeben sich zwei Probleme:

  1. Die Anzahl an Spalten in SharePoint-Listen in begrenzt. Zwar hängt die Begrenzung vom Spaltentyp ab, aber im Schnitt ist bei 255 Spalten Schluss.
  2. Alle Spalten wären immer sichtbar. Wenn ich nur 2 Rechnungspositionen erfassen möchte, habe ich trotzdem alle N Positionen auf dem Formular.

Variante 2: Erfassen über eine Lookup-Liste Möglichkeit 2 ist das Erfassen der Positionen in einer separaten Liste. Dabei würden die Positionen dann per Lookup der Rechnung zugeordnet. Hier ergeben sich wieder zwei Probleme:

  1. Ohne Erweiterung mit JavaScript o.ä. ist es nicht möglich, die Rechnungspositionen direkt beim Erfassen der Rechnung zu erstellen. Das ginge nur nacheinander und über einen separaten Dialog.
  2. Das Auswählen der Rechnung über ein Lookup ist eine nicht zu unterschätzende Fehlerquelle. Zudem wird das Lookup nach einer Weile sehr lang, was die Auswahl noch fehleranfälliger macht.

Wiederholter Bereich Der wiederholte Bereich löst die Probleme der beiden oben beschriebenen Varianten. Das Steuerelement funktioniert ähnlich wie ein Bereichs-Steuerelement. Alle benötigten Steuerelemente werden per Drag-and-Drop in den wiederholten Bereich geschoben und angeordnet. Ein Klick auf “Element hinzufügen” unterhalb des Bereichs dupliziert alle Steuerelemente unter Berücksichtigung der Anordnung und Formatierung. Da die Daten gesammelt gespeichert werden (mehr dazu im nächsten Abschnitt), müssen für die einzelnen Werte keine Spalten in der Liste angelegt werden. Die Anzahl der Elemente ist theoretisch endlos und nur durch die Datenbank limitiert (max. 2GB, bzw. etwas über 1 Milliarde Zeichen).

Wie funktioniert der wiederholte Bereich?

Der wiederholte Bereich speichert die Daten in einem mehrzeiligen Textfeld. Wichtig: es muss ein “Nur Text”-Textfeld sein, Rich-Text-Felder funktionieren nicht. Alle Informationen aus dem wiederholten Bereich (Feldtyp, Feldname, Wert, usw.) werden als XML gespeichert. Auf diese Weise kann die Information immer wieder mit den korrekten Steuerelementen dargestellt werden. Das XML hat immer folgendes Format:

<?xml version="1.0" encoding="utf-8"?>
<RepeaterData><Version />
<Items>
<Item>
<[FeldName1] type="[FeldTyp1]">[Wert1]</[FeldName1]>
<[FeldName2] type="[FeldTyp2]">[Wert]</[FeldName2]>
</Item>
<Item>
<[FeldName1] type="[FeldTyp1]">[Wert1]</[FeldName1]>
<[FeldName2] type="[FeldTyp2]">[Wert]</[FeldName2]>
</Item>
</Items>
</RepeaterData>

Da die Informationen im XML gespeichert werden, werden keine separaten Felder für die einzelnen Werte benötigt. Man sollte aber darauf achten, die Steuerelemente im wiederholten Bereich ordentlich zu benennen, damit die Informationen im XML nachvollziehbar bleiben.

Beispiel

Bleiben wir bei unserem Beispiel vom Anfang. Zur Erinnerung: Wir möchten Rechnungen mit allen Rechnungspositionen erfassen. Zunächst wird die Liste “Rechnungen” angelegt und die benötigten Spalten erstellt:

  • Datum | Datum (Nur Datum) | Standard: Heute
  • Betrag | Währung
  • RechnungsXML | Mehrzeiliger Text | Nur-Text
  • Die Titel-Spalte wird nicht benötigt und kann z.B. später per Workflow gesetzt werden.

Als nächstes erstellen wir unsere Nintex Form. Für meine Form habe ich nach dem automatischen Generieren alle Steuerelemente entfernt und bei null angefangen.

Screenshot Nintext Form Beispiel Bereich mit 4 Steuerelementen:  Positionsnummer Textfeld für die Bezeichnung Textfeld für den Betrag und Label für das Euro-Zeichen

Der wiederholte Bereich enthält 4 Steuerelemente:

  • Ein berechneter Wert für die Positionsnummer
  • Ein Textfeld für die Bezeichnung
  • Ein Textfeld für den Betrag
  • Ein Label für das Euro-Zeichen (optional)

Für die Darstellung der Rechnungsposition kann eine Inlinefunktion von Nintex verwendet werden.

Screenshot Nintext Form Inlinefunktion von Nintex für Rechnungsposition

Die beiden Textfelder sind weitestgehend im Standard. Das Feld für den Betrag ist so eingestellt, dass es nur “Währung” als Eingabe zulässt, also Zahlen und “.” bzw. “,” als Trennzeichen.

Der wiederholte Bereich wurde wie folgt konfiguriert:

Screenshot Control Settings in Nintex Forms für wiederholter Bereich

Die wichtigste Einstellung ist die Verbindung zum mehrzeiligen Textfeld in der Liste. Gut zu sehen sind die anderen Einstellungsmöglichkeiten. Ich habe für mein Beispiel lediglich den “Add row”-Text angepasst.

Zu guter Letzt habe ich noch ein berechnetes Feld eingefügt, dass die Gesamtsumme berechnet und in die Spalte “Betrag” schreibt.

Screenshot Control Settings in Nintex Forms für wiederholter Bereich berechnetes Feld  einfügen

Ergebnis

So sieht unsere fertige Nintex Form im Einsatz aus:

Screenshot fertige Nintex Form im Einsatz 1

Und so werden die Daten in der Liste angezeigt:

Screenshot fertige Nintex Form im Einsatz Anzeige der Daten in der Liste

Das XML für unsere Rechnungsdaten sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<RepeaterData><Version />
<Items>
<Item>
<Position type="System.String">1</Position>
<Bezeichnung type="System.String">Artikel 1</Bezeichnung>
<Betrag type="System.Decimal">200</Betrag>
</Item>
<Item>
<Position type="System.String">2</Position>
<Bezeichnung type="System.String">Artikel 2</Bezeichnung>
<Betrag type="System.Decimal">415.16</Betrag>
</Item>
<Item>
<Position type="System.String">3</Position>
<Bezeichnung type="System.String">Artikel 3</Bezeichnung>
<Betrag type="System.Decimal">1368.83</Betrag>
</Item>
</Items>
</RepeaterData>

Wie kann ich die Daten weiterverarbeiten?

Der einzige Nachteil daran, dass die Daten im XML-Format gespeichert werden, ist, dass sie nicht direkt ausgewertet werden können. Mit der Aktion “XML-Abfrage” in Nintex Workflow kann das XML bequem ausgelesen werden.

Screenshot XML-Abfrage in Nintex Workflow

Eingabe ist die Listenspalte mit unserem XML. Über XPath können wir die benötigten Werte auslesen und z.B. in einer Sammlung speichern. Wer sich nicht mit XPath auskennt, kann den mitgelieferten XPath Builder verwenden. Hierzu muss das XML manuell eingegeben werden. Also Element in der Liste erstellen, XML-Spalte in der Ansicht anzeigen, XML kopieren und in das Feld XML (siehe Screenshot oben) einfügen, auf “XPath Builder” klicken. Anschließend wird das XML als Baumansicht dargestellt.

Screenshot XML-Abfrage Daten in Nintex Workflow im XPath Builder auslesen

Der ausgewählte XML-Tag wird für die XML-Abfrage übernommen.

Viel Spaß beim Wiederholen!

Gruppe von Geschäftsleuten in einer Besprechung vor einer SharePoint Site
Referenz

Grünenthal: Mit Nintex agilen Prozessanforderungen begegnen

Grünenthal hat sich dazu entschieden, ihre SharePoint Plattform mit Nintex Workflow zu erweitern, mit dem Ziel, die internen Geschäftsprozesse zu optimieren.

Blue sky and clouds
Blog 09.12.15

Vorgesetzte in Nintex per LDAP-Abfrage ermitteln

"Meine Sekretärin erledigt das für mich." Es ist der Klassiker der Workflows: Die Genehmigung. Neu im novaCapta Blog ► Mit Nintex Vorgesetzte per LDAP-Abfrage ermitteln ✓ So funktioniert's ✓ Jetzt nachlesen!

Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog 05.08.20

Umfragen in Teams mit Microsoft Forms

Mit Microsoft Forms lassen sich Umfragen schnell und einfach in Teams erstellen bzw. integrieren.

Blog 28.02.24

DynamoDB starten: Einblicke in AWS Key-Value Datenbank 2

Erfahren Sie in diesem Blogartikel mehr über fortgeschrittene Techniken zur Modellierung von Datenbeziehungen in DynamoDB.

Titelbild zu über uns - IPG - Experts in IAM
Unternehmen

IPG - Pioniere und Experten im Bereich IAM

Wir sind seit 2001 Pioniere und Experten im Bereich Identity. Access. Governance. ✅

Blog

catworkx behind the scenes: Unser Sales-Bereich

Ein Blick hinter die Kulissen: Wir stellen unser Vertriebsteam vor. Vertriebsleiter Dirk Zöllner und Kolleg:innen aus DACH erzählen, wie sie Kunden betreuen und warum Teamwork so wichtig ist.

Digitale Aktenordner auf dunklem Hintergrund – Verwaltungsdigitalisierung im öffentlichen Sektor.
Branche

Öffentliche Verwaltung

Wie gelingt die Digitalisierung der öffentlichen Verwaltung in der Praxis? Die TIMETOACT GROUP zeigt, wie Cloud, IT-Sicherheit und KI Prozesse spürbar beschleunigen.

Referenz

Modernisierung der Kernprüfung

TIMETOACT GROUP unterstützte die Deutsche Rentenversicherung Bund bei der Umsetzung der Kernprüfung in Java mittels OSGi und CICS auf IBM System z.

Logo Microsoft
Technologie 29.06.20

Microsoft

Wir sind Microsoft Solutions Partner in den Bereichen Business Applications, Data & AI, Digital & App Innovation, Infrastructure Azure, Modern Work sowie Security

Event 07.09.21

IT Jobtag 2021

TIMETOACT GROUP als attraktiver Arbeitsplatz für IT Berufe

Oct 06
Social 24.11.22

TIME TO RUN - unser 3. eigener Firmenlauf!

Bei unserem 3. eigenen Firmenlauf zeigten sich unsere Kolleg:innen von ihrer sportlichen Seite.

Sep 24
Technologie 29.06.20

IBM

Wir sind IBM Platinum Business Partner und haben damit seit Jahren den höchsten Partnerstatus bei der IBM.

Technologie Übersicht

HCL

Als „HCL Platinum Business Partner“ haben wir seit Jahren Erfahrung mit diesen Tools und werden diese auch in Zukunft für Sie betreuen.

Logo RedHat
Technologie 02.07.20

RedHat

Wir sind RedHat Advanced Partner. Mit RedHat als dem Marktführer in Open-Source-IT-Lösungen unterstützen wir unsere Kunden ihre Cloud Journey aktiv zu gestalten und umzusetzen.

Social

Wir begrüßen unsere Nachwuchstalente 2020

Auch 2020 haben wir wieder viele junge Nachwuchskräfte bei der TIMETOACT GROUP eingestellt. Denn trotz der aktuellen Lage ist es uns nach wie vor wichtig, neue Talente für uns zu gewinnen und sie in ihrem Einstieg in den Beruf zu begleiten.

Vernetzte Landschaft mit Sonnenuntergang – Digitalisierung in Energieversorgung und Smart Grids.
Branche

Energieversorger

Von Abrechnung bis Archiv: IT-Projekte für die Energiewirtschaft

Kritische Sicherheitslücke in log4j
News

log4j Sicherheitslücke: Produkte vieler Hersteller betroffen

Es wurde eine kritische Sicherheitslücke in der Protokollierungsbibliothek Log4j für Java Anwendungen entdeckt. Unter anderem Produkte von Atlassian, Google, HCL, IBM, Microsoft, und Talend betroffen. Wir unterstützen Sie!

Software & Application
Service

Software & Application

Agilität, Application Modernization, Fullstack Development und Requirement Engineering sind wichtige Aspekte der Business Application Development.

Unternehmen 19.01.22

PKS - zukunftsfähige Software-Transformationen

PKS ist ein Team aus erfahrenen Softwareanalysten, Programmierexperten und Webentwicklern. Seit 1991 planen sie innovative, risikoarme und zukunftsfähige Software-Transformationen weltweit.

News 18.01.21

Neue Partnerschaft mit Hyland

TIMETOACT GROUP und Hyland Software haben ihre Partnerschaft im Bereich ECM/BPM Lösungen angekündigt. Mit Hyland gewinnt die TIMETOACT GROUP einen marktführenden Content Service-Partner, der sich insbesondere in Microsoft Architekturen nahtlos integrieren lässt.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!