Aller au contenu principal

Ajouter un champ à une table

Objectif​

Ajouter un champ à une table existante afin que ses enregistrements puissent stocker une donnée supplémentaire.

Prérequis​

  • Vous êtes connecté avec un rôle de créateur (ou d’administrateur de la plateforme).
  • La table existe déjà (voir Créer une table).

Étapes​

  1. Ouvrez Tables, choisissez l’environnement et sélectionnez le nom de la table dans la liste des tables pour l’ouvrir sur l’onglet Champs.

  2. Saisissez le nom d’affichage du nouveau champ (par exemple Total).

  3. Saisissez un nom logique. Le préfixe de l’éditeur propriétaire de la solution dans laquelle vous travaillez est affiché à côté de la zone et appliqué pour vous : vous ne saisissez donc que le reste — total devient par_total.

    Cela vaut aussi pour les tables standard. Account et Contact n’ont pas de préfixe propre, car c’est Parsware qui les fournit, mais une colonne que vous ajoutez à l’une d’elles vous appartient : elle devient par_accountnumber, et non accountnumber. Les noms sans préfixe appartiennent à la plateforme, et un nom que vous inventeriez entrerait en conflit avec la prochaine colonne que Parsware ajouterait sous ce nom.

  4. Choisissez un type de données. Seules les zones pertinentes pour le type choisi apparaissent :

    • Texte — texte sur une ligne (vous pouvez définir une longueur maximale ; la valeur par défaut est 100).
    • Texte multiligne — texte long.
    • Entier — nombres entiers.
    • Décimal — nombres à virgule fixe. La précision est le nombre total de chiffres ; l’échelle est le nombre de chiffres après la virgule. Ainsi, 12 et 2 permettent de stocker jusqu’à 9 999 999 999,99, tandis que 2 et 2 ne permettent rien au-delà de 0,99. La valeur par défaut est 18 et 2, ce qui convient aux montants, sauf raison contraire.
    • Booléen — vrai/faux.
    • Date/heure — une date et une heure.
    • Recherche — une référence à l’enregistrement d’une autre table ; choisissez la table cible (la table elle-même est exclue des choix). Ajouter un champ de recherche crée automatiquement la relation un-à-plusieurs entre les deux tables — vous ne créez pas la relation séparément (voir Créer une relation entre des tables).
    • Recherche (plusieurs tables) — une référence à un enregistrement de l’une de plusieurs tables : un Client qui peut être un Compte ou un Contact. Cochez au moins deux tables ; le champ stocke alors, avec l’identifiant, la table dans laquelle se trouve l’enregistrement. Il n’a pas de clé étrangère, c’est la seule chose à laquelle il renonce en échange — voir Ajouter une recherche multi-tables.
    • Numérotation automatique — un numéro de référence que la plateforme donne à chaque nouvel enregistrement, comme CR-2026-00417. Son seul réglage est le format du numéro, prévisualisé pendant la saisie ; personne ne saisit la valeur, il n’a donc pas de case obligatoire. Voir Numéroter les enregistrements automatiquement.
  5. Marquez éventuellement le champ comme obligatoire.

  6. Sélectionnez Ajouter le champ.

  7. Le champ apparaît dans la liste des champs de la table, et sa colonne existe déjà — il n’y a rien à faire ensuite.

Ce qui se passe en coulisses​

Le champ est stocké sous forme de métadonnées sur la table et sa colonne est ajoutée à la table de données dans la même étape : le champ est donc opérationnel dès que vous l’ajoutez — placez-le sur un formulaire et les utilisateurs de l’application peuvent le remplir. Un champ de recherche référence une autre table par son nom logique et devient une vraie référence (clé étrangère) vers elle.

Si la colonne ne peut pas être créée, le champ est retiré et l’erreur est signalée — ainsi, un champ de cette liste a toujours une colonne derrière lui. Voir Ce qui se passe quand vous enregistrez une table.

Modifier un champ​

Cochez la case du champ et sélectionnez Modifier. Vous pouvez changer :

  • Nom d’affichage — le libellé partout où le champ est affiché. Le renommer est sans danger : tout ce qui utilise le champ y fait référence par son nom logique, qui ne change pas.
  • Obligatoire — si le champ est obligatoire par défaut sur les formulaires. C’est une règle de formulaire, et non une contrainte de base de données : chaque colonne accepte une valeur vide, et un formulaire peut encore remplacer ce réglage pour un emplacement (voir Rendre un champ obligatoire ou en lecture seule). L’activer ne rend donc jamais invalide un enregistrement existant.
  • Longueur maximale (texte) ou précision et échelle (décimal) — la taille du champ. Laissez une zone vide pour conserver la valeur actuelle.

Vous ne pouvez pas changer le nom logique du champ, son type de données et — pour un champ de recherche ou de groupe d’options — ce vers quoi il pointe. Ces éléments sont affichés mais verrouillés, car tout ce qui utilise le champ y fait référence par son nom, et sa colonne contient déjà des données d’un type donné ; ses valeurs ont été validées par rapport à la cible ou au groupe actuels. Pour changer l’un d’eux, supprimez le champ et ajoutez-le de nouveau.

Redimensionner un champ est une vraie modification de la table de données, puisque sa colonne existe déjà. Allonger un champ texte fonctionne toujours. Le raccourcir échoue si un enregistrement contient déjà une valeur plus longue — l’enregistrement signale l’erreur plutôt que de tronquer ce que quelqu’un a saisi. Élargissez plutôt le champ, ou nettoyez d’abord les données.

Supprimer un champ​

Cochez la case du champ et sélectionnez Supprimer. Le champ est aussi retiré de tous les formulaires et de toutes les vues de la table qui l’utilisaient, afin que rien ne reste à pointer vers un champ qui n’existe plus. Vous n’avez pas à passer vous-même dans chaque formulaire et chaque vue. Supprimer un champ de recherche supprime aussi la relation qu’il avait créée : un champ de recherche supprimé ne laisse donc jamais de relation orpheline.

Trois choses à savoir avant de supprimer :

  • Une section laissée vide reste en place. Seul le champ est retiré — la section, la rangée ou l’onglet où vous l’aviez placé demeure, prêt à accueillir autre chose.
  • Une vue laissée sans colonne se rabat sur la colonne principale de la table. Une vue doit bien afficher quelque chose.
  • Une vue qui filtrait sur le champ affichera plus d’enregistrements qu’avant. Le filtre disparaît avec le champ, car un filtre ne peut pas s’appliquer à un champ qui n’existe plus. Si une vue sert à masquer des enregistrements selon ce champ, vérifiez-la ensuite.

Le champ principal de la table ne peut pas être supprimé. La colonne de données elle-même reste dans la table — supprimer le champ le retire de l’application, pas des données stockées.

Dépannage​

  • J’ai ajouté un champ, mais il n’apparaît pas dans l’application. — la colonne existe dès l’ajout du champ, mais un champ n’est affiché que là où il est placé. Ajoutez-le au formulaire ou à la vue que vous consultez.
  • « … must be lower snake-case and start with the publisher prefix. » — le nom logique du champ doit commencer par {prefix}_.
  • « … must be namespaced by your publisher's prefix. » — le champ a été envoyé sans aucun préfixe. Seules les colonnes standard de Parsware sont sans préfixe ; tout ce que vous ajoutez porte le préfixe de votre éditeur, même sur une table standard.
  • « A field named … already exists on this entity. » — choisissez un autre nom logique ; les noms de champs sont uniques au sein d’une table.
  • « The lookup target entity … was not found. » — créez d’abord la table cible, ou corrigez la cible sélectionnée.
  • « Text maxLength must be between 1 and 4000. » / « Decimal precision/scale is out of range. » — ajustez la longueur ou la précision/l’échelle pour rester dans la plage autorisée.
  • L’enregistrement d’un enregistrement indique qu’un nombre « must have at most 0 digits before the decimal point ». — la précision du champ compte tous les chiffres, et pas seulement les décimales. Un champ destiné à contenir des montants à deux décimales demande une précision de 12 et une échelle de 2 ; une précision de 2 et une échelle de 2 donnent une colonne qui ne contient rien au-delà de 0,99. Le type de données ne peut pas être changé après coup, mais la précision et l’échelle le peuvent : sélectionnez le champ, appuyez sur Modifier, et élargissez-le.
  • Modifier n’est pas disponible pour un champ. — Modifier exige qu’un seul champ soit sélectionné, et les champs système de la plateforme (Créé le, Modifié par, etc.) ne sont pas modifiables : ils appartiennent à la plateforme plutôt qu’à votre table.
  • Raccourcir un champ signale « value too long for type … ». — un enregistrement contient déjà une valeur plus longue que la nouvelle longueur. La modification est refusée plutôt que de la tronquer. Élargissez plutôt le champ, ou raccourcissez d’abord les enregistrements en cause.

Scénarios associés​