Lorsqu’un formulaire adaptatif est acheminé vers différents utilisateurs dans AEM flux de travaux, il est nécessaire de masquer ou désactiver certains champs ou panneaux en fonction de la personne qui le visualise. Pour répondre à ces cas d’utilisation, nous définissons généralement la valeur d’un champ masqué. En fonction des valeurs de ce champ masqué, les règles métier peuvent être créées pour masquer/désactiver les panneaux ou champs appropriés.
Dans AEM Forms OSGi : nous devons créer un lot OSGi personnalisé pour définir la valeur de l’élément de données JSON. Le bundle est fourni dans le cadre de ce tutoriel.
Nous utilisons l’étape du processus dans AEM workflow. Nous associons le lot OSGi "Set Value of Element in Json" à cette étape de processus.
Nous devons transmettre deux arguments au lot de valeurs définies. Le premier argument est le chemin d’accès à l’élément dont la valeur doit être définie. Le deuxième argument est la valeur qui doit être définie.
Par exemple, dans la capture d’écran ci-dessus, nous définissons la valeur de l’élément initialStep sur "N"
afData.afUnboundData.data.initialStep,N
Dans notre exemple, nous avons un simple formulaire de demande de désactivation du temps. L'initiateur de ce formulaire remplit son nom et les dates de congé. Lors de l’envoi, ce formulaire est envoyé au "gestionnaire" pour révision. Lorsque le gestionnaire ouvre le formulaire, les champs du premier panneau sont désactivés. Ceci car nous avons défini la valeur de l’élément d’étape initial dans les données JSON sur N.
En fonction de la valeur des champs de l’étape initiale, nous affichons le panneau d’approbateur dans lequel le "responsable" peut approuver ou rejeter la demande.
Veuillez consulter les règles définies par rapport à "Étape initiale". En fonction de la valeur du champ initialStep, nous récupérons les détails de l’utilisateur à l’aide du modèle de données de formulaire, nous renseignons les champs appropriés et masquons/désactivez les panneaux appropriés.
Pour déployer les ressources sur votre système local :
Télécharger et déployer le lot setvalue. Il s’agit du lot OSGI personnalisé qui vous permet de définir les valeurs d’un élément dans les données JSON envoyées.
Télécharger et extraire le contenu du fichier zip
Pointez votre navigateur sur Forms et documents
Cliquez sur Créer | Téléchargement du fichier
Télécharger le fichier TimeOffRequestForm.zip
Ce formulaire a été créé à l’aide d’AEM Forms 6.4. Assurez-vous d’être sur AEM Forms 6.4 ou version ultérieure.
Ouvrez le formulaire
Renseignez les champs Dates de début et de fin et envoyez le formulaire.
Accédez à "Boîte de réception"
Ouvrez le formulaire associé à la tâche.
Notez que les champs du premier panneau sont désactivés.
Le panneau d’approbation ou de refus de la requête est maintenant visible.
Puisque nous prérenseignons le formulaire adaptatif à l’aide du profil utilisateur, assurez-vous que l’administrateur informations de profil utilisateur . Assurez-vous au minimum d’avoir défini les valeurs des champs FirstName, LastName et Email .
Vous pouvez activer la journalisation de débogage en activant la journalisation pour com.aemforms.setvalue.core.SetValueInJson. ici
Le lot OSGi pour définir la valeur des éléments de données dans les données JSON prend actuellement en charge la possibilité de définir une valeur d’élément à la fois. Si vous souhaitez définir plusieurs valeurs d’élément, vous devrez plusieurs fois utiliser l’étape de processus.
Assurez-vous que le chemin d’accès au fichier de données dans les options d’envoi du formulaire adaptatif est défini sur "Data.xml". En effet, le code de l’étape de processus recherche un fichier appelé Data.xml sous le dossier de charge utile.