Evaluación de expresiones durante el filtrado de opciones
Se tienen en cuenta dos tipos de expresiones a la hora de filtrar el vínculo de uso: las expresiones en el vínculo de uso y las expresiones en el artículo hijo del vínculo de uso. Si existe una expresión del artículo hijo, siempre se utilizará para el filtrado el artículo hijo configurable. Si el artículo no es configurable, la expresión se considera (y se puede asignar mediante la interfaz de usuario) solo si la preferencia Allow Assignment of Expressions to Non-Configurable Items se define en true.
El vínculo de uso se filtra si cualquiera de los dos tipos de expresiones (cuando ambos tipos están presentes) se evalúa como FALSE.
Evaluaciones de expresiones booleanas
Durante el filtrado, el sistema evalúa las expresiones asignadas al compararlas con las selecciones realizadas en el filtro de opciones. Si se seleccionan elecciones para una opción, a las elecciones seleccionadas se les asigna el valor true, mientras que a las elecciones no seleccionadas se les asigna el valor false. Estos valores se sustituyen en la expresión y esta se evalúa. La evaluación de una expresión booleana permite determinar el valor de la expresión aunque algunas variables de la expresión estén sin definir. Tenga en cuenta los siguientes ejemplos.
Caso 1
La expresión es RED && LARGE
Si el valor de la variable RED o LARGE es FALSE, el valor de la expresión completa es FALSE, independientemente del valor de la otra variable.
Caso 2
La expresión es RED||LARGE
Si el valor de la variable RED o LARGE es TRUE, el valor de la expresión completa es TRUE, independientemente del valor de la otra variable.
Caso general
Estos ejemplos se pueden ampliar al caso general de expresiones booleanas, ya que se pueden descomponer en conjunciones/disyunciones/negaciones anidadas. Por ejemplo, considere esta expresión:
(X || Y) && (Z && W) && (V || W)
Si el valor de la variable Z es FALSE, toda la expresión booleana se evalúa como FALSE, independientemente de los valores de las variables X, Y, W, V.
Casos adicionales de usos para el filtrado
Hay casos práctico adicionales que se deben tener en cuenta al filtrar una estructura configurable:
• Una estructura del producto puede tener expresiones básicas y avanzadas asignadas a distintas variantes de módulo. El filtro de opciones se comporta de la siguiente manera:
◦ En el caso de expresiones básicas, el filtro tiene en cuenta la unión de las selecciones en el elemento y en el vínculo de uso. Si como mínimo una expresión se evalúa como VERDADERO, la variante de módulo no se filtra.
◦ En el caso de expresiones avanzadas, solo si tanto la expresión del elemento como la expresión del vínculo de uso del elemento se evalúan como VERDADERO, la variante de módulo no se filtra.
• Una expresión se asigna al vínculo de uso y a las apariciones de la variante de módulo en la estructura del producto configurada. El filtro de opciones primero evalúa la expresión asignada al vínculo de uso y después la expresión asignada a sus apariciones, en el siguiente orden:
◦ Si la expresión asignada se evalúa como FALSO, la variante de módulo se filtra, incluidas todas sus apariciones.
◦ Si la expresión asignada se evalúa como VERDADERO, el filtro de opciones evalúa la expresión asignada a las apariciones. Si es FALSO, se filtra una aparición.