Aller au contenu
SurfaceDocs
ENCommencer
DocsConstruire vos apps

Fields et valeurs

Définir les types, choix, valeurs requises et emplacements dans l’interface.

Définir une donnée une seule fois

Un Field appartient à une définition de Surface. Il possède une clé stable, un type de valeur et des contraintes. Les vues et Forms réutilisent cette définition; afficher un Field dans deux endroits ne crée pas deux valeurs.

Le type de stockage et le contrôle d’interface répondent à deux questions différentes. Un choix parmi plusieurs états peut être stocké comme texte et présenté dans une liste déroulante. Une note reste du texte, mais son affichage en Surface devient une section éditable.

Champ de définition Options / valeurs attendues Description
key Clé stable, par exemple company ou status Identifie le Field dans les références
type boolean, date, datetime, number, text Type canonique de la valeur
required true ou false Exige une valeur selon le contrat de l’objet
repeatable true ou false Admet une liste de valeurs du même type
default Valeur du type déclaré; liste si répétable Valeur initiale admise
options Liste de chaînes pour les choix déclarés Limite les valeurs proposées et admises

Choisir Surface ou Paramètres

Le placement appartient à la présentation de la fiche. Une section Fields sélectionne des chemins comme fields/company ou fields/notes. La configuration des paramètres sélectionne les Fields du formulaire Paramètres. Utilisez la Surface pour les informations que l’on lit et enrichit régulièrement; réservez Paramètres aux réglages.

Le caractère obligatoire à la création est indépendant de ce placement. Si Entreprise est nécessaire pour créer un client, la Form Nouveau client doit le demander même s’il apparaît ensuite dans la Surface. L’interface ne doit pas rendre une création impossible en cachant une valeur requise.

Un Field de texte long et le corps riche d’une Surface ne sont pas la même donnée. Le premier conserve sa valeur de Field; le second utilise son binding de contenu dans la Form et le même éditeur documentaire. Choisir un contrôle multiline ne transforme pas à lui seul un Field en document. Les Fields placés dans la Surface ou dans Paramètres et le corps déclaré partagent la même confirmation d’édition, sans sauvegardes concurrentes.

Reprendre vos modifications après une mise à jour

Si une fiche a changé pendant votre saisie, Relire la fiche conserve votre brouillon et consulte sa version actuelle. Pour les Fields stockés non répétables, Surface peut préparer une nouvelle revue de vos seules modifications explicites, y compris 0, false ou une valeur effacée. Les valeurs simplement chargées ne sont pas considérées comme modifiées. Vérifiez le résultat avant de l’enregistrer : la relecture ne sauvegarde rien. Si un même Field a changé entre-temps, même s’il est revenu à sa première valeur, la reprise est refusée et votre brouillon reste intact. Ce parcours ne fusionne pas le titre, le contenu riche ou les relations. Après une confirmation non reçue, réessayez la même demande au lieu de préparer une nouvelle modification.

Exemple : l’état d’un client

{
  "key": "status",
  "type": "text",
  "required": true,
  "repeatable": false,
  "default": "prospect",
  "options": ["prospect", "active", "inactive"]
}

La valeur stockée reste stable; le Model associe des libellés lisibles comme Prospect, Actif et Inactif. La fiche peut afficher un combobox, le tableau un indicateur et la Query un filtre sur cette même valeur.

Valeurs répétables et texte long

Pour plusieurs valeurs, utilisez la répétition plutôt que des Fields numérotés. Une collection de traits, de compétences ou de coordonnées se développe sans ajouter trait1, trait2 et trait3 au Model. Le texte long d’une section utilise son titre comme repère et une zone éditable en dessous; la Surface conserve les règles de contenu, d’identité et de protection des objets.

L’examen d’une valeur liée consulte les sources autorisées sans modifier les fiches ni activer une relation. Il distingue une valeur absente, un texte vide, 0 et false; un inventaire indisponible ne devient pas un résultat vide. Les choix de vue conservent les libellés déclarés pour la collection, la fiche ou l’accueil. Une déclaration sans libellé reste indisponible au lieu de recevoir un titre inventé.

Pour activer une valeur liée, utilisez l’accès Owner aux deux Workspaces et à leurs Spaces concernés pour examiner chaque fiche source et choisir explicitement une cible autorisée, ou l’absence de rattachement lorsque le champ source le permet. Les valeurs existantes ne permettent pas de deviner la cible. Examinez l’impact complet avant et après, puis confirmez; une confirmation interrompue reprend la même demande. Modifier les libellés, l’état, les limites ou les vues d’aperçu de la relation conserve ses liens et captures de référence. Réattribuer ces liens demande un examen explicite distinct : ce n’est pas un effet d’un changement de réglages.

Lorsqu’un Field propose une relation configurée, choisissez les références offertes et respectez les limites affichées. Cette sélection porte sur les liens : elle ne remplace ni la saisie du Field ni le brouillon du Form.

Exemples appliqués : Texte requis et choix métier

Entreprise utilise une saisie texte obligatoire; État réutilise une liste de valeurs déclarées.

Configuration

Fragment à placer dans forms[].fields[]. Propriétés et valeurs admises.

{
  "contract": "WorkspaceFormControl@2",
  "repeatable": false,
  "key": "company",
  "label": "Entreprise",
  "input": "text",
  "binding": {
    "kind": "field",
    "fieldKey": "company"
  },
  "required": true,
  "ruleKeys": [],
  "options": []
}

Variante et raccordement

Fragment à placer dans forms[].fields[]. Propriétés et valeurs admises.

{
  "contract": "WorkspaceFormControl@2",
  "repeatable": false,
  "key": "status",
  "label": "État",
  "input": "choice",
  "binding": {
    "kind": "field",
    "fieldKey": "status"
  },
  "required": true,
  "ruleKeys": [],
  "options": [
    "prospect",
    "active"
  ]
}

Exemple de disposition UI

La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.

  1. Identité du client
  2. Notes et suivi
  3. Paramètres
  4. Soumissions liées
DISPOSITION ILLUSTRATIVEApp Clients / Soumissions
SurfaceClients / Atelier NordExemple
Fields et valeursTexte requis et choix métier
Clients
AN
Atelier NordClient actif · Services professionnels
ÉtatActif
Notes et suivi

Le client souhaite préparer une proposition pour son nouveau projet. Préciser les besoins et confirmer le budget avant la revue.

Texte éditable dans la Surface
Paramètres de la fiche
Recherchez un concept, un champ ou une action.Esc