Ir al contenido

Raíz: <histrix>

El tag raíz de un XML de Histrix. <abm> es un nombre alternativo del mismo tipo: las dos grafías aceptan exactamente los mismos atributos y los mismos hijos.

Es el elemento con más atributos del schema, porque concentra la configuración de toda la pantalla: el tipo de vista, la paginación, la grabación, la impresión, la exportación y el comportamiento de la grilla.

Raíz del documento Histrix. Define un formulario, consulta, ficha, grid, gráfico u otra vista según el atributo tipo. Contiene un <form> (o alias <consulta>) con la definición de datos, y opcionalmente <grafico>, <widget>, <eventos>, <customScript>, etc.

  • Va dentro de: es el elemento raíz del documento.
  • Atributos: 172 (propios)
Elemento Veces Descripción
<title> 0..n Título del documento/pantalla.
<titulo> 0..n Alias en español de title (tooltip/título).
<pie> 0..n Pie del documento/pantalla (atributos para PDF).
<obs> 0..n Observaciones (puede estar vacío).
<confirmacion> 0..n Mensaje de confirmación.
<eventos> 0..n Grafía castellana de <events>: contenedor de <event id="..."> con el JavaScript que se ejecuta en cada momento del ciclo de la pantalla.
<events> 0..n Alias en inglés de “eventos”.
<customScript> 0..n Script personalizado para la pantalla.
<form> 0..n Definición del formulario/consulta principal. Contiene <table>, opcionales <join>, <sql>, <tempTable>, <importar>.
<consulta> 0..n Alias español de <form>. Misma estructura.
<widget> 0..n Widget embebido (iframe a URL externa o componente custom) para dashboards.
<scriptSrc> 0..n Librería JavaScript externa que la pantalla necesita: el texto del tag es la ruta del archivo y se inyecta antes que el resto del JS del XML.
<txtresultados> 0..n Cambia el texto que acompaña al contador de resultados del listado: <prefijo> va antes del número y <sufijo> después (por ejemplo “Se…
<prompt> 0..n Instrucción para el resumen automático de la pantalla: el texto se le pasa al modelo de lenguaje junto con los datos del listado para que genere el…

texto · opcional

No tiene nada que ver con la resolución de XMLs (de eso se ocupan dir= y el orden de búsqueda del motor, que no miran path): es el directorio de subida y lectura de los campos file, files y dir.

BoolTrueFalse · opcional

Está invertido respecto del nombre: editable="true" convierte la grilla en editable inline y por eso oculta el botón Modificar. "false" es lo mismo que no poner nada y no bloquea nada — para bloquear van modifica="false" o sololectura. (En un <field> el atributo homónimo significa otra cosa.)

BoolTrueFalse · opcional

Si “true”, el formulario es de sólo lectura (no permite alta/modificación/baja). Sin default declarado a propósito: un camino del motor trata la ausencia como activo (sólo “false” lo desactiva) y otro exige el literal “true”, o sea que omitirlo no equivale a ninguno de los dos valores en todos los caminos.

texto · opcional

Registra las operaciones en HTXLOG (auditoría). Requiere el literal “true”: todos los lectores lo comparan exacto, y no existe la variante de pasarle el nombre de un logger custom (el puente de auditoría se resuelve por plugin). Lo que faltaba, y es lo importante: todo XML abierto desde el menú arranca con log="true" implícito, así que ahí declararlo no cambia nada.

texto · opcional

Al grabar, además de disparar la impresión declarada en impresion, abre el envío de ese PDF por mail. Alcanza con que el atributo esté presente: el valor no se usa para nada (por convención se repite el nombre del XML de impresión, pero es indistinto).

Sin impresion no hace nada, porque el envío viaja pegado a la llamada de impresión.

texto · opcional

CSS inline del contenedor.

texto · opcional

Igual que class (es la propiedad interna a la que class se mapea; escribir cualquiera de las dos llega al mismo lugar). El default cuando se omite lo pone cada vista: ParentingClass en un grid ing, y su clase por defecto propia en las vistas de mapa, ayuda, árbol y consulta. No confundir con el clase del <field>, que es la clase CSS del input.

texto · opcional

Clase CSS del contenedor de la vista. No es “adicional”: reemplaza la clase por defecto (consulta, ParentingClass, el defaultClass de la vista…) — todos los lectores la toman como default-override. Para agregar sin reemplazar existe tableClass, que sí concatena. class y clase son la misma cosa en el <histrix>: escribir cualquiera de las dos llega al mismo lugar.

BoolEstricto · opcional · default false

Agrega en el ABM un botón que abre la URL de la vista en otra pestaña. No aparece en la grilla ni agrega una columna con el link.

BoolTrueFalse · opcional

Muestra el botón exportar (XLS/CSV). “false” lo oculta.

BoolEstricto · opcional · default false

Convierte las solapas internas (los campos con contenedor embebido) en un acordeón de paneles colapsables. Los <fieldGroup> no participan.

texto · opcional

Misma cosa que width: se leen juntos y gana el que esté presente. Aplica al ancho del contenedor en las vistas de árbol, mapa, calendario y consulta.

BoolEstricto · opcional

Con “true” y junto a autoprint, además de imprimir dispara el envío del PDF por mail. Requiere el literal “true”.

BoolEstricto · opcional · default false

Imprime automáticamente al abrir el documento (sin click del usuario). Trae dos efectos laterales que se leen como un bug: al parsear el XML fuerza preFetch="true" y pone en sólo lectura el formulario y sus grillas embebidas. Es la causa de “puse autoprint y ahora no puedo editar”.

texto · opcional

Refresco automático periódico de la vista. No es un booleano sino el intervalo: el valor se compara contra cero, así que autoupdate="true" no hace nada — hay que poner un número. Y el polling sólo se arma en gráficos de tipo gauge.

BoolEstricto · opcional · default false

Selector de fase del movimiento: con "true" ese contenedor se graba en la pasada previa; con cualquier otro valor, o ausente, en la pasada posterior. No tiene nada que ver con eventos de plugins.

BoolDefaultActivo · opcional · default true

Permiso de borrado a nivel ABM. No es alias de deleteRow y la precedencia es asimétrica: en el permiso de borrado que expone el schema de la API gana deleteRow, y borra="false" no apaga el botón de borrar de cada fila de las grillas. Acepta la variante legacy borra="no".

texto · opcional

No es un margen sino la coordenada Y del pie del PDF (mm): positiva se mide desde el borde superior, negativa desde el borde inferior. Además corre el punto donde se dispara el salto de página. bottomMargin="20" imprime el pie a 20 mm del borde superior.

texto · opcional

Texto custom del botón de confirmación.

BoolEstricto · opcional · default false

Construye una estructura jerárquica a partir de los resultados. Requiere campos con arbol="padre" y arbol="hijo", en minúscula: escrito Arbol hay consumidores que no lo leen y el árbol sale vacío.

texto · opcional

Agrega un botón de recálculo a la barra de acciones. No es un booleano: el valor es la etiqueta visible del botón. Ej: calculateButton="Buscar".

número · opcional · default 1

Relación ancho/alto con la que se dibuja el calendario.

texto · opcional

Vista inicial del calendario; omitido equivale a "month". El valor se inyecta crudo en la configuración del calendario, así que un nombre inexistente no lo rechaza el schema pero rompe el render del lado del cliente. Los nombres válidos en la versión instalada son month, basicWeek, basicDay, agendaWeek, agendaDay, listDay, listWeek, listMonth y listYear — las vistas de lista ya vienen incluidas, sin agregar nada.

texto · opcional

Opciones extra del calendario: el contenido se concatena como JavaScript crudo dentro de su configuración. No hay validación ni escapado, así que un error de sintaxis acá rompe el render del calendario entero.

texto · opcional

Fuente de tareas del panel lateral del calendario. No puede ser un campo: el valor se usa crudo como nombre de un XML (se busca en el directorio del XML actual) y sus filas son las tareas. Requiere el panel lateral visible — ver sidePanel.

BoolDefaultActivo · opcional · default true

Muestra el botón que limpia el formulario (no cancela ninguna transacción). Con preFetch="true" el botón no se dibuja, aunque se declare cancel="true". (Bug conocido: en fichaing devuelve ReferenceError: xml is not defined.)

texto · opcional

No valida duplicados: el valor se pasa a un parámetro que nadie consume. Su único efecto real es forzar el camino sin prepared statement en el UPDATE.

BoolEstricto · opcional · default false

Si “true”, el popup se cierra automáticamente tras procesar.

BoolEstricto · opcional · default false

No es una búsqueda global y no tiene relación con los campos fullSearch. Es la barra Buscar/Limpiar de una ficha: marca el formulario como formulario de búsqueda, lo arranca vacío y hace que el campo clave se use para traer el registro por su clave.

texto · opcional

Es la leyenda del botón de procesar, no un mensaje de confirmación: el valor se usa como texto del botón (el mismo lugar que btnconfirma). Los valores del repo lo confirman: GRABAR, CONFIRMAR, ANULAR, FACTURAR. El mensaje del popup “¿Está seguro?” es el elemento <confirmacion>.

entero · opcional

Cantidad de copias del PDF a generar (multiplicar la salida).

texto · opcional

Texto del botón “Nuevo” del listado.

texto · opcional

Nombre de una clase PHP propia con un método estático Select() que recibe el contenedor de datos y provee las filas (o Clase::MetodoCustom, para varias vistas en una misma clase), bypaseando la generación de SQL del motor.

BoolDefaultActivo · opcional · default true

Controla el pie informativo de la grilla (“Mostrando X de Y registros”).

BoolJsLiteral · opcional

Enciende el paginador de la grilla: aparecen los botones de página y el selector de cuántos renglones mostrar (arranca en 10, con opciones 10/25/50/100). Viene apagado, así que por defecto la grilla dibuja todos los renglones y se recorre con la barra de scroll vertical. Trampa: el valor se copia tal cual al script de la grilla, sólo se acepta true o false — cualquier otro texto rompe el armado de la grilla. En grillas con serverSide=“true” que declaran paginar=, la paginación la decide paginar y este atributo queda sin efecto. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Habilita el reordenamiento de filas de la grilla por drag-and-drop (“true”/“false”).

BoolJsLiteral · opcional

Cuando la grilla tiene menos renglones de los que entran en su alto, el marco con scroll se encoge hasta la altura real de los datos en vez de dejar el hueco vacío abajo. Viene apagado. Trabaja de la mano del alto de la grilla (tableHeight): si no hay un alto que sobre, no se nota diferencia. Sólo se acepta true o false, porque el valor se copia tal cual al script de la grilla. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolJsLiteral · opcional

Cambia la paginación por scroll virtual: la grilla mantiene el alto fijo y va pidiendo y dibujando sólo los renglones que caen en la ventana visible mientras se scrollea, lo que la vuelve usable con muchísimos registros. Viene apagado. Trampa grande: se aplica únicamente en grillas con serverSide=“true”; en una grilla común el atributo se ignora por completo. Sólo se acepta true o false. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Impresora que queda preseleccionada en el combo de impresoras del panel de opciones de impresión del programa. El combo se arma con las impresoras configuradas en la base más la opción PDF, que es la primera y corresponde al valor vacío, así que el texto tiene que coincidir exactamente con el nombre de una impresora configurada; si no coincide con ninguna no se preselecciona nada y queda PDF. Es sólo un valor por defecto: el usuario puede cambiarlo antes de imprimir. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolDefaultActivo · opcional · default true

Habilita el botón eliminar en cada fila. No es alias de borra: deleteRow es el que decide el permiso de borrado que expone la API, y borra="false" no apaga el botón por fila de las grillas.

texto · opcional

Separador de columnas efectivo de la exportación CSV (default “,”). No es un alias secundario de delimiter: delimiter sólo precarga el input del diálogo y éste es el que manda.

texto · opcional

Sólo precarga el separador en el input del diálogo de exportación; no es el separador efectivo del CSV. El carácter que se escribe lo fija delimitador.

texto · opcional

Directorio donde vive el XML de detalle: el que se abre al expandir una fila, y también el detalle de las vistas de calendario y de gantt. Sin esto se busca en el directorio del XML actual. Si el nombre declarado en detalle ya trae ruta propia, esa ruta gana.

El mismo valor se puede escribir como dir en el <consulta>/<form>, y si están los dos, el del <consulta>/<form> pisa a éste.

texto · opcional

Nombre de la impresora configurada a la que se manda, sin pasar por el visor de PDF, el comprobante que el programa imprime automáticamente después de grabar. Cualquier valor no vacío enciende el modo directo, pero NO es un booleano: el valor se usa tal cual como nombre de impresora, así que poner “true” hace que se busque una impresora llamada “true” (con el usuario en modo editor eso corta con un error de impresora inexistente). Escrito en el XML de un movimiento la impresión se resuelve entera en el servidor; escrito en el programa principal el navegador dispara el pedido en segundo plano en lugar de abrir la ventana con el PDF. Va todo en minúsculas. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Directorio del XML de impresión (combinado con xmlImpresion).

texto · opcional

Alias lowercase de dirImpresion.

BoolDefaultActivo · opcional · default true

Con false esconde el renglón de la barra de filtros donde viven el botón Buscar, el de limpiar filtros y los botones de toolbar declarados para la barra de filtros. Cualquier otro valor —o no poner el atributo— los deja visibles. Sólo tiene sentido si la búsqueda se dispara de otra forma (por ejemplo con autoFilter=“true”), porque si no el usuario se queda sin manera de ejecutar el filtro. Trampa: el ocultado se genera con un estilo mal cerrado, así que además de esconderse puede comerse parte del contenido de ese renglón. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolEstricto · opcional · default false

Permite mover tarjetas entre columnas. Apagado por defecto. Sólo se concede si además el XML permite escribir: sololectura y modifica="false" lo desactivan, y el servidor lo vuelve a evaluar antes de grabar, así que un PUT a mano sobre un tablero de sólo lectura responde 403.

El movimiento hace un UPDATE del campo de estado y no dispara <movimientos>. Para un estado que es consecuencia de un comprobante o de un proceso (presupuesto → facturado, orden pendiente → cumplida), dejarlo en false: el tablero grabaría el estado nuevo sin los movimientos que le corresponden.

texto · opcional

Nombre del DSN alternativo (definido en custom_dsn de config.xml). Permite que este XML consulte otra BD distinta de la principal.

texto · opcional

No es un evento JS: se resuelve server-side y filtra qué evento de grabación dispara este movimiento. Si el evento en curso no coincide con el valor, el contenedor se saltea entero y no graba nada.

BoolEstricto · opcional · default false

No interviene en la exportación. Aplica a los XMLs que devuelven datos al contenedor referente (llenoReferente / <importar>): con “true” se devuelve una sola fila que acumula los campos marcados con suma="true", en vez de las N filas del resultado.

texto · opcional · default Xls

Formato con el que sale el botón exportar: “Xls” (default) | “Csv” | “Xml”. El valor se resuelve por nombre, así que hay que respetar las mayúsculas del ejemplo.

BoolDefaultActivo · opcional · default true

Controla si la primera fila del XLS exportado lleva los nombres de columnas.

texto · opcional

Extensión que se propone en el diálogo de exportación (default “csv”). Sólo precarga el input: cuando la exportación se pide por API gana la extensión propia del formato. El motor acepta además la grafía con typo extenssion como alias.

BoolPresencia · opcional

Controla el buscador general de la grilla (el input de búsqueda que trae la tabla), no la barra de <filters>. Y el valor engaña: cualquier valor no vacío lo enciende, incluido "false" — lo único que lo apaga es omitir el atributo. El que sí controla la barra de filtros es autoFilter.

texto · opcional

Tamaño de fuente de la planilla exportada (default 10). No toca el HTML del formulario ni el PDF.

BoolPresencia · opcional

Después de grabar o de borrar, vuelve a consultar la base (y a recargar la tabla temporal) en lugar de reusar los datos que ya tenía en memoria. Excepción a BoolTrueFalse: el motor sólo mira si el atributo está presente, no su valor — cualquier valor lo activa, incluido "false". Para desactivarlo hay que quitar el atributo (o inutilizarlo renombrándolo, p.ej. _forceReload).

BoolDefaultActivo · opcional · default true

No suprime el render del formulario. Sólo tiene efecto real en las vistas de árbol (arbol/treeView); en tipo="consulta" lo único que hace form="false" es desactivar el llenado del formulario al clickear una fila (click-en-la-fila → llena-el-form). En las demás vistas es inerte. Además el motor lo lee con más de un criterio, así que omitirlo no es idéntico a escribir “true”.

entero · opcional

Cuántas filas muestra cada página del diagrama de Gantt; el resto se llega con los botones de página. Si no se indica, 20. Tiene que ser un número: el valor se copia tal cual al script de la vista, así que un texto la rompe. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

GanttEscala · opcional

Escala más gruesa a la que el usuario puede alejar el zoom del diagrama de Gantt. Si no se indica queda en meses, que además es lo máximo que maneja la vista, así que en la práctica sólo sirve para restringir más (por ejemplo, poner weeks para que no se pueda alejar hasta meses). Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

GanttEscala · opcional

Escala más fina a la que el usuario puede acercar el zoom del diagrama de Gantt. Trampa: si no se declara queda en días, más restrictivo que el mínimo natural de la vista, así que el zoom a horas está bloqueado hasta que se ponga hours de forma explícita. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

GanttEscala · opcional

Escala de tiempo con la que abre el diagrama de Gantt: horas, días, semanas o meses. Si no se indica, abre en días. Después el usuario puede acercar o alejar con el zoom, siempre dentro de los límites que fijan ganttMinScale y ganttMaxScale. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolEstricto · opcional

Opt-in del contenedor de cabecera para que la cabecera haga su propio INSERT: sólo "true" hace algo. graba="false" no impide ninguna grabación, es un no-op.

BoolEstricto · opcional · default false

Va en el <histrix> del XML de movimiento/relación, no en un <table>. Con “true”, ese contenedor se saltea en la pasada normal de movimientos y se graba al final de todo. No es específico de UPDATE. La fase exacta la termina de elegir postGrabacion, que se evalúa junto con él. Alias lowercase aceptado: grabafinal.

BoolEstricto · opcional

Alias lowercase de grabaFinal.

texto · opcional

No es un modo de render: es la geometría del contenedor. El valor son dos medidas separadas por coma — "ancho,alto" — que se vuelcan al CSS del contenedor; en tipo="card" es lo que dimensiona las tarjetas.

BoolPresencia · opcional

Envuelve los campos en un <fieldset> HTML (agrupado visual). Cualquier valor no vacío lo activa, incluido "false": para no envolver hay que omitir el atributo.

BoolEstricto · opcional

En tipo="ing", deja la grilla sola y esconde el formulario de entrada detrás de un botón. No es sólo un display:none: el bloque del formulario nace oculto, el botón pasa a decir “Agregar …” y es el que lo despliega, y al confirmar el alta el diálogo se cierra y el formulario vuelve a ocultarse. Se compara contra el literal "true": cualquier otro valor deja el formulario visible.

texto · opcional

Template HTML alternativo para fichas con layout custom.

BoolPresencia · opcional

Activa el botón para importar datos desde archivo XLS/CSV. El motor sólo mira si el atributo está presente, no su valor: importFile="false" muestra el botón igual. Para que no aparezca hay que omitir el atributo.

texto · opcional

Nombre de la tabla temporal de importación que alimenta el grid.

texto · opcional

Alias lowercase de xmlImpresion: XML de impresión asociado.

BoolTrueFalse · opcional

Muestra el botón imprimir/exportar a PDF. “false” lo oculta. Sin default declarado a propósito: el motor lo lee con dos criterios distintos, así que el valor efectivo depende de la vista. En unas ramas el botón aparece salvo que el valor sea exactamente “false”; en otras hace falta el literal “true” para que se active. Omitirlo NO es equivalente a ponerlo en “true”. Y el valor se compara sin normalizar: imprime="false " (con un espacio al final) no es “false” y el botón se dibuja igual.

BoolEstricto · opcional · default false

Agrega un botón que imprime en tanda: un solo PDF con una copia por cada fila de la tabla temporal, respetando el campo de condición de cada fila y el pageBreak. No “agrupa varias instancias” en una sola impresión.

texto · opcional

Modo de render de formularios internos en ABMs. Ej. “list” muestra los hijos como lista en lugar de tabs.

BoolTrueFalse · opcional · default true

Permite el alta de registros en ABM/consulta. Default true. Equivalente al botón “+”. XMLs legacy usan inserta="no", pero las dos vistas no lo tratan igual: la web contempla los dos valores (“false” y “no”), mientras que la vista mobile sólo mira “false”. En los XMLs con inserta="no" el botón de alta queda oculto en la web y visible en mobile. Para que valga en las dos, usar “false”. Ojo también con insertaABM: es la otra grafía del mismo permiso, y cuando están los dos inserta la pisa.

BoolDefaultActivo · opcional · default true

No es independiente de inserta: los dos escriben el mismo interruptor de alta y, si están los dos, gana inserta porque se aplica después. Poner insertaABM="true" junto a inserta="false" no habilita el alta.

texto · opcional

LIMIT aplicado a la query principal. Tres cosas que no son obvias: limit="0" significa sin límite (está excluido explícitamente); la forma "offset,count" es válida y es la que usa la paginación; y la forma [__campo__] no existe — el valor se castea a entero, así que [__campo__] colapsa a 0 y el límite queda desactivado en silencio.

BoolEstricto · opcional · default false

Es la misma propiedad que llenoReferente: escribir cualquiera de las dos grafías llega al mismo lugar. El default="false" declarado acá es engañoso, y además contradice a llenoReferente, que a propósito no declara ninguno: hay caminos del motor que tratan la ausencia como activo y otros que exigen el literal “true”. Ver la descripción de llenoReferente.

BoolPresencia · opcional

Si “true”, al recibir un parámetro referente precarga sus datos en el form. Sin default declarado a propósito: hay un camino que trata la ausencia como activo (sólo “false” lo desactiva) y otros dos que exigen el literal “true”, así que omitirlo no equivale a ninguno de los dos valores.

texto · opcional

Nombre de la tabla temporal usada para alimentar grillas de importación. Tiene doble semántica: además de nombre funciona como flag — llenoTemporal="false" evita que la tabla temporal se vacíe al recargar, y el valor participa de la cadena de preFetch del schema.

texto · opcional

Alias lowercase de llenoTemporal.

texto · opcional

Lista CSV de campos cuyo valor se incluye como observación en el log de auditoría.

texto · opcional

Polyline que conecta los puntos del mapa. Viene dibujada aunque no se declare el atributo: el único valor con efecto es "false", que la saca.

entero · opcional

Tope de filas que la consulta acepta mostrar. No pagina ni recorta: si el total supera el número no se renderiza ninguna fila y el cuerpo de la tabla se reemplaza por una línea con “N Registros Encontrados”. Sirve para obligar a filtrar antes de listar.

BoolDefaultActivo · opcional · default true

Muestra el botón de modificar registros. Con la variante legacy modifica="no" pasa lo mismo que con inserta="no": algunas ramas del ABM la toleran, pero la vista que dibuja el botón lee el atributo tal cual y con “no” deja el botón visible. Usar “false”.

BoolEstricto · opcional

Tercera grafía viva junto a modifica: con “true” habilita el botón de modificar. Conviene usar modifica, que es la que contemplan todos los caminos del render.

BoolPresencia · opcional

Agrega la columna de checkboxes para seleccionar varias filas; al procesar, el motor junta las marcadas y las manda juntas. Sirve declarado acá o en el <form>: los dos caminos terminan en el mismo contenedor, y de ahí lo leen los consumidores. Ojo con el valor: una parte del render exige el literal "true" y otra alcanza con que el atributo esté presente, así que multipleSelection="false" deja el render a medias (columna y clase CSS sí, configuración de la grilla no). Usar "true" o no ponerlo.

BoolEstricto · opcional

No dibuja la barra de botones de la toolbar y, en la vista mobile, tampoco la columna de borrar fila de los grids ing. No suprime el tag <form> envolvente ni oculta el formulario: para esconder el form de entrada está hideForm, que es otra cosa.

BoolEstricto · opcional

Alias lowercase de noForm.

BoolEstricto · opcional

Saca el tope de un solo registro que el motor le agrega por defecto a sus UPDATE y DELETE, de manera que la operación alcanza a todos los renglones que cumplan la condición. Usar con mucho cuidado: si la condición no identifica un único registro, se modifican o borran varios de una vez y sin aviso. Además, una vez que se aplica deja en cero el tope declarado con limit= para lo que resta de la operación. Sólo true activa. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolEstricto · opcional

Con “true” el contenedor se renderiza inline en lugar de como pestaña.

Va en el <histrix> del XML EMBEBIDO, no en el del formulario padre: los dos únicos lectores lo consultan sobre el contenedor interno, no sobre el del padre. O sea que hay que ponerlo en el XML que abre el <helper type="object">, no en el que lo contiene. Declararlo en el padre no hace nada.

texto · opcional

Subdirectorio del XML vinculado al aviso de notificación; si no se pone, se usa el directorio del programa que generó el aviso. El dato viaja dentro de la notificación y llega al cliente, pero la interfaz actual no lo usa para armar el botón del aviso (lo arma sólo con el nombre del XML), así que hoy no cambia nada visible: queda disponible para clientes propios que consuman las notificaciones por API. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Nombre del XML al que apunta el botón de lupa (“Ver”) del aviso de notificación: al tocarlo se abre el historial de auditoría de ese evento para ese programa. Si no se pone, se usa el XML del programa que generó el aviso, que es lo habitual; sirve cuando el aviso lo dispara un XML de grabación pero el historial que le interesa al usuario es el de otro programa. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Reemplaza el texto del aviso que reciben los usuarios suscriptos al programa cuando alguien da de alta, modifica, borra o procesa. Si no se pone, el aviso dice la acción más el título del programa (“Insertó Facturas”, “Modificó Facturas”). El texto aparece en el globo de notificación, en el panel de notificaciones y en el aviso push del celular. Ojo que el aviso de altas, modificaciones y bajas sólo se emite si el programa tiene la auditoría activada y si hay usuarios suscriptos. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolEstricto · opcional · default false

Activa ON DUPLICATE KEY UPDATE en el INSERT.

texto · opcional

Título de la columna de huérfanos. Default “Sin clasificar”.

BoolDefaultActivo · opcional · default true

No es lo mismo que PDFpageBreak: pageBreak sólo existe en la impresión en tanda (imprimetanda) y decide si cada fila arranca en una página nueva.

texto · opcional

id del campo que aporta el número de página del PDF. No es un booleano ni un número: el motor toma el valor de ese campo (o el último valor, si hay varias filas) como número de la primera página y sigue numerando desde ahí. Ej: pageNumber="numerator" numera con el campo numerator.

entero · opcional

Activa paginación con N filas por página.

texto · opcional

En PDFs tipo etiqueta/tarjeta: pese al nombre se usa como offset superior del contenido de la tarjeta y como separación entre filas de tarjetas (mm). No tiene efecto en la primera tarjeta ni en la primera de cada página.

BoolPresencia · opcional

Renderiza el pie de página del PDF (toma el contenido del <pie> del XML). Cualquier valor no vacío lo activa, incluido “false”: con PDFconpie="false" el pie se imprime igual. Para que no salga hay que omitir el atributo.

texto · opcional · default helvetica

Fuente del PDF (helvetica, times, courier…).

entero · opcional

Tamaño de fuente global del PDF (en puntos). Es la única grafía que se lee a nivel <histrix>; a nivel <field>/<label> la grafía viva es PDFfontsize (con s minúscula), que es otro atributo.

BoolDefaultActivo · opcional · default true

Recuadro redondeado de la cabecera del documento (logo, título, fecha) más el separador de la fecha. No afecta los títulos de columna de la tabla. Viene activo; “false” lo saca.

número · opcional

Distancia en milímetros, medida desde el borde superior de la hoja, a la que vuelve el contenido cada vez que la impresión PDF abre una hoja nueva por corte de página. Por defecto son 27 mm, que es lo que ocupa la cabecera estándar (logo, datos de la empresa, título, fecha): si la cabecera de la base es más alta, de la segunda hoja en adelante el contenido se le encima y hay que subir este número. No cambia nada en la primera hoja, donde el contenido arranca justo debajo de la cabecera ya medida. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolEstricto · opcional

Si “true”, repite la fila de totales en el header de cada página del PDF.

número · opcional

Divisor del interlineado de las celdas del PDF: cuanto más alto, más comprimidas quedan las filas. Default 1.2 en el cuerpo de la grilla y 2 en la línea de cantidad de registros. El nombre lleva el typo heigth en el motor y hay que escribirlo así. Es el atributo que se busca cuando PDFlineHeight no da el resultado esperado: ése fija un alto absoluto en mm, éste es el multiplicador.

texto · opcional

Color de las líneas/recuadros del PDF. No es hexadecimal: son los tres componentes RGB en decimal separados por coma, y el default es 220,220,220. Un valor como #cccccc no se parsea: rompe la generación del PDF.

BoolDefaultActivo · opcional · default true

Ya vienen prendidas: el atributo sirve sólo para apagarlas con “false”. Y no son líneas separadoras entre filas: es el recuadro de cada celda (un rectángulo por columna), y en la vista de tarjetas el marco de la tarjeta.

texto · opcional

No es un alias equivalente de PDForientation. La generación del PDF lee PDForientation; PDForientacion sólo preselecciona el valor en el selector de impresión de la UI, así que por sí solo no rota nada.

texto · opcional · default P

Orientación del PDF: “P” (Portrait, default) | “L” (Landscape — rota contenido 90°). Es la grafía que lee la generación del PDF; la variante española PDForientacion sólo preselecciona el valor en el selector de impresión de la UI.

BoolDefaultActivo · opcional · default true

Permite/desactiva el salto de página automático del PDF; “false” lo desactiva. No es lo mismo que pageBreak, que sólo existe en la impresión en tanda y decide si cada fila arranca en página nueva.

texto · opcional · default A4

Tamaño de página PDF: “A4”, “Letter”, “Legal”, o personalizado.

entero · opcional

Ancho custom de página PDF (mm). Sólo se aplica si además está declarado PDFpageSizeY: solo, no hace nada.

entero · opcional

Alto custom de página PDF (mm). Va siempre en pareja con PDFpageSizeX: si falta el otro, el tamaño custom no se aplica. En PDForientation="L" se interpreta como ancho.

texto · opcional

Totales por página del PDF. Trampa: vienen activos por defecto y la comparación es estricta contra un booleano, así que declarar el atributo con cualquier valor —incluido “true”— los desactiva. Para tenerlos hay que omitirlo.

BoolPresencia · opcional

Omite la cabecera del PDF (la primera página arranca sin header global). Cualquier valor no vacío lo activa, incluido “false”: con PDFsincabecera="false" la cabecera igual se suprime. Para que la cabecera salga hay que omitir el atributo.

BoolEstricto · opcional · default false

En <histrix tipo="nosql">: ejecuta el PHP DESPUÉS de la grabación, no antes.

BoolEstricto · opcional

Va en el <histrix> del XML embebido: con “true” ese contenedor interno postea sus datos junto con el formulario padre, como si fuera una grilla. Sirve para que un embebido que no es grid participe de la grabación del padre.

BoolEstricto · opcional · default false

En ficha/fichaing, precarga los datos existentes del registro. NO usar en formularios de alta. El motor lo lee con más de un criterio, así que omitirlo no es idéntico a escribir “false”. autoprint="true" lo fuerza a “true” (y de paso deja el formulario en sólo lectura). Escrito prefetch o preetch (28 usos en el repo) no lo lee nadie y la ficha no precarga nada.

BoolTrueFalse · opcional · default true

Si “true”, ejecuta la query y precarga los datos al renderizar; “false” en grillas embebidas con lazyLoad difiere la carga. El motor lo lee con más de un criterio, así que omitirlo no es idéntico a escribir “false”.

BoolEstricto · opcional

No bloquea el doble submit del botón grabar. Lo que evita es que se duplique la solapa de un grid ing embebido en un fichaing, y para lograrlo descarta los scripts de recarga de los contenedores relacionados. Con el atributo ausente ya está activo: escribir "true" no cambia nada y el valor útil es "false". El propio motor tiene este camino marcado como código a corregir, así que conviene verificar el efecto antes de dejarlo.

texto · opcional

Nombre de un campo del propio programa que decide si se hace o no la impresión automática posterior a la grabación. La trampa está en la comparación: la impresión se saltea únicamente cuando ese campo vale el texto exacto “false”; con 0, con vacío, con “no” o con cualquier otro valor imprime igual. Sirve con un campo calculado que devuelva “true” o “false” según el tipo de comprobante. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Dirige la impresión a una impresora concreta. El valor no es el nombre del dispositivo sino un idPrinter de la tabla HTXPRINTERS: el motor busca esa fila y de ahí saca printerClass, systemName (el nombre real en el sistema; si viene vacío usa el idPrinter), outputFormat y printMode — con printMode = 'client' la impresión se enruta al cliente de impresión instalado en la máquina del usuario. Dos consecuencias: si la fila no existe en la base del cliente no se imprime y no hay mensaje de error, así que el mismo XML funciona en un cliente y no en otro; y su sola presencia cambia la salida de PDF a HTML (iframe de preview + script del cliente de impresión), por eso la vista deja de declarar el contenido como PDF cuando está seteado — declararlo igual provocaría un “Failed to load PDF document” en Chrome. El valor viaja además en la URL de impresión (&printer=…). Para elegirlas desde la UI existe ayudas/htxprinters_qry.xml.

texto · opcional

Nombre del conversor con el que se previsualiza la impresión en el navegador, para formatos que no son PDF. Valores en uso: Zpl2pdf (etiquetas Zebra) y Esc2html (impresoras de tickets).

BoolEstricto · opcional

Activa la seguridad por registro: al insertar se guarda quién es el dueño de la fila, y después las consultas de esa pantalla filtran por eso. Requiere el literal “true”. Es el atributo que hace que dos usuarios de la misma pantalla vean sólo lo suyo.

BoolTrueFalse · opcional · default true

No es alias de process ni de procesar: son tres atributos con lectores disjuntos. procesa es el que decide si el contenedor tiene proceso y si se dibuja el botón de procesar. El motor lo lee con más de un criterio, así que omitirlo no es idéntico a escribir “false”.

BoolEstricto · opcional · default false

No es una variante de procesa ni hace lo mismo. procesar="true" dispara la grabación de los contenedores internos y marca el contenedor como procesable en el schema que expone la API. El botón de procesar y la detección de “este XML tiene proceso” las maneja procesa.

BoolPresencia · opcional

Habilita el procesamiento de <movimientos>/relaciones al grabar. procesa y procesar no son sus aliases: son tres atributos con lectores distintos, y poner uno esperando el efecto de otro no funciona (ver sus descripciones). El motor lo lee con más de un criterio, así que omitirlo no es idéntico a escribir “false”.

BoolEstricto · opcional · default false

En <cierraproceso>: si “true”, ejecuta los movimientos del HIJO antes que los del padre. Útil para obtener numeradores antes de que el padre grabe.

texto · opcional

El motor lo publica tal cual en el esquema que devuelve la API del programa, junto con el título, el tipo, los permisos y la paginación, para que un cliente propio decida a dónde llevar al usuario. El resto del motor no lo interpreta: en la interfaz web clásica no produce ningún efecto, y si no se declara el esquema lo informa vacío. No tiene relación con el parámetro de redirección del login, que es otra cosa y viaja por la URL. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolDefaultActivo · opcional · default true

Sólo aplica a los detalles inline (el XML embebido, distinto del padre) y sólo cuando llenoReferente no está en "true". Y "false" no significa “no recargar”: el bloque inline se vacía en lugar de recargarse.

BoolEstricto · opcional · default false

Genera REPLACE INTO en lugar de INSERT INTO (MySQL).

BoolEstricto · opcional

En <importar> con popup hijo. No “mantiene el contexto”: en su ámbito hace lo contrario — antes de volver a subir la celda al padre descarta el SQL que esa celda ya había generado, justamente para que reabrir el popup no duplique movimientos.

BoolEstricto · opcional · default false

Muestra botón “guardar” por fila en grids editables.

texto · opcional

Texto que se inyecta entre SELECT y la lista de campos, para forzar el plan del optimizador: típicamente STRAIGHT_JOIN o un hint entre comentarios. Va crudo al SQL, así que un valor inválido rompe la consulta. Usarlo sólo después de haber medido el plan de ejecución; no es una optimización a ciegas.

BoolPresencia · opcional

Activa el modo server-side de la grilla: paginación, búsqueda y orden se resuelven en el servidor vía AJAX en vez de traer todas las filas al navegador.

BoolEstricto · opcional

Imprime al pie del PDF la línea Registros: N con la cantidad de filas. Sólo aplica al PDF: no hay equivalente en la vista HTML. Requiere el literal “true”; el default es no imprimirla, así que showCantidad="false" es redundante. El motor también lo acepta en <table>, aunque hoy ningún XML lo use ahí. Escrito showCant o showcantidad (34 usos en el repo) no lo lee nadie.

BoolEstricto · opcional

Variante en minúsculas de showCantidad, que acá sí funciona: la búsqueda de atributos del <histrix> ignora mayúsculas. En <table>, en cambio, se acepta sólo showCantidad. En código nuevo escribir showCantidad en los dos lugares.

BoolDefaultActivo · opcional · default true

Muestra la columna con las tarjetas cuyo estado no coincide con ninguna <status> declarada. Activa por defecto, a propósito: apagarla hace que esas filas desaparezcan del tablero sin ningún aviso. Esa columna no acepta drops.

BoolEstricto · opcional

Fuerza el botón de procesar en un contenedor embebido. Va en el <histrix> del XML embebido, no en el del padre.

BoolTrueFalse · opcional

Panel lateral de las vistas calendar. Está al revés: viene activo por default y la comparación es estricta contra un booleano, así que cualquier valor explícito lo apaga, incluido sidePanel="true". Para tenerlo hay que omitir el atributo; para esconderlo, escribir cualquier valor. Ojo que calendarTasks necesita el panel visible.

BoolEstricto · opcional · default false

Suprime la fecha en la cabecera del PDF.

BoolEstricto · opcional · default false

Suprime el número de comprobante en la cabecera del PDF.

texto · opcional

Texto que se inserta tal cual inmediatamente después del SELECT y antes de la lista de campos; el uso típico es meter DISTINCT. Viene vacío. Trampas: no agrega separador, hay que dejarle el espacio final (por ejemplo “DISTINCT “) o queda pegado al primer campo y el SQL sale inválido; y no se aplica a la consulta de conteo que usa paginar=, así que el total de registros puede no coincidir con las filas que realmente se ven. Cae en el mismo lugar que selectModifier, que es el atributo de uso corriente para esto. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolEstricto · opcional · default false

No afecta la consulta sino la grabación: el INSERT se arma con los valores crudos y sin lista de columnas, se deshabilitan los prepared statements y cambia el contexto en que se resuelve el código del INSERT. El motor anota el XML en su log de pendientes como algo a arreglar, así que es un modo a evitar en XMLs nuevos. Para SQL literal en la consulta va el elemento <sql>.

BoolEstricto · opcional

Hoy no produce ningún efecto: el motor tiene la lectura del atributo, pero el bloque que la usaba está desactivado, así que declararlo o no genera exactamente el mismo SQL. Estaba pensado para evitar que la consulta salga marcada con el identificador de la instancia (marca que servía para reconocerla en el servidor y cancelarla si quedaba colgada). No conviene declararlo en XMLs nuevos. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Sólo para tipo="kanban", donde es obligatorio: nombra el campo cuyo valor decide en qué columna cae cada tarjeta. Tiene que estar declarado como <field> en el XML (puede ser noshow="true"); si falta o no existe, el tablero no se dibuja y lo dice en pantalla.

texto · opcional

Estilo CSS inline que se aplica a la tabla HTML de la grilla. Trampa importante: cuando no se declara, el motor le pone float:left;clear:left;, así que en el momento en que lo definís pisás ese default y la grilla deja de flotar a la izquierda y de cortar el renglón anterior; si solo querés agregar algo, repetí el float y el clear. En la vista mobile no hay default: ahí queda solo lo que escribas. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Subtipo del modo. Ej. tipo="ing" subtipo="vertical" renderiza el form de entrada como columna en lugar de fila.

BoolEstricto · opcional

Agrega una columna angosta a la izquierda de la grilla con una manija para arrastrar renglones y cambiarles el orden; al soltar, el cambio se graba solo, sin apretar Grabar. Trampa central: no se guarda ningún número de orden — el motor intercambia el contenido de los renglones entre registros dejando los campos clave quietos, o sea que reescribe con UPDATE los registros involucrados (el registro que tenía la clave 1 queda con los datos del que estaba abajo). Todos los movimientos van en una sola transacción. Sólo true activa. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

entero · opcional

Tabindex base del formulario para navegación por teclado.

entero · opcional

Se pasa tal cual al atributo border de la tabla HTML de la grilla, así que con “1” te dibuja el borde de la tabla y de las celdas. Trampa: el border escrito en el tag table del XML no lo lee el motor; el que manda es este, arriba en histrix. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Clases CSS que se agregan a la tabla de la grilla. Es el complemento de class/clase, que en cambio reemplazan la clase por defecto de la vista.

texto · opcional

Altura fija del contenedor de la tabla (px, vh, etc.). Va en <histrix>, NO en <table>.

texto · opcional

Nombre/ruta de un template alternativo de impresión/render para este <histrix>.

texto · obligatorio

Modo del documento. El valor es el nombre de la vista que lo renderiza, así que la lista no es cerrada y un valor mal escrito no resuelve ninguna vista. Los que se usan de verdad: “consulta” (listado/grid), “ficha” (form de un registro), “fichaing” (form con grillas embebidas), “ing” (grid editable), “crud”, “update”, “abm” (alta/baja/mod), “abm-mini”, “grid”, “horizontalGrid”, “liveGrid”, “list”, “card”, “cabecera”, “delete”, “insert” (alta directa con SQL literal), “sql”, “nosql” (ejecuta PHP/SQL sin mapeo), “chart” (gráfico), “arbol”, “dashboard”, “calendar”, “map”, “kanban” (tablero por estado: ver statusField, drag y <status>) y “ayuda” (popup de ayuda). “gantt” tiene vista en el motor pero ningún XML lo usa.

texto · opcional

Modificador que se inyecta en el INSERT generado — y también en los UPDATE. Los valores válidos son “IGNORE” y “REPLACE”, en mayúsculas. Los tres que documentaba antes el XSD estaban mal: insertSelect no existe; replace en minúscula no matchea la comparación del motor y se emite tal cual, generando INSERT replace into … (error de sintaxis SQL); e ignore funciona de casualidad, porque la base ignora el case de la keyword.

texto · opcional

Título alternativo del contenedor: reemplaza al título declarado a la hora de nombrar el PDF que se imprime, de titular ese PDF y de describir la operación en la auditoría. Se le sacan las etiquetas HTML antes de usarlo. Trampa: normalmente lo manda el navegador con el título de la pestaña que abrió el usuario, y ese valor pisa lo que venga escrito en el XML. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

número · opcional

Se declara como margen superior de la impresión PDF y el motor lo lee y lo guarda (si no se pone, vale 0), pero ninguna rutina de armado del PDF llega a usarlo: hoy no produce ningún efecto visible. Si lo que buscás es correr hacia abajo el arranque del contenido en las hojas que se abren por corte de página, el atributo que sí funciona es PDFheaderMargin; para el margen de abajo está bottomMargin, que sí se aplica. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolPresencia · opcional

Envuelve la grabación en una transacción SQL explícita (BEGIN/COMMIT/ROLLBACK). El motor lo lee con más de un criterio, así que omitirlo no es idéntico a escribir “false”: para activarlo va el literal “true”. Escrito con una sola c (transacional, 12 usos en el repo) no lo lee nadie y la grabación no va en transacción.

BoolEstricto · opcional

Muestra el árbol como grilla: una primera columna con los nodos y, a la derecha, una columna por cada campo visible del XML (con su etiqueta y su ancho). Sin este atributo el árbol muestra únicamente los nodos. Trampas: las columnas se arman sólo con los campos que no estén marcados como ocultos, y en árboles que llevan un campo con suma=“true” —que se construyen completos de entrada— las columnas de datos se pierden y queda sólo la del nodo. Sólo true activa. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

BoolDefaultActivo · opcional · default true

Al volver de un popup, deserializa los datos del padre desde la sesión (sincroniza estado). Viene activo aunque no se declare: el único valor que lo apaga es "false", así que el default="false" declarado acá hace creer lo contrario de lo que pasa.

texto · opcional

No es el nombre de una tabla: es un booleano y viene activo. Con el atributo ausente los datos del grid se copian a las tablas temporales; el único valor con efecto es "false", que desactiva ese volcado.

texto · opcional

Ancho del contenedor, pero sólo lo leen cuatro vistas, y con unidades distintas: en arbol, map y calendar es un número sin unidad (el porcentaje del split), y en chart un entero en px al que el motor le agrega el px. En consulta/abm/ficha es inerte (93 XMLs del repo lo declaran ahí para nada), y width="30%" en un chart genera CSS inválido.

BoolJsLiteral · opcional

Decide si la exportación a Excel arranca con un bloque de cabecera: logo, nombre de la empresa, CUIT/teléfono/web, línea separadora y el título del reporte con la fecha, y los datos empiezan más abajo. Tiene tres estados: “true” la fuerza, “false” la saca y, si no se declara el atributo, se respeta la configuración general de la base (que viene apagada). También deja pre-marcado el interruptor de cabecera del diálogo de exportación, que el usuario puede cambiar para esa exportación puntual. Sólo afecta a Excel: CSV, PDF y XML lo ignoran. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.

texto · opcional

Directorio del XML, usado para armar la clave de programa de las notificaciones. Va en el <histrix>: sólo el tag raíz copia todos sus atributos al contenedor. Puesto en el <form> no llega a ninguna propiedad y no hace nada, porque ahí el parser sólo toma una lista blanca de atributos.

texto · opcional

Nombre del XML usado para la impresión (separado de la consulta).

texto · opcional · default data

Nombre del tag raíz cuando se exporta a XML (tipo="exportXML" o similar). Default: “data”.

texto · opcional · default row

Nombre del tag por fila al exportar a XML. Default: “row”.

texto · opcional

Zoom inicial (mapa/gráfico). Alias corto de mapZoom.

Raíz del documento. Atributo “tipo” identifica el modo del documento (p.ej., “consulta”).

  • Va dentro de: es el elemento raíz del documento.
  • Atributos: 172 (propios)

Acepta los mismos 172 atributos y los mismos elementos hijos que <histrix>, que es donde están documentados.

Título del documento/pantalla.

No acepta atributos.

Alias español de <title>; el motor lee las dos grafías.

No acepta atributos.

Observaciones (puede estar vacío).

  • Va dentro de: <abm> (0..n), <histrix> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Pie del documento/pantalla (atributos para PDF).

  • Va dentro de: <abm> (0..n), <histrix> (0..n)
  • Contenido: texto libre.
  • Atributos: 4 (propios)

texto · opcional

Sin descripción en el schema.

texto · opcional

Color del texto del pie.

texto · opcional

Sin descripción en el schema.

texto · opcional

Sin descripción en el schema.

Mensaje de confirmación.

  • Va dentro de: <abm> (0..n), <histrix> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Grafía castellana de <events>: contenedor de <event id="..."> con el JavaScript que se ejecuta en cada momento del ciclo de la pantalla. El motor lee las dos grafías; en código nuevo usar <events>.

Elemento Veces Descripción
<event> 0..n

No acepta atributos.

Alias en inglés de “eventos”.

Elemento Veces Descripción
<event> 1..n
<events> 0..n

No acepta atributos.

  • Va dentro de: <eventos> (0..n), <events> (1..n)
  • Contenido: texto libre.
  • Atributos: 1 (propios)

Acepta los mismos 1 atributos que <field>, que es donde están documentados.

Script personalizado para la pantalla.

  • Va dentro de: <abm> (0..n), <histrix> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Librería JavaScript externa que la pantalla necesita: el texto del tag es la ruta del archivo y se inyecta antes que el resto del JS del XML. El orden de carga es <scriptSrc> → el .js hermano del XML (si existe, se carga solo) → <customScript>, así que las funciones declaradas acá ya están disponibles en el customScript. Repetible: un tag por librería.

  • Va dentro de: <abm> (0..n), <histrix> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Cambia el texto que acompaña al contador de resultados del listado: <prefijo> va antes del número y <sufijo> después (por ejemplo “Se encontraron” / “comprobantes”). Sin este bloque se usa el texto por defecto del sistema.

Elemento Veces Descripción
<prefijo> 0..1 Texto antes de la cantidad de resultados.
<sufijo> 0..1 Texto después de la cantidad de resultados.

No acepta atributos.

Texto que se antepone al valor del campo al renderizar (en pantalla y PDF). Útil para etiquetas tipo “$ 1.000” o “Total: 5”. También se acepta como atributo.

No acepta atributos.

Texto después de la cantidad de resultados.

No acepta atributos.

Instrucción para el resumen automático de la pantalla: el texto se le pasa al modelo de lenguaje junto con los datos del listado para que genere el análisis que se muestra al usuario. Acá se le dice qué mirar (“resumí los desvíos de stock por depósito”) en lugar de dejarlo librado al resumen genérico.

  • Va dentro de: <abm> (0..n), <histrix> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Fragmento XML incluido por otro documento (típicamente vía <fieldGroup xml="..." dir="...">). Comparte la estructura de un fieldGroup pero como documento independiente: lista de campos o grupos que el motor inyecta en el sitio donde se incluye. El nombre del elemento raíz no se chequea: el motor toma los hijos del documento sin mirar cómo se llama la raíz, así que <include> es una convención, no un requisito.

  • Va dentro de: es el elemento raíz del documento.
Elemento Veces Descripción
<field> 0..n Campo incluido.
<campo> 0..n Alias español de <field>.
<fieldGroup> 0..n Sub-grupo incluido.
<if> 0..n Inclusión condicional: texto PHP que decide si el contenido del include se procesa.
<validation> 0..n Validación incluida junto con los campos.
<cierraproceso> 0..n Cierre de proceso incluido junto con los campos.
<importar> 0..n Bloque de importación incluido junto con los campos.
<helper> 0..n Helper incluido junto con los campos.

No acepta atributos.

  • Va dentro de: <events> (0..n)
  • Contenido: texto libre.
  • Atributos: 1 (propios)

Acepta los mismos 1 atributos que <field>, que es donde están documentados.