Funciones de gestión de datos > Gestión de estructuras de artículos > Desarrollo de lógica de selección avanzada para módulos configurables > Ejemplos y prácticas adecuadas de la lógica de selección avanzada > Expresiones lógicas comunes > Expresiones If/Then complejas con tablas de casos
  
Expresiones If/Then complejas con tablas de casos
En muchas situaciones, una expresión If/Then simple no es suficiente. Por ejemplo, se puede tener un conjunto complejo de condiciones de entrada y varios valores de salida correspondientes.
En este caso, el enfoque sugerido es establecer una tabla de casos, como antes, pero con muchas más columnas. Hay algunas columnas que representan las condiciones de entrada y otras columnas representan las condiciones de salida. Tenga en cuenta el siguiente ejemplo:
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
En este ejemplo, una mesa rectangular tiene una parte superior con tres combinaciones de materiales distintas: el material de la parte superior, el material de la moldura y el color de la incrustación. Las tres primeras columnas de esta tabla de casos representan estos valores.
Según estas selecciones, el material del soporte y las patas de la mesa se seleccionan automáticamente, como se muestra en las dos últimas columnas de esta tabla de casos.
Después de que el usuario especifique los valores de askMaterial, askTrim y askInlay, la tabla de casos asigna los valores correspondientes para supportMaterial y legMaterial.
Por ejemplo, si el usuario selecciona un material de Arce, una moldura de Cerezo y una incrustación Blanca, el soporte se define como Arce y las patas se definen como Cerezo.