Fields

From the Studio it is possible to create some fields based on pre-defined types such as text, list, date, attachment… So that there is no restriction, Process offers a system that allows you to add new type of fields without altering the Studio, generator or even APIs.

Table of available fields from the web designer menu

Category Field Description
Simple fields Text The values of this field type are mapped to java.lang.String values.
Simple fields Number The values of this field type are mapped to java.lang.Float values.
Simple fields Date The values of this field type are mapped to java.sql.Timestamp values.
Composite fields Period The values of this field type are mapped to com.axemble.vdoc.sdk.structs.Period values.
Composite fields Drop-down list The values of this field type are mapped to a collection of java.lang.String values.
Composite fields Attachments The values of this field type are mapped to a collection of com.axemble.vdoc.sdk.interfaces.IAttachment values.

Cacher complètement un champ (avec son label)

Par défaut, lorsqu’un champ est masqué simplement dans un formulaire, son label reste affiché. Cette section explique comment cacher la ligne entière.

La solution proposée fonctionne aussi bien sur un formulaire custom (provider) que sur une extension de document basique.

Soit un formulaire contenant un champ texte “Field01”.

Il faut manipuler une notion d’entry. Lordqu’un champ est ajouté, Process crée ce que l’on appelle une entry qui est composée de deux colonnes :

  • La première intègre un CtlLocalizedText avec le libellé du champ
  • La deuxième intègre réellement le contrôle graphique que sélectionné

Ainsi, on peut récupérer un AbstractField par son nom système, mais on peut également récupérer une entry par ce même nom système (méthode utilisée ici).

Où récupérer ces entries ? Ces entries ne sont pas récupérées sur l’AbstractDocument mais sur le contrôle graphique de l’écran (CtlAbstractForm, CtlSection, …).

Pour une extension de document : document.getForm().getEntryByName("Field01").setHidden(true);

Pour un formulaire custom : getForm().getEntryByName("Field01").setHidden(true);

Source : https://wiki.myvdoc.net/xwiki/bin/view/Dev+Floor/HowToHideFormEntry