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.
<histrix>
Sección titulada «<histrix>»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)
Contenido
Sección titulada «Contenido»| 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… |
Atributos
Sección titulada «Atributos»Identificación y datos
Sección titulada «Identificación y datos»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.
Visibilidad y estado
Sección titulada «Visibilidad y estado»editable
Sección titulada «editable»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.)
sololectura
Sección titulada «sololectura»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.
Clave y grabación
Sección titulada «Clave y grabación»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.
Validación
Sección titulada «Validación»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.
Estilo y presentación
Sección titulada «Estilo y presentació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.
Enlaces
Sección titulada «Enlaces»showLink
Sección titulada «showLink»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.
Exportación
Sección titulada «Exportación»BoolTrueFalse · opcional
Muestra el botón exportar (XLS/CSV). “false” lo oculta.
accordion
Sección titulada «accordion»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.
automail
Sección titulada «automail»BoolEstricto · opcional
Con “true” y junto a autoprint, además de imprimir dispara el envío del PDF por mail. Requiere el literal “true”.
autoprint
Sección titulada «autoprint»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”.
autoupdate
Sección titulada «autoupdate»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".
bottomMargin
Sección titulada «bottomMargin»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.
btnconfirma
Sección titulada «btnconfirma»texto · opcional
Texto custom del botón de confirmación.
buildTree
Sección titulada «buildTree»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.
calculateButton
Sección titulada «calculateButton»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".
calendarAspectRatio
Sección titulada «calendarAspectRatio»número · opcional · default 1
Relación ancho/alto con la que se dibuja el calendario.
calendarDefaultView
Sección titulada «calendarDefaultView»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.
calendarOptions
Sección titulada «calendarOptions»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.
calendarTasks
Sección titulada «calendarTasks»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.)
checkDupOnUpdate
Sección titulada «checkDupOnUpdate»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.
conBusqueda
Sección titulada «conBusqueda»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.
confirma
Sección titulada «confirma»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).
createButtonLabel
Sección titulada «createButtonLabel»texto · opcional
Texto del botón “Nuevo” del listado.
dataSource
Sección titulada «dataSource»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.
dataTable_info
Sección titulada «dataTable_info»BoolDefaultActivo · opcional · default true
Controla el pie informativo de la grilla (“Mostrando X de Y registros”).
dataTablePaginate
Sección titulada «dataTablePaginate»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.
dataTableReorder
Sección titulada «dataTableReorder»texto · opcional
Habilita el reordenamiento de filas de la grilla por drag-and-drop (“true”/“false”).
dataTableScrollCollapse
Sección titulada «dataTableScrollCollapse»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.
dataTableScroller
Sección titulada «dataTableScroller»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.
defaultPrinter
Sección titulada «defaultPrinter»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.
deleteRow
Sección titulada «deleteRow»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.
delimitador
Sección titulada «delimitador»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.
delimiter
Sección titulada «delimiter»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.
detailDir
Sección titulada «detailDir»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.
directprint
Sección titulada «directprint»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.
dirImpresion
Sección titulada «dirImpresion»texto · opcional
Directorio del XML de impresión (combinado con xmlImpresion).
dirimpresion
Sección titulada «dirimpresion»texto · opcional
Alias lowercase de dirImpresion.
displayFilterButton
Sección titulada «displayFilterButton»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.
exportasuma
Sección titulada «exportasuma»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.
exportFormat
Sección titulada «exportFormat»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.
exportHeader
Sección titulada «exportHeader»BoolDefaultActivo · opcional · default true
Controla si la primera fila del XLS exportado lleva los nombres de columnas.
extension
Sección titulada «extension»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.
fontSize
Sección titulada «fontSize»texto · opcional
Tamaño de fuente de la planilla exportada (default 10). No toca el HTML del formulario ni el PDF.
forceReload
Sección titulada «forceReload»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”.
ganttItemsPerPage
Sección titulada «ganttItemsPerPage»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.
ganttMaxScale
Sección titulada «ganttMaxScale»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.
ganttMinScale
Sección titulada «ganttMinScale»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.
ganttScale
Sección titulada «ganttScale»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.
grabaFinal
Sección titulada «grabaFinal»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.
grabafinal
Sección titulada «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.
hasFieldset
Sección titulada «hasFieldset»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.
hideForm
Sección titulada «hideForm»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.
htmlTemplate
Sección titulada «htmlTemplate»texto · opcional
Template HTML alternativo para fichas con layout custom.
importFile
Sección titulada «importFile»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.
importTempTable
Sección titulada «importTempTable»texto · opcional
Nombre de la tabla temporal de importación que alimenta el grid.
impresion
Sección titulada «impresion»texto · opcional
Alias lowercase de xmlImpresion: XML de impresión asociado.
imprime
Sección titulada «imprime»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.
imprimetanda
Sección titulada «imprimetanda»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.
innerForms
Sección titulada «innerForms»texto · opcional
Modo de render de formularios internos en ABMs. Ej. “list” muestra los hijos como lista en lugar de tabs.
inserta
Sección titulada «inserta»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.
insertaABM
Sección titulada «insertaABM»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.
llenoreferente
Sección titulada «llenoreferente»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.
llenoReferente
Sección titulada «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.
llenoTemporal
Sección titulada «llenoTemporal»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.
llenotemporal
Sección titulada «llenotemporal»texto · opcional
Alias lowercase de llenoTemporal.
logReference
Sección titulada «logReference»texto · opcional
Lista CSV de campos cuyo valor se incluye como observación en el log de auditoría.
mapPolyline
Sección titulada «mapPolyline»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.
maxshowresult
Sección titulada «maxshowresult»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.
modifica
Sección titulada «modifica»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”.
modificar
Sección titulada «modificar»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.
multipleSelection
Sección titulada «multipleSelection»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.
noLimit
Sección titulada «noLimit»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.
notificationDir
Sección titulada «notificationDir»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.
notificationLink
Sección titulada «notificationLink»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.
notificationText
Sección titulada «notificationText»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.
onDuplicateKey
Sección titulada «onDuplicateKey»BoolEstricto · opcional · default false
Activa ON DUPLICATE KEY UPDATE en el INSERT.
orphanLabel
Sección titulada «orphanLabel»texto · opcional
Título de la columna de huérfanos. Default “Sin clasificar”.
pageBreak
Sección titulada «pageBreak»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.
pageNumber
Sección titulada «pageNumber»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.
paginar
Sección titulada «paginar»entero · opcional
Activa paginación con N filas por página.
PDFcardBottomMargin
Sección titulada «PDFcardBottomMargin»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.
PDFconpie
Sección titulada «PDFconpie»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.
PDFfont
Sección titulada «PDFfont»texto · opcional · default helvetica
Fuente del PDF (helvetica, times, courier…).
PDFfontSize
Sección titulada «PDFfontSize»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.
PDFheaderBorder
Sección titulada «PDFheaderBorder»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.
PDFheaderMargin
Sección titulada «PDFheaderMargin»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.
PDFheaderTotals
Sección titulada «PDFheaderTotals»BoolEstricto · opcional
Si “true”, repite la fila de totales en el header de cada página del PDF.
PDFheigthRel
Sección titulada «PDFheigthRel»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.
PDFlineColor
Sección titulada «PDFlineColor»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.
PDFlines
Sección titulada «PDFlines»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.
PDForientacion
Sección titulada «PDForientacion»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.
PDForientation
Sección titulada «PDForientation»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.
PDFpageBreak
Sección titulada «PDFpageBreak»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.
PDFpageSize
Sección titulada «PDFpageSize»texto · opcional · default A4
Tamaño de página PDF: “A4”, “Letter”, “Legal”, o personalizado.
PDFpageSizeX
Sección titulada «PDFpageSizeX»entero · opcional
Ancho custom de página PDF (mm). Sólo se aplica si además está declarado PDFpageSizeY: solo, no hace nada.
PDFpageSizeY
Sección titulada «PDFpageSizeY»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.
PDFprintPageTotals
Sección titulada «PDFprintPageTotals»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.
PDFsincabecera
Sección titulada «PDFsincabecera»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.
postGrabacion
Sección titulada «postGrabacion»BoolEstricto · opcional · default false
En <histrix tipo="nosql">: ejecuta el PHP DESPUÉS de la grabación, no antes.
postGridData
Sección titulada «postGridData»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.
preFetch
Sección titulada «preFetch»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.
preloadData
Sección titulada «preloadData»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”.
preventDuplication
Sección titulada «preventDuplication»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.
printCondition
Sección titulada «printCondition»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.
printer
Sección titulada «printer»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.
printViewer
Sección titulada «printViewer»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).
privacy
Sección titulada «privacy»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.
procesa
Sección titulada «procesa»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”.
procesar
Sección titulada «procesar»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.
process
Sección titulada «process»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”.
processFirst
Sección titulada «processFirst»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.
redirect
Sección titulada «redirect»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.
reloadForm
Sección titulada «reloadForm»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.
replaceInto
Sección titulada «replaceInto»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.
saveRowButton
Sección titulada «saveRowButton»BoolEstricto · opcional · default false
Muestra botón “guardar” por fila en grids editables.
selectModifier
Sección titulada «selectModifier»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.
serverSide
Sección titulada «serverSide»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.
showCantidad
Sección titulada «showCantidad»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.
showcantidad
Sección titulada «showcantidad»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.
showOrphans
Sección titulada «showOrphans»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.
showProcessButton
Sección titulada «showProcessButton»BoolEstricto · opcional
Fuerza el botón de procesar en un contenedor embebido. Va en el <histrix> del XML embebido, no en el del padre.
sidePanel
Sección titulada «sidePanel»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.
sinFecha
Sección titulada «sinFecha»BoolEstricto · opcional · default false
Suprime la fecha en la cabecera del PDF.
sinNumero
Sección titulada «sinNumero»BoolEstricto · opcional · default false
Suprime el número de comprobante en la cabecera del PDF.
sqlClausule
Sección titulada «sqlClausule»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.
sqlhardcoded
Sección titulada «sqlhardcoded»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>.
sqlKillable
Sección titulada «sqlKillable»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.
statusField
Sección titulada «statusField»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.
styleTable
Sección titulada «styleTable»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.
subtipo
Sección titulada «subtipo»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.
tabindex
Sección titulada «tabindex»entero · opcional
Tabindex base del formulario para navegación por teclado.
tableBorder
Sección titulada «tableBorder»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.
tableClass
Sección titulada «tableClass»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.
tableHeight
Sección titulada «tableHeight»texto · opcional
Altura fija del contenedor de la tabla (px, vh, etc.). Va en <histrix>, NO en <table>.
template
Sección titulada «template»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.
tipoInsert
Sección titulada «tipoInsert»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.
titulo_div
Sección titulada «titulo_div»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.
topMargin
Sección titulada «topMargin»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.
transaccional
Sección titulada «transaccional»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.
treeGrid
Sección titulada «treeGrid»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.
unserializeParent
Sección titulada «unserializeParent»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.
updateTempTable
Sección titulada «updateTempTable»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.
xlsHeader
Sección titulada «xlsHeader»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.
xmlImpresion
Sección titulada «xmlImpresion»texto · opcional
Nombre del XML usado para la impresión (separado de la consulta).
XMLroot
Sección titulada «XMLroot»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.
<title>
Sección titulada «<title>»Título del documento/pantalla.
- Va dentro de:
<abm>(0..n),<grafico>(0..n),<histrix>(0..n),<widget>(0..n) - Contenido: texto libre.
No acepta atributos.
<titulo>
Sección titulada «<titulo>»Alias español de <title>; el motor lee las dos grafías.
No acepta atributos.
Observaciones (puede estar vacío).
No acepta atributos.
Pie del documento/pantalla (atributos para PDF).
Atributos
Sección titulada «Atributos»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.
<confirmacion>
Sección titulada «<confirmacion>»Mensaje de confirmación.
No acepta atributos.
<eventos>
Sección titulada «<eventos>»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>.
Contenido
Sección titulada «Contenido»| Elemento | Veces | Descripción |
|---|---|---|
<event> |
0..n | — |
No acepta atributos.
<events>
Sección titulada «<events>»Alias en inglés de “eventos”.
Contenido
Sección titulada «Contenido»| Elemento | Veces | Descripción |
|---|---|---|
<event> |
1..n | — |
<events> |
0..n | — |
No acepta atributos.
<event>
Sección titulada «<event>»Acepta los mismos 1 atributos que <field>, que es donde están documentados.
<customScript>
Sección titulada «<customScript>»Script personalizado para la pantalla.
No acepta atributos.
<scriptSrc>
Sección titulada «<scriptSrc>»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.
No acepta atributos.
<txtresultados>
Sección titulada «<txtresultados>»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.
Contenido
Sección titulada «Contenido»| 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.
<prefijo>
Sección titulada «<prefijo>»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.
- Va dentro de:
<campo>(0..n),<field>(0..n),<txtresultados>(0..1) - Contenido: texto libre.
No acepta atributos.
<sufijo>
Sección titulada «<sufijo>»Texto después de la cantidad de resultados.
- Va dentro de:
<txtresultados>(0..1) - Contenido: texto libre.
No acepta atributos.
<prompt>
Sección titulada «<prompt>»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.
No acepta atributos.
<include>
Sección titulada «<include>»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.
Contenido
Sección titulada «Contenido»| 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.
<events> en <events>
Sección titulada «<events> en <events>»- 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.