Consulte a continuación los montadores utilizados para Agregados o cese directamente el contenido que tenga dudas:
- Montador %IDmódulo.IDAgregado.InformaciónDeseada%
- Montador %CHECKED(IDmódulo. IDAgregado)%
- Montador $HASCHILDREN(ID_DE_LA_ENTIDAD)$
Montador !Find
El ensamblador !Find se utiliza para buscar la información de un determinado grupo o entidad. Generalmente, se usa en el ensamblaje de referencia de Modelos Formato, pero se puede usar en varias otras funciones en la personalización de Promob.
La búsqueda de suelo se puede utilizar para buscar referencias cuando esta búsqueda se refiere a uno de los agregados del artículo.
Para buscar información para una referencia particular en un módulo agregado:
!find(entityid,id_entidade).$REFERENCE(informacao)$!
Para buscar información sobre una referencia particular en un agregado de grupo:
!find(groupid,id_grupo).$REFERENCE(informacao)$!
IMPORTANTE: Para que el comando !find(groupid) puede localizar la información en el grupo de modelos Formato, es esencial que este grupo se configure como un agregado de grupo. Utilizar el !find(groupid) para buscar información en grupos de modelos Formato que contiene solo modelos individuales como agregados de módulos puede comprometer la fiabilidad de la búsqueda, lo que resulta en la ausencia de información o respuestas inexactas.
EJEMPLO 1:
!find(groupid,POR_MOD_INF*).$REFERENCE(FORMATO)$!
En este ejemplo, la búsqueda será por la referencia FORMAT dentro de cualquier elemento (*) del grupo (groupid) POR_MOD_FOR *.
IMPORTANTE: El * usado al final del ID es para la referencia para buscar en todos los grupos que tienen el ID POR_MOD_FOR incluso si contiene alguna información después del FOR como el ID POR_MOD_FOR_INF, esto facilita la búsqueda de los ID en los modelos de formatos de puerta.
EJEMPLO 2:
!find(entityid,POR_COZ_INF).$D$!
En este ejemplo, la búsqueda se realizará por la profundidad ($ D $) de la entidad (entityid) POR_COZ_INF.
IMPORTANTE: Para que se devuelva el resultado, el agregado en cuestión debe estar activo.
Montador !FindAt
El montador !findAt se utiliza para buscar información de todas las repeticiones de un ítem en una lista y seleccionar uno de ellos basado en un índice. Es ideal para localizar los acabados de un ítem hijo específico dentro de un ítem padre.
Al igual que el montador !find!, el !findAt puede ser utilizado en diversos contextos para acceder a diferentes variables y referencias.
Cómo funciona
La estructura del montador incluye los siguientes parámetros:
- entityid: identifica la entidad base de la búsqueda.
- ID de la entidad: corresponde al ítem que se está buscando.
- Índice: indica la posición del ítem en la lista (empezando por 0).
- Ordenación (opcional): define el orden de los ítems devueltos, pudiendo ser ascendente (ASC) o descendente (DESC).
Ejemplo 1 - Buscar información de múltiples agregados con el mismo ID
- Se utilizan las referencias PROFUNDIDAD_LAT_1 y PROFUNDIDAD_LAT_2.
- Un módulo tiene dos laterales, izquierdo y derecho, con el mismo ID: com_coz_lat_lat.
- La referencia de profundidad varía según el lado del lateral.
En este caso, el montador !findAt puede ser utilizado para buscar la información específica de cada lateral:
- Al usar el índice 0, se devuelve la profundidad del lateral izquierdo: 800.
- Con el índice 1, se devuelve la profundidad del lateral derecho: 600.
Estos datos pueden ser verificados en el XML del presupuesto.
Ejemplo 2 - Buscar información con ordenación
Utilizando la misma base del ejemplo anterior, es posible aplicar una ordenación en los resultados:
- Si es necesario que la referencia PROFUNDIDAD_LAT_1 siempre traiga el valor menor y PROFUNDIDAD_LAT_2 el mayor, se puede aplicar la ordenación ASC (ascendente).
En este escenario:
- El índice 0 devuelve la profundidad del lateral con menor valor: 600.
- El índice 1 devuelve la profundidad del lateral con mayor valor: 800.
La visualización de estos resultados también puede ser verificada en el XML del presupuesto.
Montador !FindAndJoin
El ensamblador !FindAndJoin se utiliza para buscar información de todas las repeticiones del elemento y resumir las respuestas. Es decir, se utiliza para recuperar los acabados de todos los elementos secundarios del elemento principal. Al igual que el ensamblador Find!, con él, es posible utilizarlo en diferentes lugares y buscar diferentes variables y referencias.
EJEMPLO:
Para registrar una puerta con dos paneles de diferentes tipos de acabados:
1. Haga referencia a PANELS con el valor !findAndjoin (groupid,id_del_grupo, -). # DESCRIPTION #!
NOTA: El separador utilizado en el ensamblador es el guión ( - )
2. id_del_grupo como ID de grupo del panel;
3. La descripción de la puerta (elemento principal) busca en la referencia PANELS;
4. Cada Panel del grupo de paneles tiene la descripción Panel # POSITION # @ color_modelo @;
5. Puerta con 2 paneles, donde, el panel en la posición 1 será Negro y el panel en la posición 2 será Blanco, el nombre de la puerta en el ambiente será: Panel 2 Blanco - Panel 1 Negro.
NOTA: Es posible indicar en lugar del valor de groupid, el valor de entityid y ID_de_la_entidad cuando no hay un grupo de elementos. A continuación se muestran imágenes en la práctica:
Na Função de Travessas desta porta, está setado apenas um módulo, por isso, o montador fica !findAndjoin(entityid.'. Se fosse um grupo de vidros, buscaria o 'findAndjoin(groupid.'
En la Función Traverse de este puerta, solo se establece un módulo, por lo que el ensamblador es !findAndjoin (entityid.'. Si fuera un grupo de vidrios, buscaría el 'findAndjoin (groupid.'
Aun en este ejemplo, en la referencia del elemento principal, el ensamblador buscó la entidad, el ID de la entidad y la descripción de los elementos secundarios del panel de la puerta (imagen de arriba), obteniendo: !findAndjoin (entityid, rom_r_mov_co_pai_p_mon_ocu_int_vid_s, -).# DESCRIPCIÓN#!
En el entorno 3D, al seleccionar la puerta con dos tipos de acabado, es posible visualizar la descripción de los dos tipos de acabado presentes en ella.
Montador %IDmódulo.IDAgregado.InformaciónDeseada%
Además de Find, es posible utilizar el ensamblador a continuación para buscar información agregada. Este montador solo debe usarse en el artículo que tiene el artículo mencionado en la fórmula agregada.
%IDmódulo.IDAgregado.InformaciónDeseada%
EJEMPLO:
%POR_MOD_FOR_INF.Modelo.$REFERENCE(FORMATO)%
En el ejemplo, la información buscada será la referencia FORMAT en el elemento o grupo POR_MOD_FOR_INF.
La información deseada puede ser un ensamblador (no relacionado con el entorno).
EJEMPLO:
Montador %IDmódulo.IDAgregado.$EntityID$%
Devuelve el nombre (abreviatura) del agregado.
Montador %IDmódulo.IDAgregado.$Width$%
Devuelve el ancho del agregado.
Montador %IDmódulo.IDAgregado.$Reference(COMPLETE)$%
Devuelve la referencia COMPLETA del agregado.
IMPORTANTE: Para que se devuelva el resultado, el agregado en cuestión debe estar activo.
Montador %CHECKED(IDmódulo. IDAgregado)%
El montador CHECKED comprueba si el agregado está verificado. Esta función es útil cuando la referencia es diferente según el agregado que está activo o en condiciones de visibilidad, donde un agregado específico solo será visible si el agregado X está activo.
%CHECKED(IDmódulo. IDAgregado)% == ‘TRUE’
Montador $HASCHILDREN(ID_DE_LA_ENTIDAD)$
Devuelve tru/false si o contiene la entidad secundaria;