Wert des JSON-Datenelements im AEM Forms Workflow festlegen

Da ein adaptives Formular in AEM Arbeitsablauf an verschiedene Benutzer weitergeleitet wird, müssen bestimmte Felder oder Bereiche je nach dem Benutzer, der das Formular überprüft, ein- oder ausgeblendet werden. Um diese Anwendungsfälle zu befriedigen, legen wir in der Regel einen Wert für ein unsichtbares Feld fest. Basierend auf den Wertregeln dieses verborgenen Felds können Geschäftsregeln erstellt werden, um geeignete Bereiche oder Felder auszublenden/zu deaktivieren.

Wert eines Elements in JSON-Daten festlegen

In AEM Forms OSGI - müssen wir ein benutzerdefiniertes OSGi-Bundle schreiben, um den Wert des JSON-Datenelements festzulegen. Das Bundle wird im Rahmen dieses Tutorials bereitgestellt.

Wir verwenden Process Step im AEM Workflow. Wir verbinden das OSGi-Bundle "Set Value of Element in JSON" mit diesem Prozessschritt.

Wir müssen dem Set Value Bundle zwei Argumente übergeben. Das erste Argument ist der Pfad zu dem Element, dessen Wert festgelegt werden muss. Das zweite Argument ist der festzulegende Wert.

Im obigen Screenshot setzen wir beispielsweise den Wert des Elements "intialStep"auf "N"

afData.afUnboundData.data.initialStep,N

In unserem Beispiel haben wir ein einfaches Antragsformular "Time Off". Der Initiator dieses Formulars gibt seinen Namen und die Uhrzeit der Antragstellung ein. Beim Senden wird dieses Formular zur Überprüfung an "Manager"gesendet. Wenn der Manager das Formular öffnet, sind die Felder im ersten Bereich deaktiviert. Dies liegt daran, dass wir den Wert des ersten step-Elements in den JSON-Daten auf N festgelegt haben.

Basierend auf dem Wert des ersten Schrittfeldes wird der Bereich für den Genehmiger angezeigt, in dem der "Manager"die Anforderung genehmigen oder ablehnen kann.

Sehen Sie sich bitte die Regeln an, die gegen "Ursprünglicher Schritt"festgelegt wurden. Basierend auf dem Wert des Felds initialStep rufen wir die Benutzerdetails mithilfe des Formulardatenmodells ab, füllen die entsprechenden Felder aus und blenden/deaktivieren die entsprechenden Bereiche ein.

So stellen Sie die Assets auf Ihrem lokalen System bereit:

HINWEIS

Da das adaptive Formular mit dem Profil "user"bereits ausgefüllt wurde, stellen Sie sicher, dass die Angaben zum Profil des Administrators 🔗 vorhanden sind. Vergewissern Sie sich mindestens, dass Sie die Feldwerte FirstName, LastName und Email festgelegt haben.
Sie können die Debug-Protokollierung aktivieren, indem Sie die Protokollfunktion für com.aemforms.setvalue.core.SetValueInJson von hier aktivieren

HINWEIS

Das OSGi-Bundle zum Festlegen des Werts von Datenelementen in JSON-Daten unterstützt derzeit die Möglichkeit, einen Elementwert gleichzeitig festzulegen. Wenn Sie mehrere Elementwerte festlegen möchten, müssen Sie den Prozessschritt mehrmals verwenden.

Stellen Sie sicher, dass der Pfad der Datendatei in den Übermittlungsoptionen des adaptiven Formulars auf "Data.xml"eingestellt ist. Der Grund dafür ist, dass der Code im Prozessschritt nach einer Datei namens "Data.xml"im Payload-Ordner sucht.

Auf dieser Seite