<aside> <img src="/icons/list-indent_blue.svg" alt="/icons/list-indent_blue.svg" width="40px" /> Table des matières
<aside> <img src="/icons/chat_blue.svg" alt="/icons/chat_blue.svg" width="40px" /> 📢 Français
📢 English
</aside>
</aside>
<aside> <img src="/icons/info-alternate_blue.svg" alt="/icons/info-alternate_blue.svg" width="40px" /> Et pour en savoir plus
</aside>
<aside> <img src="/icons/shuffle_blue.svg" alt="/icons/shuffle_blue.svg" width="40px" /> Une page au hasard
</aside>

Les champs des formulaires de recensement fournis avec l'addon Form ne sont pas toujours fidèles à ce qu'on rencontre dans les registres. Comment ajouter les champs qui manquent?
r/gramps - Comment by u/plegoux on "Forms Gramplet - Predefined form missing some fields"
J'aborde ici un premier cas de champs manquants et un second cas qui nécessite l'emploi d'attributs partagés entre les personnes du foyer recensé.
Il faut tout d'abord, avant de rentrer dans les détails, préciser deux ou trois choses:
Donc si les champs du formulaire du recensement français de 1851 ne vous conviennent pas, parce qu'il en manque par rapport à ceux que vous rencontrez dans les registres ou parce que vous souhaiteriez rajouter un champ personnel tel qu'un champ commentaire systématique à la fin de chaque ligne, vous pourriez être tenté de modifier le fichier form_fr.xml qui contient la définition de tous les recensements français pour y ajouter ce qui vous manque ou modifier ce qui ne vous convient pas. Ça fonctionnerait, mais compte-tenu de l'avertissement précédent ça n'aurait qu'un temps; à la prochaine mise à jour de l'addon vous perdriez vos changements. Lorsque dans Gramps vous afficheriez le recensement dans son formulaire, les champs que vous aurez ajoutés ou modifiés ne s'afficheraient plus dans le formulaire dont la définition qui serait utilisée serait la définition standard et non la votre; les attributs et leurs valeurs seraient toujours présents, stockés dans l'événement mais le formulaire ne les afficheraient plus.
La solution c'est d'utiliser la définition du recensement faite dans form_fr.xml comme base de travail, copier cette définition et la coller dans custom.xml, qui n'est jamais écrasé, puis de la modifier dans ce fichier pour y ajouter ce qui vous manque ou changer ce que vous voulez présenter différemment.
Dans Gramps, le formulaire de recensement de 1851 s'affiche ainsi par défaut:

Alors que les champs qu'on rencontre en réalité dans un recensement de cette année là sont bien plus nombreux et pour certains n'ont rien à voir avec le formulaire Gramps (Handicap, Religion...):

Cette différence est due à la définition du formulaire FR1851 qui dans sa version originale dans form_fr.xml ne comporte qu'une partie des champs qu'on trouve sur le recensement lui-même et d'autres qui n'ont rien à y faire:

On voit que les cinq premiers champs du recensement n'y sont pas mentionnés, que le formulaire n'a qu'un champ nationalité alors que le recensement comporte trois éléments dans cette rubrique, qu'il comporte des champs qui n'existent pas, etc.
Concernant les cinq premiers, peut-être s'agit il d'une volonté de l'auteur de cette définition de ne représenter qu'une famille, un foyer, à la fois, l'idée pourrait alors être que ces cinq informations se trouvent déportées du formulaire vers la citation d'une part (foyer...) et les informations de lieu associées au lieu du formulaire de l'autre. Mais pour ceux qui n'y sont tout simplement pas, ça semble plutôt être un copié-collé fait à l'arrache d'un autre formulaire n'ayant rien à voir avec le recensement français de 1851. Libre du coup à l'utilisateur de l'adapter.
Si on souhaite donc reprendre dans le formulaire tous les champs du recensement, par exemple pour pouvoir saisir un formulaire représentant plusieurs foyers ou une commune toute entière (j'ai essayé la commune entière, je vous le déconseille), ou plus simplement pour être fidèle au contenu du recensement, il faut ajouter les champs manquants à la définition du formulaire elle-même et corriger ceux qui ne vont pas.
Pour ce faire, une fois copiée la définition du recensement de 1851 depuis form_fr.xml dans custom.xml (fichier à créer s'il n'existe pas), on peut réaliser les modifications suivantes à ce formulaire:
Il faut noter deux choses:
La saisie avec cette définition de formulaire du recensement de 1851 donne désormais ceci:

Je prends pour exemple le cas du recensement de l'an XIII (calendrier révolutionnaire) de Saint-Pierre-des-Loges (Orne), An XIII qui n'existe carrément pas dans form_fr.xml. Le recensement ressemble à ceci:

Il comporte l'indication du nombre d'enfants de moins de douze ans de chaque foyer sans nommer ceux-ci dans une ligne particulière ainsi que le nombre total de personnes du foyer.
On peut représenter ce cas en différenciant les informations affectées en propre aux individus présents dans le recensement et représentées dans Gramps par des attributs de la référence à l'événement associés à l'événement pour une personne donnée, de ceux mentionnant globalement le nombre d'enfants du foyer dans des attributs de l'événement, globaux à celui-ci et partagés avec tous ceux avec qui l'événement est partagé. La définition du formulaire permet cela grâce à une notation spéciale: heading.
On trouve deux sections attributs lorsqu'un événement est affecté à une personne, ici le cas du recensement de 1851 précédent, les attributs de l'événement (partie basse) sont vides:
Pour réaliser cette différenciation entre attributs de la personne et attributs de l'événement, il faut ajouter une section à la définition du recensement dans sa copie dans custom.xml:, ici la définition que j'ai créée pour le recensement de l'an XIII. Elle comporte trois définitions d'attributs heading qui seront partagés avec l'événement et qui correspondent au trois champs nombre d'enfants du recensement:
Dans le premier onglet Détail de saisie des informations des personnes du formulaire rien ne change:
