Ställa in värdet för JSON-dataelement i AEM Forms Workflow setting-value-of-json-data-element-in-aem-forms-workflow

Eftersom ett anpassat formulär dirigeras till olika användare i AEM Workflow, finns det krav på att dölja eller inaktivera vissa fält eller paneler baserat på den person som granskar formuläret. För att tillgodose dessa användningsområden brukar vi ange ett värde för ett dolt fält. Baserat på det här dolda fältets värdeaffärsregler kan du skapa för att dölja/inaktivera lämpliga paneler eller fält.

Anger ett elementvärde i JSON-data

I AEM Forms OSGi måste vi skapa ett anpassat OSGi-paket för att ställa in JSON-dataelementets värde. Paketet ingår i kursen.

Vi använder Process Step i AEM-arbetsflödet. Vi associerar OSGi-paketet"Set Value of Element in Json" med det här steget.

Vi måste skicka två argument till det angivna värdepaketet. Det första argumentet är sökvägen till elementet vars värde måste anges. Det andra argumentet är värdet som måste anges.

I skärmbilden ovan anger vi till exempel värdet för initialStep-elementet till "N"

afData.afUnboundData.data.initialStep,N

I det här exemplet har vi ett enkelt formulär för att ställa in tid för begäran. Initieraren av det här formuläret fyller i sitt namn och anger datum. När formuläret skickas går det till"manager" för granskning. När hanteraren öppnar formuläret inaktiveras fälten på den första panelen. Detta eftersom vi har angett värdet för det inledande stegelementet i JSON-data till N.

Baserat på fältvärdet för det inledande steget visar vi godkännarpanelen där"hanteraren" kan godkänna eller avvisa begäran.

Ta en titt på reglerna som ställts in mot"Inledande steg". Baserat på värdet i fältet initialStep hämtar vi användarinformationen med hjälp av formulärdatamodellen, fyller i rätt fält och döljer/inaktiverar lämpliga paneler.

Så här distribuerar du resurser på ditt lokala system:

  • Hämta och distribuera DevelopingWitheServiceUserBundle

  • Hämta och distribuera setvalue-paketet. Detta är det anpassade OSGI-paketet som gör att du kan ange värden för ett element i skickade JSON-data.

  • Hämta och extrahera innehållet i zip-filen

    • Peka webbläsaren på pakethanteraren
      • Importera och installera SetValueOfElementInJSONDataWorkflow.zip.Det här paketet har den exempelarbetsflödesmodell och formulärdatamodell som är associerad med formuläret.
  • Peka webbläsaren på Forms och dokument

  • Klicka på Skapa | Filöverföring

  • Ladda upp filen TimeOffRequestForm.zip
    Det här formuläret har skapats med AEM Forms 6.4. Kontrollera att du använder AEM Forms 6.4 eller senare

  • Öppna formuläret

  • Fyll i start- och slutdatum och skicka formuläret.

  • Gå till "Inkorg"

  • Öppna formuläret som är associerat med uppgiften.

  • Observera att fälten på den första panelen är inaktiverade.

  • Lägg märke till att panelen för att godkänna eller avvisa begäran nu visas.

NOTE
Eftersom det adaptiva formuläret fylls i i automatiskt med användarprofilen bör du kontrollera att administratörens användarprofilinformation används. Kontrollera att du har angett fälten FirstName, LastName och Email som minst.
Du kan aktivera felsökningsloggning genom att aktivera loggning för com.aemforms.setvalue.core.SetValueInJson härifrån
NOTE
OSGi-paketet för att ställa in värdet för dataelement i JSON-data stöder för närvarande möjligheten att ställa in ett elementvärde åt gången. Om du vill ange flera elementvärden måste du använda processsteg flera gånger.
Kontrollera att sökvägen till datafilen i det adaptiva formulärets överföringsalternativ är inställd på "Data.xml". Detta beror på att koden i processsteget söker efter filen Data.xml under nyttolastmappen.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e