Document generation: add context "person with 3party" and fixes some

missing values in ThirdParty, Address
This commit is contained in:
Julien Fastré 2022-10-19 15:45:07 +02:00
parent 019356f8c6
commit 3716e0e060

View File

@ -147,9 +147,20 @@ Il est possible également d'injecter des dossiers d'usagers, parmi ceux associ
* si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 1` est coché, une variable `person1`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
* si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`; * si `usager 2` est coché, une variable `person2`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`;
### Documents générés dans le dossier d'une personne ### Documents générés dans le dossier d'une personne: contexte "personne basique"
* une variable `person`, de type Person, avec les variants `relations`, `household` (ménage) et `budget`. * une variable `person`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`.
### Documents générés dans le dossier d'une personne: contexte "personne avec un tiers"
Ce contexte permet de générer un courrier avec, en paramètre, un tiers.
Cela peut être utile pour, par exemple, générer un courrier vers un tiers déjà enregistré dans la base de donnée de Chill.
Les variables disponibles sont les suivantes:
* une variable `person`, de type `Person`, avec les variants `relations`, `household` (ménage) et `budget`.
* une variable `thirdParty`, de type `ThirdParty`;
## Champs par objet { #sec:gendoc-champs-objets } ## Champs par objet { #sec:gendoc-champs-objets }
@ -631,10 +642,20 @@ Pour rappel, les ressources peuvent être:
* `contactDataAnonymous` (bool): `true` si le tiers est anonyme; * `contactDataAnonymous` (bool): `true` si le tiers est anonyme;
* `email` (texte): email; * `email` (texte): email;
* `name` (texte): nom du tiers; * `name` (texte): nom du tiers;
* `nameCompany` (texte): nom du service du tiers (pour une personne morale); * `firstname` (texte): Prénom du tiers;
* `parent` (ThirdParty): tiers parent (pour les contacts) * `parent` (ThirdParty): tiers parent (pour les contacts)
* `profession` (ThirdPartyProfession) * `profession` (ThirdPartyProfession)
* `telephone` (texte): numéro de téléphone du tiers * `telephone` (texte): numéro de téléphone du tiers
* `kind` (texte): permet de distinguer les personnes morales, les contacts et les personnes physiques (voir ci-après)
* `child` (bool) vaut TRUE s'il existe un parent (contact), false sinon;
* `parent` (ThirdParty): s'il s'agit d'un contact d'une personne morale, contient la fiche d'une personne morale
`kind` vaut:
* `company` lorsqu'il s'agit d'une personne morale
* `child` lorsuq'il s'agit d'un contact d'une personne morale
* `contact` lorsqu'il s'agit d'une personne **physique** (à ne pas confondre avec un contact d'une personne morale)
### ThirdPartyCategory (catégorie de tiers) ### ThirdPartyCategory (catégorie de tiers)
@ -660,6 +681,15 @@ TODO
* `extra` (texte): champs extras * `extra` (texte): champs extras
* `validFrom` (Date): date de début de validité; * `validFrom` (Date): date de début de validité;
* `validTo` (Date): date de fin de validité (vide si toujours valide); * `validTo` (Date): date de fin de validité (vide si toujours valide);
* `lines` (liste de texte): les lignes de l'adresses, comme elles devraient être formatées dans une adresses
Il est possible de représenter l'adresse au format postal en effectuant une boucle sur les lignes. Par exemple, pour l'adresse d'une personne (chaque ligne est un "renvoi > substituant" dans l'exemple ci-dessous):
```
for each="line in v.person.address.lines
line
/for
```
### Postcode ### Postcode
@ -683,11 +713,17 @@ TODO
* `text` (texte): le libellé complet de l'utilisateur (avec son métier et son service entre parenthèse); * `text` (texte): le libellé complet de l'utilisateur (avec son métier et son service entre parenthèse);
* `label` (texte): le libellé de l'utilisateur, tel qu'il est enregistré par l'administrateur fonctionnel * `label` (texte): le libellé de l'utilisateur, tel qu'il est enregistré par l'administrateur fonctionnel
* `main_scope` (Scope): service principal * `main_scope` (Scope): service principal
* `user_job.label` (texte): métier principal * `user_job` (UserJob): métier principal
* `current_location` (Location): lieu de l'utilisateur, celui actuellement choisi par l'utilisateur par le menu "utilisateur"; * `current_location` (Location): lieu de l'utilisateur, celui actuellement choisi par l'utilisateur par le menu "utilisateur";
* `main_location` (Location): localisation de l'utilisateur définie par l'administrateur fonctionnel (parfois appelé "résidence administrative"). L'utilisateur ne peut pas la modifier lui-même; * `main_location` (Location): localisation de l'utilisateur définie par l'administrateur fonctionnel (parfois appelé "résidence administrative"). L'utilisateur ne peut pas la modifier lui-même;
* `civility` (Civility): la civilité de l'utilisateur; * `civility` (Civility): la civilité de l'utilisateur;
### UserJob
* `id` (int): identifiant
* `label` (texte): nom du métier
### Location (lieu) ### Location (lieu)
* `id` (int): identifant; * `id` (int): identifant;