Numéros Chronologiques dans Maarch Courrier¶
🔢 Présentation Générale¶
Les numéros chronologiques (ou numéros chrono) sont des identifiants uniques générés automatiquement pour chaque courrier dans Maarch Courrier. Ils permettent de suivre et de classer les documents de manière séquentielle et structurée.
📋 Types de Numéros Chronologiques¶
Maarch Courrier gère trois types principaux de numéros chronologiques :
1. Courriers Entrants (incoming)¶
- Format :
MAARCH/[ANNEE][CATEGORIE][NUMERO_SEQUENCE] - Exemple :
MAARCH/2024E42 - Composition :
MAARCH: Préfixe fixe2024: Année en coursE: Lettre de catégorie (E pour Entrant)42: Numéro séquentiel
2. Courriers Sortants (outgoing)¶
- Format :
MAARCH/[ANNEE][CATEGORIE][NUMERO_SEQUENCE] - Exemple :
MAARCH/2024S17 - Composition similaire aux courriers entrants, mais avec
Spour Sortant
3. Courriers Internes (internal)¶
- Format :
internal/[DATE_COMPLETE][NUMERO_SEQUENCE] - Exemple :
internal/21012024/5
🔧 Mécanisme de Génération¶
Configuration XML¶
Le fichier config/chrono.xml définit les règles de génération des numéros chronologiques.
Règles de Génération¶
- Réinitialisation annuelle des compteurs
- Numérotation séquentielle par catégorie
- Utilisation de fonctions spécifiques pour générer chaque élément
🔬 Section Technique : Construction du Numéro Chronologique¶
Architecture de Génération¶
Le processus de génération des numéros chronologiques repose sur plusieurs composants :
1. Configuration XML¶
Le fichier de configuration chrono.xml définit la structure du numéro chrono via des éléments XML.
2. Types d'Éléments¶
Chaque numéro chrono peut être composé de différents types d'éléments :
- Types de Base :
text: Chaîne de caractères statiquedate: Élément temporel dynamiquemaarch_var: Variables systèmemaarch_functions: Fonctions spécialisées de génération
3. Fonctions de Génération¶
Fonctions Date¶
year: Année courante (4 chiffres)month: Mois courant (2 chiffres)day: Jour courant (2 chiffres)full_date: Date complète (formatdmY)
Fonctions Maarch¶
chr_global: Numéro séquentiel global annuelchr_by_entity: Numéro séquentiel par entitéchr_by_category: Numéro séquentiel par catégoriecategory_char: Caractère de catégorisationchr_by_res_id: Numéro basé sur l'ID de ressource
Exemple Technique Complet¶
Fichier de Configuration¶
<CHRONO>
<id>incoming</id>
<ELEMENT>
<type>text</type>
<value>MAARCH</value>
</ELEMENT>
<ELEMENT>
<type>date</type>
<value>year</value>
</ELEMENT>
<ELEMENT>
<type>maarch_functions</type>
<value>category_char</value>
</ELEMENT>
<ELEMENT>
<type>maarch_functions</type>
<value>chr_by_category</value>
</ELEMENT>
</CHRONO>