Aller au contenu principal
Version: 20 R7 BETA

FORM Convert to dynamic

FORM Convert to dynamic ( {uneTable ;} nomFormulaire ) -> Résultat

ParamètreTypeDescription
uneTableTableTable du formulaire
nomFormulaireTextNom d'un formulaire projet ou d'un formulaire table "classique"
RésultatObjectformName converti en formulaire dynamique

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande FORM Convert to dynamic convertit le formulaire classique nomFormulaire en formulaire dynamique et le retourne sous forme d'objet.

Les formulaires classiques sont des formulaires 4D stockés dans le fichier structure en format binaire. Les *formulaires dynamiques sont des formulaires dont les structures sont définies via un un objet 4D (ou un fichier .json). Pour plus d'informations, veuillez consulter la section Formulaires dynamiques.

Si vous souhaitez convertir un formulaire table, passez la table dans le paramètre uneTable puis passez son nom dans la chaîne nomFormulaire. Pour un formulaire projet, passez directement le nom du formulaire directement dans nomFormulaire.

Pour pouvoir exécuter directement le formulaire en passant l'objet résultant à la commande DIALOG, FORM Convert to dynamic applique des règles spécifiques lors de la conversion du formulaire :

  • Les références aux listes sont exportées par nom, au lieu d'un pointeur JSON référençant le fichier lists.json.
  • Les références aux filtres nommés et aux formats d'affichage nommés (préfixés par le caractère '|') sont exportées par valeur, au lieu d'un pointeur JSON référençant le fichier filters.json.
  • Les images de la bibliothèque d'images n'étant pas exportées par la commande, les objets référençant une image de la bibliothèque d'images continuent de référencer la bibliothèque après la conversion. Dans leur propriété "icon", ils utilisent une URL "pictlib:xx" spécifique, où xx correspond à l'identifiant dans la bibliothèque.
  • Les images statiques sont converties en propriétés d'objet de type image.
  • Les objets obsolètes sont ignorés. Veuillez vous reporter au paragraphe pour consulter la liste des objets ou des propriétés qui ne sont pas pris en charge dans les formulaires dynamiques.

Note : Les références aux méthodes formulaire et aux méthodes objets sont exportées avec des ID internes, qui seront valides uniquement dans la base courante tant que les méthodes de nomFormulaire ne seront pas modifiées. Si vous souhaitez utiliser le formulaire exporté dans un autre contexte, vous devez associer des noms de méthodes projet à la propriété "method" du formulaire ou des objets du formulaire (voir l'exemple).

Exemple

Vous souhaitez convertir, modifier et afficher un formulaire classique.

Le formulaire initial :

 var $dynForm : Object
 $dynForm:=FORM Convert to dynamic("FormulaireAconvertir")
 $dynForm.pages[1].objects.TitleA:="rouge"
 $dynForm.pages[1].objects.bOK.method:="myMethod"  // associez une méthode projet
 DIALOG($dynForm)

Si vous exécutez le code :

Voir aussi

DIALOG
Export structure file