Variantes contextuelles d’un article
Les variantes contextuelles (effectivity overrides) permettent de surcharger un ou plusieurs attributs d’un PartNumber selon le contexte d’usage : famille d’aéronef, variante, version produit, société, business unit ou aéronef spécifique. Un même article catalogue peut ainsi se comporter différemment selon l’environnement où il est monté, sans dupliquer la fiche.
Pourquoi c’est utile
Un même boulon turbo référencé en PT0714A00 est civil par défaut. Dans la famille
Rafale, ce même article est classé militaire (contrôles export plus stricts). Sur la
variante Rafale Marine (export marine), il bascule en double usage. Plutôt que de cloner
trois fiches PartNumber, on déclare deux variantes contextuelles sur le PartNumber d’origine et la
résolution s’adapte automatiquement.
La cascade de résolution
Pour chaque attribut surchargeable, Envergure parcourt les scopes du plus spécifique au moins spécifique et prend la première valeur non-nulle rencontrée :
Ordre d'évaluation pour chaque attribut
- Aéronef
Override sur un aéronef précis (cas dérogation locale).
- Business UnitOverride pour une BU d’une société exploitante.
- SociétéOverride pour toute la flotte d’une société.
- Version produit
Override sur une version spécifique d’une variante.
- Variante produitOverride sur une variante (ex : Rafale M).
- Famille produitOverride sur toute la famille (ex : Rafale).
- Valeur native du PartNumber
Aucun override applicable — la valeur portée par la fiche article s’applique.
Chaque attribut est résolu indépendamment. Une variante au niveau famille peut surcharger la
controlClass pendant que la repairable continue de venir de la fiche article.
Quand l’utiliser (et quand ne PAS l’utiliser)
- Variante contextuelle — quand un attribut change selon le contexte d’usage tout en conservant le même PN matériel. Cas typique : classification export différente entre civil et défense.
- Variante d’AEP — quand c’est la structure même de l’aéronef qui change (slots différents, modules différents). Ce n’est pas le sujet ici.
- Dérogation — quand un PN non standard est admis temporairement à la place du PN attendu par l’CA. La dérogation porte sur l’AEP/CA, pas sur le PartNumber lui-même.
Attributs surchargeables
Un override peut redéfinir un sous-ensemble de :
- Classe de contrôle (
controlClass) —civil,dual_use,military. - Réparable (
repairable) — oui / non. - CSI (
csi) avec sa justification (csiReason) — le couple est obligatoirement cohérent (justification non vide sicsi = true, absente sicsi = false). - Contrôles export (
exportControls) — remplacement complet de la liste portée par le PN. Liste vide = « pas de contrôle export sur ce scope ». Maximum 10 régimes par override.
Tout attribut laissé vide dans l’override continue de suivre la cascade et n’écrase rien.
Un champ Notes libre (2 000 caractères max) peut accompagner l’override pour documenter la raison de la variante. Ce champ est purement informatif et n’entre pas dans la cascade de résolution.
Créer une variante contextuelle
Création d'une variante contextuelle
- Ouvrir la fiche PartNumber admin
Depuis Admin → Part Numbers, ouvrez la fiche de l’article puis l’onglet « Variantes contextuelles ».
- Lancer la création
Cliquez sur « Ajouter une variante ». Choisissez le type de scope (Famille, Variante, Version, Société, Business Unit, Aéronef), puis l’entité cible via le picker cherchable.
- Surcharger les attributs
Renseignez au moins un des attributs surchargeables. Les autres restent à « (pas d’override) » et suivront la cascade.
- Valider
L’enregistrement est unique par (PartNumber, scope). Pour changer le scope d’un override existant, supprimez-le puis recréez-le.
Tester la résolution
Le bouton « Tester la résolution » ouvre un dialog où vous choisissez librement un contexte
(famille, société, BU, aéronef…) et voyez immédiatement les valeurs effectives pour chaque
attribut, avec la source : default (valeur native du PN) ou override · {scope} (un
override d’un scope précis).
Utile pour valider qu’une nouvelle variante prend bien effet sur l’aéronef cible avant de la présenter à un client métier.
Référence API
-
GET
/part-numbers/:id/effectivity-overrides—liste les variantes contextuelles déclarées sur ce PartNumber.
-
POST
/part-numbers/:id/effectivity-overrides—crée une variante (exactement un scope FK + au moins un attribut). Réservé admin global.
-
PATCH
/part-numbers/effectivity-overrides/:overrideId—met à jour les attributs surchargés (le scope est figé). Réservé admin global.
-
DELETE
/part-numbers/effectivity-overrides/:overrideId—supprime une variante. Réservé admin global.
-
GET
/part-numbers/:id/resolve—résout les attributs pour un contexte donné (query string
aircraftId,businessUnitId,companyId,versionId,variantId,familyId— tous optionnels).
Voir aussi
- Admin → Part Numbers — catalogue des articles.
- Configurations applicables — hiérarchie produit Famille / Variante / Version.
- Flotte — aéronefs ciblables par un override.