Fonctionnalités de gestion des données > Gestion de structures d'article > Développement d'une logique de sélection avancée pour les modules configurables > Exemples et bonnes pratiques concernant la logique de sélection avancée > Expressions logiques courantes > Expressions complexes If/Then à l'aide de tableaux de cas
  
Expressions complexes If/Then à l'aide de tableaux de cas
Dans de nombreuses situations, une simple expression If/Then n'est pas suffisante. Par exemple, vous pouvez disposer d'un ensemble complexe de conditions d'entrée et de plusieurs valeurs de sortie correspondantes.
Dans ce cas, l'approche suggérée consiste à établir un tableau de cas, comme précédemment, mais avec beaucoup plus de colonnes. Certaines des colonnes représentent les conditions d'entrée et d'autres les conditions de sortie. Prenons l'exemple suivant :
askMaterial
askTrim
askInlay
supportMaterial
legMaterial
Oak
Walnut
White
Oak
Walnut
Oak
Walnut
Black
Walnut
Oak
Oak
Cherry
White
Oak
Walnut
Oak
Cherry
Black
Walnut
Oak
Maple
Cherry
White
Maple
Cherry
Maple
Cherry
Black
Cherry
Maple
Maple
Walnut
White
Maple
Cherry
Maple
Walnut
Black
Walnut
Maple
Dans cet exemple, une table rectangulaire a un plateau réalisé avec trois combinaisons de matériaux différentes : le matériau du plateau, celui de la bordure et la couleur de la marqueterie. Les trois premières colonnes de ce tableau de cas représentent ces valeurs.
En fonction de ces sélections, les matériaux du support et les pieds de la table sont automatiquement sélectionnés, comme illustré par les deux dernières colonnes de ce tableau de cas.
Une fois les valeurs d'askMaterial, askTrim et askInlay spécifiées par l'utilisateur, le tableau de cas affecte les valeurs correspondantes pour supportMaterial et legMaterial.
Par exemple, si l'utilisateur sélectionne un matériau de Maple, une bordure de Cherry et une marqueterie White, le support est défini comme Maple et les pieds sont définis comme Cherry.