Aller au contenu principal

Créer un formulaire

Objectif​

Créer un formulaire qui organise les champs d’une table en onglets et en sections, et qui sert à afficher et modifier un enregistrement.

Prérequis​

  • Vous êtes connecté avec un rôle de créateur (ou d’administrateur de la plateforme).
  • La table existe et possède les champs que vous voulez placer sur le formulaire (voir Créer une table et Ajouter un champ à une table).

Étapes​

  1. Ouvrez la table dans Tables et allez dans l’onglet Formulaires. L’onglet liste les formulaires existants de la table.
  2. Sélectionnez Nouveau pour ouvrir le concepteur de formulaires.
  3. Saisissez un nom d’affichage (par exemple Main) et un nom logique. Le préfixe de l’éditeur propriétaire de la solution dans laquelle vous travaillez est affiché comme libellé fixe dans la zone du nom logique — ne saisissez que la partie qui suit (par exemple invoice_main). Cela vaut aussi pour les tables standard : un formulaire que vous ajoutez à Account porte votre préfixe, car les noms sans préfixe appartiennent à Parsware.
  4. Construisez la mise en page sur le canevas. Un formulaire se compose d’onglets ; chaque onglet contient des rangées pleine largeur ; chaque rangée contient une à quatre sections ; chaque section contient des champs. Ajoutez des onglets, des rangées et des sections avec les commandes + du canevas.
  5. Faites glisser un champ depuis la palette de champs, à gauche, vers une section. Faites glisser un champ placé pour le déplacer d’une section à l’autre ou le réordonner.
  6. Sélectionnez un onglet, une rangée, une section ou un champ pour modifier ses propriétés dans le panneau Propriétés — le titre et l’icône d’un onglet, le nombre de colonnes d’une rangée, le titre, l’icône et la largeur d’une section, ou le libellé et le contrôle de saisie d’un champ (voir Choisir le contrôle d’un champ). L’emplacement d’un champ peut aussi y être marqué Obligatoire ou Lecture seule (voir Rendre un champ obligatoire ou en lecture seule sur un formulaire).
  7. Faites glisser jusqu’à quatre champs dans la bande En-tête, au-dessus des onglets — Propriétaire, Statut, un total. Voir La bande d’en-tête ci-dessous.
  8. Marquez éventuellement le formulaire comme formulaire par défaut de la table.
  9. Sélectionnez Enregistrer.
  10. Le formulaire apparaît dans la liste des formulaires de la table. Sélectionnez sa ligne (ou sélectionnez-la et choisissez Modifier) pour le rouvrir dans le concepteur.

Les deux types de formulaires​

À côté du nom se trouve un Type de formulaire. Il indique à quoi sert le formulaire, et détermine où il peut être affiché :

TypeCe que c’estOù il est utilisé
PrincipalLa page d’enregistrement complète — barre de titre, barre de commandes, onglets, bande d’en-tête.L’ouverture d’un enregistrement depuis une liste, un onglet associé ou un lien. Tous les formulaires créés avant l’existence des types de formulaires sont de ce type.
Création rapideLes champs, et Enregistrer/Fermer. Rien d’autre.Le widget de création rapide d’un tableau de bord, et tout autre endroit où la surface environnante possède déjà un cadre — une boîte de dialogue, un panneau latéral.

Une table peut avoir un formulaire par défaut de chaque type. Marquer un formulaire de création rapide comme formulaire par défaut ne retire pas ce statut à votre formulaire Principal : ils sont ouverts par des surfaces différentes, et effacer d’un type à l’autre modifierait en silence la page d’enregistrement au moment où vous ajoutez une vignette.

Gardez un formulaire de création rapide court. Il sert à « en ajouter un sans quitter ce que je fais » : n’y placez que les champs réellement obligatoires — l’enregistrement pourra ensuite être ouvert normalement pour le reste.

Rendre une section plus large que les autres​

Une rangée dispose ses sections en colonnes égales — mais une section peut en occuper plusieurs. Sélectionnez la section et définissez sa Largeur : le nombre de colonnes de la rangée qu’elle occupe.

C’est ce qui permet à une rangée d’être irrégulière. Une rangée de quatre colonnes dont la deuxième section a une largeur de trois vous donne une section étroite à côté d’une section large — une forme impossible auparavant, car la seule façon de donner plus de place à une section était de changer le nombre de colonnes de la rangée, ce qui déplaçait toutes les autres sections.

La liste déroulante ne propose pas plus que le nombre de colonnes de la rangée, puisque toute valeur supérieure n’est pas un choix possible. Et une rangée d’une seule colonne ne la propose pas du tout : occuper une colonne sur une, c’est ce que fait déjà une section.

Réduire une rangée par la suite est sans danger. Une section de largeur trois dans une rangée de quatre colonnes passe en pleine largeur si vous réduisez cette rangée à deux colonnes — elle se réorganise au lieu de déborder ou de refuser de s’ouvrir. La largeur définie est conservée, et non écrasée : ramenez la rangée à quatre colonnes et la section en occupe de nouveau trois. Ce que vous voyez pendant que la rangée est étroite est la valeur plafonnée : modifier la liste déroulante à ce moment-là la remplace donc bien.

La bande d’en-tête​

Au-dessus des onglets du canevas se trouve une bande En-tête. Les champs qui y sont déposés s’affichent à côté du nom de l’enregistrement et restent en place quel que soit l’onglet ouvert — ils servent donc à la poignée d’informations dont on a besoin avant de décider où aller : qui en est propriétaire, dans quel état il se trouve, à combien il s’élève.

  • Faites-y glisser un champ depuis la palette, ou depuis une section, comme partout ailleurs. Faites-en glisser un hors de la bande pour le retirer.
  • Elle contient quatre champs. Un en-tête est une bande à côté d’un titre ; un cinquième champ en ferait une section qui se trouverait être en haut, et le formulaire en a déjà.
  • Les champs d’en-tête sont en lecture seule par défaut. C’est la raison d’être d’un en-tête — et le même champ figure généralement aussi dans un onglet, où il peut être modifié. Sélectionnez la pastille et décochez Lecture seule dans le panneau Propriétés si vous voulez qu’il soit modifiable sur place.
  • Tout le reste d’un emplacement y fonctionne aussi : un libellé personnalisé, un contrôle, un texte d’aide.

Ce qui se passe en coulisses​

La mise en page du formulaire est enregistrée sous forme de définition canonique et vérifiée par rapport au schéma de formulaire. Chaque champ placé sur le formulaire doit être un vrai champ de la table ; un formulaire qui référence un champ inexistant est rejeté. Marquer un formulaire comme formulaire par défaut retire ce statut au précédent formulaire par défaut de la table.

La définition enregistrée est le formulaire — le concepteur est un moyen de la modifier, pas le seul. Un formulaire écrit à la main ou généré par un outil est vérifié de la même façon, et l’ouvrir dans le concepteur montre exactement ce qu’il décrit.

Dépannage​

  • « … is not defined on this entity. » — un champ placé n’existe pas ; ajoutez d’abord le champ à la table, ou retirez-le du formulaire.
  • « … must be lower snake-case and start with the publisher prefix. » — corrigez le nom logique du formulaire.
  • « The definition is not valid: … » — la mise en page n’a pas passé la validation du schéma (par exemple, une section sans champ) ; ajoutez au moins un champ par section.
  • « A form or view named … already exists on this entity. » — choisissez un autre nom logique.

Scénarios associés​