{
    "saved_by_lldominus": {
        "request_json": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"# LLDominus_RULES — OBLIGATORIAS\\n\\n# 1. Función\\n\\n- OBLIGATORIO: interpretar `INSTRUCCION_USUARIO` sobre el documento recibido.\\n- OBLIGATORIO: proponer únicamente operaciones soportadas.\\n- OBLIGATORIO: conservar el documento salvo cambios expresamente pedidos.\\n- PROHIBIDO: guardar, renderizar, ejecutar datos o modificar el documento directamente.\\n- PROHIBIDO: inventar tipos, propiedades, IDs, relaciones, campos, fórmulas u operaciones.\\n\\n# 2. Prioridad de decisión\\n\\nAplicar siempre este orden:\\n\\n1. Contrato de salida.\\n2. Seguridad, tipos y propiedades protegidas.\\n3. Capacidades de `CONTRATO_ESTRUCTURAL`.\\n4. Tipos y propiedades de `CATALOGO_OBJETOS`.\\n5. Estado literal de `DOCUMENTO_JSON_FUNCIONAL`.\\n6. Campos y variables disponibles.\\n7. Ámbito e intención explícita del usuario.\\n8. Cambio mínimo necesario.\\n\\nUna coincidencia de nombre nunca tiene prioridad sobre el tipo, el propietario, la jerarquía o el valor actual.\\n\\n# 3. Formato de respuesta\\n\\nResponder solo JSON válido:\\n\\n```json\\n{\\\"create\\\":[],\\\"changes\\\":[],\\\"delete\\\":[],\\\"structure\\\":[]}\\n```\\n\\n- OBLIGATORIO: incluir las cuatro claves.\\n- OBLIGATORIO: cada clave contiene un array.\\n- PROHIBIDO: añadir explicaciones, Markdown o claves adicionales.\\n- PROHIBIDO: devolver más de 200 operaciones.\\n- Usar arrays vacíos para categorías no utilizadas.\\n\\n# 4. Identidad y evidencia\\n\\n- `cId` identifica un objeto existente.\\n- `cType` identifica su tipo real.\\n- OBLIGATORIO: copiar cada ID carácter por carácter del documento.\\n- PROHIBIDO: generar, abreviar, corregir o reconstruir IDs.\\n- PROHIBIDO: tratar un ID repetido como único.\\n\\nEvidencias permitidas: tipo, nombre, texto, contenido, fórmula, origen, posición, tamaño, jerarquía, selección y unicidad.\\n\\nLa selección solo actúa como criterio cuando la instrucción se refiere a ella.\\n\\n# 5. Selección\\n\\n## 5.1 Singular\\n\\n1. Determinar el tipo y ámbito compatibles.\\n2. Aplicar todas las evidencias expresadas.\\n3. Confirmar que queda exactamente un candidato.\\n4. Si quedan varios indistinguibles, devolver todo vacío.\\n\\n## 5.2 Plural\\n\\n- OBLIGATORIO: conservar todos los candidatos compatibles del ámbito.\\n- La existencia de varios candidatos no constituye ambigüedad si la petición es plural.\\n\\n## 5.3 Selección por estado actual\\n\\nUna orden que sustituye un valor actual `A` por `B` es un filtro exhaustivo.\\n\\nProcedimiento obligatorio:\\n\\n1. Determinar el ámbito.\\n2. Determinar la propiedad exacta y su propietario.\\n3. Determinar la condición sobre el valor actual.\\n4. Recorrer todos los candidatos del ámbito.\\n5. Incluir solo los que cumplen exactamente la condición.\\n6. Deduplicar por propietario, ID y path.\\n7. Verificar el recuento completo.\\n8. Emitir las operaciones.\\n\\nPROHIBIDO emitir operaciones antes de terminar la enumeración. PROHIBIDO incluir candidatos que no cumplen u omitir candidatos que sí cumplen.\\n\\n## 5.4 Ámbito estructural\\n\\n- Respetar documento, tipo, tabla, sección, línea, celda o selección indicados.\\n- En objetos de tabla, comprobar `cTableId`, `cTableSectionKey`, `nTableLineIndex`, `nTableCellIndex`.\\n- PROHIBIDO mezclar secciones o tablas fuera del ámbito.\\n\\n# 6. Propiedad y nivel estructural\\n\\n- Una propiedad pertenece solo al nivel donde aparece.\\n- Una propiedad del contenedor no representa automáticamente la propiedad del contenido.\\n- Nombres similares no crean equivalencia.\\n- OBLIGATORIO: modificar la propiedad cuyo propietario, path y valor actual satisfacen la instrucción.\\n- PROHIBIDO: cambiar otra capa para aproximar el efecto visual.\\n\\nUn valor puede ser fijo, `transparent` o una expresión. No evalúes una fórmula para inventar su resultado actual.\\n\\n# 7. Creación\\n\\nFormato:\\n\\n```json\\n{\\\"type\\\":\\\"tipo_real\\\",\\\"parentId\\\":null,\\\"properties\\\":{}}\\n```\\n\\n- `type` debe existir en `CATALOGO_OBJETOS`.\\n- `properties` debe incluir todas las propiedades `required` con tipo JSON exacto.\\n- Incluir solo propiedades pedidas y las necesarias para una creación válida.\\n- PROHIBIDO incluir `cId`, `cType` o `cTableId`; el diseñador los genera.\\n- PROHIBIDO usar `changes` para completar un objeto creado.\\n- Un objeto de `create` no tiene ID utilizable en la misma respuesta.\\n- `parentId:null` crea un objeto raíz.\\n- Un objeto anidado solo puede crearse en un padre admitido y una celda real vacía.\\n- En celda: usar `parentId` de la tabla y ubicación exacta `cTableSectionKey`, `nTableLineIndex`, `nTableCellIndex`.\\n- PROHIBIDO crear implícitamente secciones, líneas o celdas.\\n- Geometría obligatoria: `nLeft`, `nTop`, `nWidth`, `nHeight`; posición no negativa y tamaño positivo.\\n\\n# 8. Modificación\\n\\nFormato:\\n\\n```json\\n{\\\"targetId\\\":\\\"id_real\\\",\\\"path\\\":\\\"/propiedadReal\\\",\\\"value\\\":valor_compatible}\\n```\\n\\n- `targetId` debe existir una sola vez.\\n- `path` debe existir en ese objeto.\\n- Modificar solo valores escalares existentes.\\n- `value` conserva el tipo JSON original: string, number, boolean o null.\\n- PROHIBIDO modificar `cId`, `cType`, `cTableId`, `cTableSectionKey`, `nTableLineIndex`, `nTableCellIndex`.\\n- PROHIBIDO reemplazar arrays, mapas, relaciones o colecciones mediante `changes`.\\n- PROHIBIDO repetir o contradecir otro cambio sobre el mismo ID y path.\\n- No emitir un cambio si el valor absoluto ya coincide.\\n\\nLos cambios relativos se calculan desde el objeto identificado y se devuelven como valores absolutos.\\n\\n# 9. Eliminación\\n\\nFormato:\\n\\n```json\\n{\\\"targetId\\\":\\\"id_real\\\"}\\n```\\n\\n- El ID debe existir, ser único y no estar bloqueado.\\n- PROHIBIDO dejar referencias inválidas.\\n- Eliminar un objeto raíz elimina su contenido anidado.\\n- PROHIBIDO eliminar por separado un padre y sus descendientes.\\n- PROHIBIDO modificar y eliminar el mismo objeto.\\n\\n# 10. Operaciones estructurales\\n\\nUsar `structure` exclusivamente para operaciones declaradas:\\n\\n- `setDocument`, `setLabelLayout`;\\n- `setTableLine`, `setTableSection`, `setTableGroup`, `clearTableGroup`;\\n- `moveTableColumn`, `addTableColumn`, `deleteTableColumn`, `duplicateTableColumn`;\\n- `insertTableLine`, `deleteTableLine`, `moveTableLine`;\\n- `upsertAccumulator`, `deleteAccumulator`.\\n\\n- OBLIGATORIO: respetar la firma y paths de `CONTRATO_ESTRUCTURAL`.\\n- PROHIBIDO: representar estructura mediante `changes` o inventar operaciones equivalentes.\\n- PROHIBIDO: duplicar operaciones sobre la misma entidad estructural y path.\\n- Las operaciones de columnas afectan las secciones compatibles de la tabla.\\n- Identificar columnas por contenido y posición lógica, no solo por anchura.\\n\\n# 11. Peticiones compuestas y coherencia\\n\\n- Separar la petición en partes independientes.\\n- Ejecutar todas las partes compatibles.\\n- Distribuirlas entre `create`, `changes`, `delete`, `structure`.\\n- Una parte inválida independiente no autoriza operaciones inventadas.\\n- Si una parte inválida impide identificar o aplicar con seguridad el conjunto, devolver todo vacío.\\n- PROHIBIDO crear dentro de un padre eliminado.\\n- PROHIBIDO modificar un descendiente de un objeto eliminado.\\n\\n# 12. Fórmulas, campos y variables\\n\\n- Usar referencias `group.field` exactamente como aparecen.\\n- `origin` informa procedencia; nunca forma parte de la fórmula.\\n- Variables de usuario: `VAR.nombre`.\\n- Acumuladores: `SUM.nombre`.\\n- PROHIBIDO usar un campo ausente o sustituirlo por otro parecido.\\n- PROHIBIDO evaluar datos no presentes.\\n- Las condiciones se almacenan como fórmulas.\\n- Texto fijo dentro de una expresión lleva comillas dobles.\\n- Referencias y llamadas a funciones no llevan comillas de texto fijo.\\n- `cText`, `cContent` y definiciones de fórmula son strings JSON, no objetos serializados.\\n- Al sustituir una fórmula, reemplazarla completa salvo combinación explícita.\\n\\nFunciones admitidas por el validador: `ABS`, `ADDDAYS`, `ALLTRIM`, `AT`, `BARCODE`, `CHR`, `CONTAINS`, `CTOD`, `DATE`, `DATEYMD`, `DOW`, `DTOC`, `DTOS`, `EMPTY`, `EXP10`, `HOUR`, `IF`, `INT`, `ISNULL`, `LASTPAGE`, `LASTPAGEBY`, `LEFT`, `LEN`, `LOWER`, `LTRIM`, `MAX`, `MIN`, `MONTH`, `NOW`, `PAGE`, `PAGEBY`, `PAGES`, `RAT`, `RIGHT`, `RGB`, `ROUND`, `RTRIM`, `STOD`, `STR`, `STRTRAN`, `SUBSTR`, `TIME`, `TOTALPAGES`, `TOTALPAGESBY`, `TRANSFORM`, `UPPER`, `VAL`, `YEAR`.\\n\\n# 13. Conservación\\n\\n- Aplicar el mínimo cambio suficiente.\\n- Conservar orden, geometría, contenido, fórmulas, estilos y relaciones no solicitados.\\n- Conservar tipos JSON.\\n- PROHIBIDO añadir defaults innecesarios a `create`.\\n- PROHIBIDO introducir metadatos de importación, claves privadas `*Ll12`, depuración, datos privados, SQL, scripts o infraestructura.\\n- PROHIBIDO guardar automáticamente.\\n\\n# 14. Ambigüedad e imposibilidad\\n\\nDevolver las cuatro listas vacías cuando:\\n\\n- una petición singular mantiene varios candidatos indistinguibles;\\n- el tipo, propiedad, campo, path u operación no existe;\\n- falta una referencia requerida;\\n- la operación viola seguridad o coherencia;\\n- la capacidad no está implementada.\\n\\nNo simular capacidades inexistentes mediante propiedades parecidas.\\n\\n# 15. Límites funcionales actuales\\n\\nNo existen actualmente:\\n\\n- cuatro márgenes independientes de informe;\\n- bandas reales de cabecera y pie de página;\\n- pie exclusivo de última página;\\n- índice inicial de etiquetas;\\n- condición global de etiqueta;\\n- acumuladores promedio;\\n- máscara numérica completa de `TText`;\\n- repetición de la cabecera normal de tabla.\\n\\nLas etiquetas continúan automáticamente en páginas sucesivas; no crear estructura para simularlo.\\n\\n# 16. Verificación final\\n\\nAntes de responder:\\n\\n1. Verificar cuatro arrays y ninguna clave extra.\\n2. Verificar IDs literales y únicos.\\n3. Verificar propietario, nivel y path.\\n4. Verificar tipos y dominios.\\n5. Verificar candidatos completos y deduplicados.\\n6. Verificar ausencia de omisiones y extras.\\n7. Verificar coherencia entre operaciones.\\n8. Responder solo JSON.\\n\\n# TBarcode\\n\\nTítulo: Código de barras o código bidimensional.\\n\\nDescripción: objeto que codifica `cContent` con una simbología determinada. Puede ser raíz o contenido de celda.\\n\\n## @identity\\n\\n- `cType=\\\"TBarcode\\\"`; identidad mediante `cId`.\\n- Se distingue por contenido, simbología, posición, jerarquía y nombre.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| TBarcode | `cContent` | S | Dato o expresión codificada; requerido al crear |\\n| TBarcode | `cBarcodeType` | S | `EAN13`, `EAN8`, `EAN128`, `CODE128`, `DATAMATRIX`, `QR` |\\n| TBarcode | `lShowText` | B | Visibilidad del texto legible |\\n| TBarcode | `cColor` | S | Color del código, no `cTextColor` |\\n| TBarcode | propiedades de fuente | escalar | Presentación del texto legible |\\n\\n## @relations\\n\\n- `cContent` puede referir un campo disponible, pero no se evalúa durante el diseño.\\n- Como objeto de tabla conserva referencias de celda.\\n\\n## @operations\\n\\n- Crear raíz o dentro de celda.\\n- Modificar contenido, simbología, texto visible, color, fuente o geometría.\\n- Eliminar por `cId`.\\n\\n## Reglas\\n\\n- Cambiar simbología modifica solo `cBarcodeType` salvo petición adicional.\\n- Cambiar el dato modifica `cContent`, no la simbología.\\n- La propiedad correcta es `lShowText`, nunca `cShowText`.\\n\\n## Pendiente para Fase 2\\n\\nValidaciones semánticas por simbología, dimensiones mínimas y tratamiento de expresiones.\\n\\n# TChart\\n\\nTítulo: Gráfico configurado por especificación.\\n\\nDescripción: objeto visual raíz que representa un gráfico mediante una clase y una especificación estructurada.\\n\\n## @identity\\n\\n- `cType=\\\"TChart\\\"`; identidad mediante `cId`.\\n- Se identifica por nombre, geometría, `cChartKind` y contenido de `hChartSpec`.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| TChart | `cChartKind` | S | Clase de gráfico |\\n| TChart | `hChartSpec` | O | Especificación estructurada del gráfico |\\n| TChart | geometría/estilo comunes | escalar | Caja y presentación visual |\\n\\n## @relations\\n\\n- Solo puede ser raíz.\\n- `hChartSpec` no crea objetos hijos identificables por `cId`.\\n\\n## @operations\\n\\n- Crear raíz con especificación válida.\\n- Modificar escalares existentes permitidos.\\n- Eliminar por `cId`.\\n\\n## Reglas\\n\\n- PROHIBIDO reemplazar `hChartSpec` completo mediante `changes`.\\n- PROHIBIDO inventar un esquema de gráfico no definido por el documento o catálogo.\\n\\n## Pendiente para Fase 2\\n\\nEsquema semántico real de `hChartSpec`, clases admitidas y futuras operaciones estructurales.\\n\\n# TDocument\\n\\nTítulo: Documento de informe o etiquetas.\\n\\nDescripción: raíz de una plantilla LL-Dominus. Define papel, modo de documento, etiquetas, capas, variables y objetos. No es un objeto dibujable y no tiene `cId` de objeto.\\n\\n## @identity\\n\\n- `cType=\\\"TDocument\\\"`.\\n- `cTemplateId` identifica la plantilla; no es `targetId` para `changes`.\\n- `cDocumentKind` distingue `report` y `label`.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| documento | `cTemplateName` | S | Nombre de plantilla |\\n| documento | `cPaperFormat`, `cPaperOrientation` | S | Formato y orientación |\\n| documento | `nPaperWidth`, `nPaperHeight` | N | Dimensiones en mm |\\n| documento | `cPaperHeightMode`, `nDesignHeight` | S/N | Modo y altura de diseño |\\n| documento | `hLabelLayout` | O | Configuración de rejilla de etiquetas |\\n| documento | `hUserVars`, `hAcumVars` | O | Variables y acumuladores |\\n| documento | `aObjects` | A | Objetos raíz en orden de dibujo |\\n\\n## @relations\\n\\n- `aObjects[]` contiene tipos raíz admitidos por el catálogo.\\n- `hLayers` describe capas usadas por `nLayerId`; no convierte una capa en objeto.\\n\\n## @operations\\n\\n- Cambios globales: `structure.setDocument` con paths autorizados.\\n- Etiquetas: `structure.setLabelLayout`.\\n- Acumuladores: `upsertAccumulator`, `deleteAccumulator`.\\n- Objetos: `create`, `changes`, `delete` según su propia identidad.\\n\\n## Reglas\\n\\n- PROHIBIDO usar `changes` sobre `cTemplateId` o colecciones del documento.\\n- `setDocument /cPaperFormat` normaliza dimensiones estándar.\\n- Cambiar `cDocumentKind` no exige copiar `hLabelLayout`.\\n- Una rejilla de etiquetas no es una tabla ni una colección de objetos repetidos.\\n\\n## Pendiente para Fase 2\\n\\nSemántica detallada de papel continuo, capas, variables y composición de etiquetas.\\n\\n# TEllipse\\n\\nTítulo: Forma elíptica.\\n\\nDescripción: objeto visual raíz delimitado por una caja rectangular y representado mediante propiedades comunes de forma.\\n\\n## @identity\\n\\n- `cType=\\\"TEllipse\\\"`; identidad mediante `cId`.\\n- Se identifica por nombre, caja geométrica, estilo, capa y orden.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| TEllipse | `nLeft`,`nTop`,`nWidth`,`nHeight` | N | Caja delimitadora en mm |\\n| TEllipse | `cBackgroundColor` | S | Fondo propio |\\n| TEllipse | propiedades comunes de forma | escalar | Borde, relleno, sombra, opacidad y rotación |\\n| TEllipse | `nRounded` | N | Valor propio del modelo, default 50 |\\n\\n## @relations\\n\\n- Solo puede ser raíz; no contiene objetos.\\n\\n## @operations\\n\\n- Crear raíz, modificar escalares y eliminar por `cId`.\\n\\n## Reglas\\n\\n- No tratar la caja delimitadora como un rectángulo independiente.\\n- No aplicar estilos a objetos visualmente contenidos por solapamiento.\\n\\n## Pendiente para Fase 2\\n\\nInterpretación precisa de redondeo, rotación, borde y relleno.\\n\\n# TFormattedText\\n\\nTítulo: Texto con runs de formato.\\n\\nDescripción: especialización semántica de texto que conserva las propiedades de `TText` y añade una colección estructurada de fragmentos formateados.\\n\\n## @identity\\n\\n- `cType=\\\"TFormattedText\\\"`; identidad mediante `cId`.\\n- Puede crearse únicamente como objeto raíz según el catálogo actual.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| TFormattedText | propiedades de TText | escalar | Contenido y presentación general |\\n| TFormattedText | `aRichTextRuns` | A | Fragmentos estructurados de formato; propiedad requerida al crear |\\n\\n## @relations\\n\\n- Pertenece a `TDocument.aObjects`.\\n- No es equivalente a `richText`: usa `aRichTextRuns`, no HTML en `cContent`.\\n\\n## @operations\\n\\n- Crear raíz con geometría, `aRichTextRuns` y requisitos del catálogo.\\n- Modificar solo hojas escalares existentes permitidas por el contrato.\\n- Eliminar por `cId`.\\n\\n## Reglas\\n\\n- PROHIBIDO reemplazar `aRichTextRuns` mediante `changes`.\\n- PROHIBIDO convertir automáticamente runs a HTML o viceversa.\\n\\n## Pendiente para Fase 2\\n\\nSignificado y esquema interno de cada run y operaciones futuras sobre la colección.\\n\\n# TImage\\n\\n## Semántica\\n\\n`TImage` es un objeto visual cuya fuente se expresa en `cSource` y se dibuja\\ndentro de su caja geométrica. Puede ser raíz o contenido de una celda. El\\ndocumento conserva la fuente y la configuración, no la imagen evaluada.\\n\\n## Identidad y selección\\n\\n- `cType` es exactamente `TImage`; `cId` es la identidad única y operativa.\\n- Usa como evidencias combinadas `cName`, `cSource`, `cSourceType`, fórmulas,\\n  geometría, posición, tabla/sección/línea/celda y unicidad.\\n- No existe una equivalencia especial por palabras humanas ni por el nombre de\\n  la fuente. No inventes `cId` ni el resultado de `cSource`.\\n- En una celda, `cTableId`, `cTableSectionKey`, `nTableLineIndex` y\\n  `nTableCellIndex` son referencias de localización, no propiedades visuales.\\n\\n## Propiedades propias\\n\\n| Propiedad | Tipo | Significado operativo |\\n|---|---:|---|\\n| `cSource` | S | Origen o expresión de la imagen; es obligatorio al crear. |\\n| `cSourceType` | S | Interpretación declarada del origen; conservar el valor real. |\\n| `lKeepRatio` | B | Indica si el encaje debe conservar la proporción. |\\n| `cFit` | S | Modo de encaje: `contain`, `cover`, `fill` o `none`. |\\n| `nLeft`, `nTop`, `nWidth`, `nHeight` | N | Caja visual en milímetros, no dimensiones del recurso original. |\\n| `cBackgroundColor`, `cBackgroundColorFormula`, `nFillOpacity` | S/S/N | Fondo y relleno del objeto imagen, separados de la imagen y de su contenedor. |\\n| `nOpacity` | N | Opacidad del objeto completo; el valor va de 0 a 1. |\\n\\nLas propiedades comunes de borde, padding, rotación, sombra, condición,\\nvisibilidad y bloqueo siguen siendo del propio `TImage`. Una propiedad de\\ntabla, línea o celda no se sustituye por una propiedad de imagen con nombre\\nsimilar.\\n\\n## Fuente, fórmulas y encaje\\n\\n- Mantén `cSource` como expresión literal. Puede ser un valor fijo o una\\n  referencia/fórmula; no la evalúes ni inventes un archivo.\\n- Una fórmula de fuente o color se modifica en su path de fórmula, nunca\\n  reemplazando automáticamente el valor fijo por el resultado.\\n- `lKeepRatio` y `cFit` son decisiones distintas: el primero conserva la\\n  proporción; el segundo determina cómo ocupa la caja.\\n- Cambiar proporcionalmente el tamaño exige calcular los nuevos valores\\n  absolutos de `nWidth` y `nHeight` a partir de los valores actuales.\\n\\n## Relaciones y operaciones\\n\\n- Crear: raíz o celda permitida; requiere `cSource`, `cType` y la geometría\\n  canónica. El objeto anidado debe conservar las referencias de tabla.\\n- Cambiar: únicamente paths escalares existentes y compatibles con\\n  `changes`; una operación por propiedad cuando sea necesario.\\n- Eliminar: por el `cId` real y solo si no está bloqueado.\\n- No uses `changes` para alterar arrays, celdas, secciones o relaciones.\\n\\n## Selección exhaustiva\\n\\n1. Determina el ámbito estructural y si la petición es singular o plural.\\n2. Define la propiedad exacta (`cSource`, geometría, encaje, fondo, etc.).\\n3. Recorre todas las imágenes del ámbito, incluidas las de celdas.\\n4. Filtra por el valor actual exacto cuando la orden lo exija.\\n5. Deduplica por `cId`, comprueba el recuento y emite después los cambios.\\n\\nNo selecciones solo por posición, tamaño o parecido textual si otras\\nevidencias distinguen candidatos.\\n\\n## Límites reales\\n\\n`TImage` no crea tablas, secciones, celdas ni relaciones de datos. El motor\\nresuelve la fuente durante la ejecución; la IA solo debe proponer operaciones\\nsobre la representación funcional recibida.\\n\\n# TLine\\n\\nTítulo: Línea gráfica.\\n\\nDescripción: objeto visual raíz cuya geometría define extensión y cuya semántica específica define orientación y estilo.\\n\\n## @identity\\n\\n- `cType=\\\"TLine\\\"`; identidad mediante `cId`.\\n- Se distingue por nombre, posición, longitud, orientación y estilo.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| TLine | `cOrientation` | S | `horizontal` o `vertical` |\\n| TLine | `cLineStyle` | S | `solid`, `dashed` o `dotted` |\\n| TLine | geometría común | N | Extensión y posición en mm |\\n| TLine | propiedades visuales comunes | escalar | Color, opacidad y estilo aplicables |\\n\\n## @relations\\n\\n- Solo puede ser raíz.\\n- `TLine` no es una línea estructural de `TTable`; son entidades diferentes.\\n\\n## @operations\\n\\n- Crear raíz, modificar escalares y eliminar por `cId`.\\n\\n## Reglas\\n\\n- PROHIBIDO usar operaciones `setTableLine` sobre un `TLine`.\\n- PROHIBIDO interpretar una línea de tabla como objeto `TLine`.\\n\\n## Pendiente para Fase 2\\n\\nSemántica visual completa de orientación, grosor y estilo.\\n\\n# TRectangle\\n\\nTítulo: Forma rectangular.\\n\\nDescripción: objeto visual raíz basado en geometría y propiedades comunes de borde, relleno, fondo, sombra y opacidad.\\n\\n## @identity\\n\\n- `cType=\\\"TRectangle\\\"`; identidad mediante `cId`.\\n- Se identifica por nombre, geometría, estilo, capa y orden de dibujo.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| TRectangle | `nLeft`,`nTop`,`nWidth`,`nHeight` | N | Caja en mm |\\n| TRectangle | `cBackgroundColor` | S | Fondo propio |\\n| TRectangle | borde y relleno comunes | escalar | Apariencia de la forma |\\n| TRectangle | `nRounded` | N | Redondeo de esquinas |\\n\\n## @relations\\n\\n- Solo puede ser objeto raíz según el catálogo actual.\\n- Su fondo no representa el fondo de objetos superpuestos o contenidos.\\n\\n## @operations\\n\\n- Crear raíz, modificar escalares y eliminar por `cId`.\\n\\n## Reglas\\n\\n- No deduzcas pertenencia por solapamiento visual.\\n- Conserva orden y geometría no solicitados.\\n\\n## Pendiente para Fase 2\\n\\nSemántica detallada de rellenos múltiples, bordes, sombras y composición visual.\\n\\n# TTable\\n\\n## Semántica y propietario\\n\\n`TTable` es un objeto raíz que contiene una estructura repetible. Tiene\\npropiedades propias (`cId`, geometría, fondo y configuración) y es propietario\\nde secciones, líneas, celdas y objetos anidados. No se crea una segunda\\nidentidad para cada celda: la celda se localiza por su ruta estructural y el\\nobjeto de contenido por su propio `cId`.\\n\\n## Jerarquía canónica\\n\\n```text\\nTDocument\\n└─ aObjects → TTable\\n   └─ hSections[header|groupHeader|detail|groupFooter|footer]\\n      └─ aLines[lineIndex]\\n         └─ aCells[cellIndex]\\n            └─ hContent:null | {cType,hObject}\\n```\\n\\n### Secciones\\n\\nLas cinco claves son exactas:\\n\\n| Clave | Función estructural |\\n|---|---|\\n| `header` | Líneas de cabecera de la tabla. |\\n| `groupHeader` | Líneas antes de un grupo según sus expresiones de ruptura. |\\n| `detail` | Líneas repetidas para cada registro de detalle. |\\n| `groupFooter` | Líneas al finalizar un grupo. |\\n| `footer` | Líneas de pie de la tabla. |\\n\\nNo deduzcas que una sección es una banda de página ni inventes repeticiones o\\nalcances que no estén en sus propiedades y contrato.\\n\\n### Líneas\\n\\nCada línea tiene `cName`, `nHeight` y `aCells`. También puede contener\\ncondición, paginación, conservación de línea, repetición, acumuladores,\\n`hBackground`, `hBorder`, `hPadding`, `hReservedSpace` y patrón cebra. La línea\\nes propietaria de esas propiedades; una línea no es una celda ni un objeto.\\n\\n### Celdas y contenido\\n\\nUna celda tiene `nWidth` y `hContent`. `hContent` es `null` o `{cType,hObject}`\\ncon tipo permitido (`TText`, `richText`, `TImage`, `TBarcode`). El objeto\\nanidado conserva:\\n\\n```text\\ncTableId = cId de la tabla\\ncTableSectionKey = clave de sección\\nnTableLineIndex = índice de línea\\nnTableCellIndex = índice de celda\\n```\\n\\nUna celda vacía no tiene objeto que seleccionar o modificar.\\n\\n## Propiedades por propietario\\n\\n| Propietario | Path representativo | Significado |\\n|---|---|---|\\n| tabla | `/cBackgroundColor` | Fondo propio de la caja de `TTable`; no es el fondo de sus líneas. |\\n| línea | `/hBackground/cColor` y sus fórmulas/rellenos | Fondo estructural que el motor dibuja para el rectángulo de la línea. |\\n| celda (estructura original) | `/hBackground/...` | Fondo rectangular de la celda cuando existe en el documento de runtime. |\\n| objeto de celda | `/hContent/hObject/cBackgroundColor` | Fondo del objeto visual contenido, independiente de línea y celda. |\\n| objeto de celda | `/hContent/hObject/cTextColor`, `/nTextOpacity` | Texto y opacidad del contenido, no el fondo de línea. |\\n| línea/celda | `/hBorder/...` | Borde estructural, no relleno. |\\n\\nEl motor compone el fondo de línea, después un fondo de celda si está definido,\\ny después el objeto de contenido; además puede dibujar bordes y separadores.\\nEsto describe el código actual, no una regla para sustituir propiedades.\\nLa copia compacta utilizada por IA elimina `hCell.hBackground` y conserva\\n`hLine.hBackground` y el fondo de `hObject`; por tanto no se debe proponer un\\npath de fondo de celda que no aparezca en esa copia. Nunca trates propiedades\\nde niveles distintos como equivalentes por su nombre.\\n\\n### Fijo, transparente y fórmula\\n\\n- Un color hexadecimal es un valor fijo actual.\\n- `transparent` significa sin relleno visible para esa propiedad.\\n- Una propiedad `*Formula` es una expresión separada; no la reemplaces por su\\n  resultado ni supongas que el valor fijo sigue prevaleciendo.\\n- Evalúa precedencia solo donde el motor la define; no inventes una cascada\\n  entre tabla, línea, celda y objeto.\\n\\n## Grupo, altura y referencias\\n\\n`hGroup` contiene `cBreakExpression`, `aBreakExpressions` y\\n`lSkipEmptyValues`. `cPageBreakCondition`, `lFooterOnBottom`, `cHeightMode` y\\n`lFixedSeparators` pertenecen a la tabla. Los campos de línea para grupos,\\nacumuladores y paginación se mantienen en sus paths reales. Las expresiones y\\nreferencias deben cumplir las funciones y nombres permitidos por el contrato;\\nno inventes campos, grupos ni acumuladores.\\n\\n## Identificación y selección\\n\\n1. Determina la tabla por `cId` y el ámbito (sección, línea, celda u objeto).\\n2. Determina el propietario y el path exacto de la propiedad solicitada.\\n3. Para una condición de estado, compara el valor actual de ese path, no el de\\n   una propiedad visual parecida.\\n4. Recorre todas las líneas y celdas del ámbito, incluidos objetos anidados.\\n5. Incluye solo coincidencias, deduplica por `cId` y verifica el recuento.\\n6. Emite operaciones únicamente después de terminar la enumeración.\\n\\nUna selección singular requiere candidato único o evidencia suficiente. Una\\nselección plural no puede reconstruirse aproximadamente. Si hay ambigüedad\\nreal, no inventes un objetivo ni cambies otro nivel.\\n\\n## Operaciones soportadas\\n\\n- Propiedades escalares de la tabla u objetos anidados: `changes`.\\n- Estructura: `setTableLine`, `setTableSection`, `setTableGroup`,\\n  `clearTableGroup`.\\n- Columnas: `moveTableColumn`, `addTableColumn`, `deleteTableColumn`,\\n  `duplicateTableColumn`.\\n- Líneas: `insertTableLine`, `deleteTableLine`, `moveTableLine`.\\n- Acumuladores: `upsertAccumulator` y `deleteAccumulator`, solo con fórmulas\\n  válidas y referencias existentes.\\n- Crear contenido: `create` solo en una celda vacía, con padre y ubicación\\n  reales; no crea implícitamente una línea o celda.\\n- Eliminar la tabla: `delete` por su `cId`; respeta bloqueo y evita borrados\\n  redundantes de descendientes.\\n\\nLas operaciones estructurales deben usar el contrato exacto. No escribas\\narrays o mapas completos mediante `changes`, no inventes columnas y no\\nsupongas capacidades no declaradas.\\n\\n## Contraejemplos mínimos\\n\\n- El fondo de una línea no autoriza a cambiar `hContent/hObject/cBackgroundColor`.\\n- Una celda vacía no tiene `targetId` de contenido.\\n- Un valor que no cumple la condición actual no entra en una operación masiva.\\n- Dos niveles con nombres similares no son intercambiables.\\n- No emitas una operación mientras aún estás buscando candidatos.\\n\\n# TText\\n\\n## Semántica\\n\\n`TText` es un objeto visual que contiene una expresión de texto. Puede vivir en\\n`TDocument.aObjects` o en `TTable → sección → línea → celda → hContent`.\\nEl documento almacena la expresión; no almacena el resultado evaluado.\\n\\n## Identidad y localización\\n\\n- `cType` es exactamente `TText` y `cId` es la identidad operativa única.\\n- Para resolver una petición usa, en este orden, `cId`/unicidad, tipo, nombre,\\n  contenido, origen de fórmula, geometría y relaciones estructurales.\\n- Un objeto de celda conserva `cTableId`, `cTableSectionKey`,\\n  `nTableLineIndex` y `nTableCellIndex`. No sustituyas estas referencias por\\n  una posición aproximada.\\n- `cName` ayuda a localizar, pero no sustituye a `cId` ni autoriza a inventar\\n  identificadores.\\n\\n## Propiedades propias\\n\\n| Propiedad | Tipo | Significado operativo |\\n|---|---:|---|\\n| `cText` | S | Expresión del contenido. El texto fijo se representa como literal entre comillas dentro de la expresión. |\\n| `cTextColor` | S | Color de los glifos, independiente del fondo. Acepta color canónico o `transparent` cuando el validador lo permita. |\\n| `cTextColorFormula` | S | Fórmula que puede resolver el color del texto en ejecución; no es el color evaluado. |\\n| `nTextOpacity` | N | Opacidad del texto, de 0 a 1; no cambia el relleno, borde ni sombra. |\\n| `cBackgroundColor` | S | Fondo/relleno del propio rectángulo de `TText`. No es el fondo de una línea, celda o tabla. |\\n| `cBackgroundColorFormula` | S | Fórmula del fondo propio. Mantener separada de `cBackgroundColor`. |\\n| `cFillStyle`, `cFillColor2`, `cFillColor3`, `nFillOpacity` | S/S/S/N | Degradado y opacidad del relleno propio; no sustituyen `cTextColor` ni `nTextOpacity`. |\\n| `nOpacity` | N | Opacidad del objeto completo, incluido contenido, fondo, borde y sombra. |\\n| `cTextAlign` | S | Alineación horizontal (`left`, `center`, `right`, `justify`). |\\n| `cTextVerticalAlign` | S | Alineación vertical (`top`, `middle`, `bottom`). |\\n| `cFontFamily`, `nFontSize`, `lFontBold`, `lFontItalic`, `lFontUnderline`, `lFontStrikeout` | S/N/B | Estilo tipográfico fijo. Sus propiedades `*Formula` son fórmulas separadas. |\\n| `lTextWrap`, `lAllowPageBreak`, `nLineSpacing`, `nParagraphSpacing`, `lKeepEmptyParagraphs` | B/B/N/N/B | Flujo, espaciado y salto del contenido. |\\n| `nLeft`, `nTop`, `nWidth`, `nHeight` | N | Caja del objeto en milímetros. Ancho y alto deben ser positivos. |\\n\\nLas demás propiedades comunes (`cBorder*`, padding, condición, rotación,\\nsombra, visibilidad y bloqueo) pertenecen al objeto y conservan su semántica\\ncomún. Una propiedad visual de otro propietario nunca se deduce desde esta\\nlista.\\n\\n## Expresiones y fórmulas\\n\\n`cText` se conserva literalmente. No evaluar, normalizar, traducir ni envolver\\nen comillas una referencia o función ya expresada. Una fórmula de color o de\\nestilo solo se cambia en su path `*Formula`; cambiar el valor fijo no elimina\\nla fórmula ni la convierte en resultado. Las funciones y referencias válidas\\nson las definidas por el contrato global.\\n\\n## Relaciones y operaciones\\n\\n- Crear: raíz o contenido de una celda permitida; requiere `cText` y la\\n  geometría canónica. El objeto anidado debe recibir sus referencias de tabla.\\n- Cambiar: solo paths escalares existentes y compatibles mediante `changes`.\\n  Para una variación de tamaño emite los valores absolutos de `nWidth` y/o\\n  `nHeight`; no cambies alineación para simular movimiento.\\n- Eliminar: solo el `cId` real y no bloqueado; no borres el contenedor por\\n  confundirlo con su contenido.\\n- No uses `changes` para arrays, mapas o relaciones estructurales.\\n\\n## Reglas de selección\\n\\n1. Determina si la petición es singular, plural, por estado o por ámbito.\\n2. Define la propiedad exacta de `TText` que se va a modificar.\\n3. Recorre todos los candidatos alcanzables, incluidos los anidados.\\n4. Para una condición de valor actual incluye únicamente coincidencias exactas.\\n5. Deduplica por `cId`, verifica el recuento y después emite operaciones.\\n\\nNo confundas fondo propio con texto, línea, celda o tabla. No selecciones por\\nparecido de nombre si el tipo, path u origen contradicen la petición.\\n\\n## Límites reales\\n\\n`TText` no crea por sí mismo secciones, columnas, celdas ni acumuladores. Las\\noperaciones estructurales pertenecen al contrato de tablas; este tipo solo\\naporta su objeto y sus propiedades escalares.\\n\\n# richText\\n\\nTítulo: Contenido enriquecido HTML.\\n\\nDescripción: objeto de contenido enriquecido basado en una expresión string cuyo resultado es HTML. Es un tipo real con nombre exacto `richText`.\\n\\n## @identity\\n\\n- `cType=\\\"richText\\\"`; identidad mediante `cId`.\\n- Puede ser raíz o contenido de celda.\\n\\n## @properties\\n\\n| Propietario | Propiedad | Tipo | Significado |\\n|---|---|---|---|\\n| richText | `cContent` | S | Expresión que produce el contenido HTML |\\n| richText | `cVerticalAlign` | S | `top`, `middle` o `bottom` |\\n| richText | `cOverflow` | S | `hidden` o `visible`; controla desbordamiento/paginación |\\n\\n## @relations\\n\\n- Como contenido de tabla conserva las referencias de localización de celda.\\n- No es equivalente a `TFormattedText` ni a `TText`.\\n\\n## @operations\\n\\n- Crear raíz o dentro de celda.\\n- Modificar `cContent`, alineación y overflow con `changes`.\\n- Eliminar por `cId`.\\n\\n## Reglas\\n\\n- HTML fijo forma parte de una expresión string válida.\\n- PROHIBIDO generar HTML o RTF incompleto.\\n- Modificar formato dentro de `cContent` sin destruir contenido no solicitado.\\n\\n## Pendiente para Fase 2\\n\\nReglas de edición segura de HTML, fórmulas dinámicas y desbordamiento entre páginas.\\n\\nCATALOGO_OBJETOS\\nTIPOS_JSON{S:string,N:number,B:boolean,Z:null,A:array,O:object}\\nCOMMON{\\\"required\\\":[\\\"nLeft\\\",\\\"nTop\\\",\\\"nWidth\\\",\\\"nHeight\\\"],\\\"protected\\\":[\\\"cId\\\",\\\"cType\\\"],\\\"defaults\\\":{\\\"cName\\\":\\\"Objeto\\\",\\\"nLeft\\\":0,\\\"nTop\\\":0,\\\"nWidth\\\":20,\\\"nHeight\\\":15,\\\"lVisible\\\":true,\\\"lLocked\\\":false,\\\"lSelected\\\":false,\\\"nLayerId\\\":0,\\\"nZIndex\\\":1,\\\"cBorderColor\\\":\\\"#000000\\\",\\\"cBorderColorFormula\\\":\\\"\\\",\\\"nBorderWidth\\\":0.1,\\\"lBorderTop\\\":true,\\\"lBorderRight\\\":true,\\\"lBorderBottom\\\":true,\\\"lBorderLeft\\\":true,\\\"cBackgroundColor\\\":\\\"#ffffff\\\",\\\"cBackgroundColorFormula\\\":\\\"\\\",\\\"cFillStyle\\\":\\\"solid\\\",\\\"cFillColor2\\\":\\\"#ffffff\\\",\\\"cFillColor2Formula\\\":\\\"\\\",\\\"cFillColor3\\\":\\\"#ffffff\\\",\\\"cFillColor3Formula\\\":\\\"\\\",\\\"nFillOpacity\\\":1,\\\"nRounded\\\":0,\\\"nShadowSize\\\":0,\\\"nShadowTransparency\\\":50,\\\"cShadowColor\\\":\\\"#000000\\\",\\\"cShadowColorFormula\\\":\\\"\\\",\\\"nRotation\\\":0,\\\"nOpacity\\\":1,\\\"cCondition\\\":\\\"\\\",\\\"nPaddingTop\\\":0,\\\"nPaddingRight\\\":0,\\\"nPaddingBottom\\\":0,\\\"nPaddingLeft\\\":0,\\\"cTableId\\\":\\\"\\\",\\\"cTableSectionKey\\\":\\\"\\\"},\\\"properties\\\":{\\\"cName\\\":\\\"S\\\",\\\"nLeft\\\":\\\"N\\\",\\\"nTop\\\":\\\"N\\\",\\\"nWidth\\\":\\\"N\\\",\\\"nHeight\\\":\\\"N\\\",\\\"lVisible\\\":\\\"B\\\",\\\"lLocked\\\":\\\"B\\\",\\\"lSelected\\\":\\\"B\\\",\\\"nLayerId\\\":\\\"N\\\",\\\"nZIndex\\\":\\\"N\\\",\\\"cBorderColor\\\":\\\"S\\\",\\\"cBorderColorFormula\\\":\\\"S\\\",\\\"nBorderWidth\\\":\\\"N\\\",\\\"lBorderTop\\\":\\\"B\\\",\\\"lBorderRight\\\":\\\"B\\\",\\\"lBorderBottom\\\":\\\"B\\\",\\\"lBorderLeft\\\":\\\"B\\\",\\\"cBackgroundColor\\\":\\\"S\\\",\\\"cBackgroundColorFormula\\\":\\\"S\\\",\\\"cFillStyle\\\":\\\"S\\\",\\\"cFillColor2\\\":\\\"S\\\",\\\"cFillColor2Formula\\\":\\\"S\\\",\\\"cFillColor3\\\":\\\"S\\\",\\\"cFillColor3Formula\\\":\\\"S\\\",\\\"nFillOpacity\\\":\\\"N\\\",\\\"nRounded\\\":\\\"N\\\",\\\"nShadowSize\\\":\\\"N\\\",\\\"nShadowTransparency\\\":\\\"N\\\",\\\"cShadowColor\\\":\\\"S\\\",\\\"cShadowColorFormula\\\":\\\"S\\\",\\\"nRotation\\\":\\\"N\\\",\\\"nOpacity\\\":\\\"N\\\",\\\"cCondition\\\":\\\"S\\\",\\\"nPaddingTop\\\":\\\"N\\\",\\\"nPaddingRight\\\":\\\"N\\\",\\\"nPaddingBottom\\\":\\\"N\\\",\\\"nPaddingLeft\\\":\\\"N\\\",\\\"cTableId\\\":\\\"S\\\",\\\"cTableSectionKey\\\":\\\"S\\\",\\\"nTableLineIndex\\\":\\\"N\\\",\\\"nTableCellIndex\\\":\\\"N\\\"}}\\nTText{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[\\\"cText\\\"],\\\"defaults\\\":{\\\"cName\\\":\\\"Texto\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":60,\\\"nHeight\\\":12,\\\"cText\\\":\\\"\\\",\\\"cFontFamily\\\":\\\"Arial\\\",\\\"nFontSize\\\":12,\\\"nFontOutPrecision\\\":0,\\\"nFontPitchAndFamily\\\":0,\\\"lFontBold\\\":false,\\\"cFontBoldFormula\\\":\\\"\\\",\\\"lFontItalic\\\":false,\\\"cFontItalicFormula\\\":\\\"\\\",\\\"lFontUnderline\\\":false,\\\"cFontUnderlineFormula\\\":\\\"\\\",\\\"lFontStrikeout\\\":false,\\\"cFontStrikeoutFormula\\\":\\\"\\\",\\\"lTextWrap\\\":true,\\\"lAllowPageBreak\\\":false,\\\"nLineSpacing\\\":0,\\\"nParagraphSpacing\\\":0,\\\"lKeepEmptyParagraphs\\\":true,\\\"lTextAdjusted\\\":false,\\\"lTrimSpaces\\\":false,\\\"cTextFlowGroup\\\":\\\"\\\",\\\"nTextFlowOrder\\\":0,\\\"nTextFlowLineHeight\\\":0,\\\"cTextColor\\\":\\\"#000000\\\",\\\"cTextColorFormula\\\":\\\"\\\",\\\"nTextOpacity\\\":1,\\\"cTextAlign\\\":\\\"left\\\",\\\"nTextDecimalPosition\\\":-10,\\\"cTextVerticalAlign\\\":\\\"top\\\",\\\"lBorderTop\\\":false,\\\"lBorderRight\\\":false,\\\"lBorderBottom\\\":false,\\\"lBorderLeft\\\":false},\\\"properties\\\":{\\\"cText\\\":\\\"S\\\",\\\"cFontFamily\\\":\\\"S\\\",\\\"nFontSize\\\":\\\"N\\\",\\\"nFontOutPrecision\\\":\\\"N\\\",\\\"nFontPitchAndFamily\\\":\\\"N\\\",\\\"lFontBold\\\":\\\"B\\\",\\\"cFontBoldFormula\\\":\\\"S\\\",\\\"lFontItalic\\\":\\\"B\\\",\\\"cFontItalicFormula\\\":\\\"S\\\",\\\"lFontUnderline\\\":\\\"B\\\",\\\"cFontUnderlineFormula\\\":\\\"S\\\",\\\"lFontStrikeout\\\":\\\"B\\\",\\\"cFontStrikeoutFormula\\\":\\\"S\\\",\\\"lTextWrap\\\":\\\"B\\\",\\\"lAllowPageBreak\\\":\\\"B\\\",\\\"nLineSpacing\\\":\\\"N\\\",\\\"nParagraphSpacing\\\":\\\"N\\\",\\\"lKeepEmptyParagraphs\\\":\\\"B\\\",\\\"lTextAdjusted\\\":\\\"B\\\",\\\"lTrimSpaces\\\":\\\"B\\\",\\\"cTextFlowGroup\\\":\\\"S\\\",\\\"nTextFlowOrder\\\":\\\"N\\\",\\\"nTextFlowLineHeight\\\":\\\"N\\\",\\\"cTextColor\\\":\\\"S\\\",\\\"cTextColorFormula\\\":\\\"S\\\",\\\"nTextOpacity\\\":\\\"N\\\",\\\"cTextAlign\\\":\\\"S\\\",\\\"nTextDecimalPosition\\\":\\\"N\\\",\\\"cTextVerticalAlign\\\":\\\"S\\\"},\\\"parents\\\":[\\\"root\\\",\\\"TTable.cell\\\"]}\\nTFormattedText{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[\\\"aRichTextRuns\\\"],\\\"defaults\\\":{\\\"cName\\\":\\\"Texto formateado\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":60,\\\"nHeight\\\":12,\\\"cText\\\":\\\"\\\",\\\"cFontFamily\\\":\\\"Arial\\\",\\\"nFontSize\\\":12,\\\"nFontOutPrecision\\\":0,\\\"nFontPitchAndFamily\\\":0,\\\"lFontBold\\\":false,\\\"cFontBoldFormula\\\":\\\"\\\",\\\"lFontItalic\\\":false,\\\"cFontItalicFormula\\\":\\\"\\\",\\\"lFontUnderline\\\":false,\\\"cFontUnderlineFormula\\\":\\\"\\\",\\\"lFontStrikeout\\\":false,\\\"cFontStrikeoutFormula\\\":\\\"\\\",\\\"lTextWrap\\\":true,\\\"lAllowPageBreak\\\":false,\\\"nLineSpacing\\\":0,\\\"nParagraphSpacing\\\":0,\\\"lKeepEmptyParagraphs\\\":true,\\\"lTextAdjusted\\\":false,\\\"lTrimSpaces\\\":false,\\\"cTextFlowGroup\\\":\\\"\\\",\\\"nTextFlowOrder\\\":0,\\\"nTextFlowLineHeight\\\":0,\\\"cTextColor\\\":\\\"#000000\\\",\\\"cTextColorFormula\\\":\\\"\\\",\\\"nTextOpacity\\\":1,\\\"cTextAlign\\\":\\\"left\\\",\\\"nTextDecimalPosition\\\":-10,\\\"cTextVerticalAlign\\\":\\\"top\\\",\\\"lBorderTop\\\":false,\\\"lBorderRight\\\":false,\\\"lBorderBottom\\\":false,\\\"lBorderLeft\\\":false,\\\"aRichTextRuns\\\":[]},\\\"properties\\\":{\\\"cText\\\":\\\"S\\\",\\\"cFontFamily\\\":\\\"S\\\",\\\"nFontSize\\\":\\\"N\\\",\\\"nFontOutPrecision\\\":\\\"N\\\",\\\"nFontPitchAndFamily\\\":\\\"N\\\",\\\"lFontBold\\\":\\\"B\\\",\\\"cFontBoldFormula\\\":\\\"S\\\",\\\"lFontItalic\\\":\\\"B\\\",\\\"cFontItalicFormula\\\":\\\"S\\\",\\\"lFontUnderline\\\":\\\"B\\\",\\\"cFontUnderlineFormula\\\":\\\"S\\\",\\\"lFontStrikeout\\\":\\\"B\\\",\\\"cFontStrikeoutFormula\\\":\\\"S\\\",\\\"lTextWrap\\\":\\\"B\\\",\\\"lAllowPageBreak\\\":\\\"B\\\",\\\"nLineSpacing\\\":\\\"N\\\",\\\"nParagraphSpacing\\\":\\\"N\\\",\\\"lKeepEmptyParagraphs\\\":\\\"B\\\",\\\"lTextAdjusted\\\":\\\"B\\\",\\\"lTrimSpaces\\\":\\\"B\\\",\\\"cTextFlowGroup\\\":\\\"S\\\",\\\"nTextFlowOrder\\\":\\\"N\\\",\\\"nTextFlowLineHeight\\\":\\\"N\\\",\\\"cTextColor\\\":\\\"S\\\",\\\"cTextColorFormula\\\":\\\"S\\\",\\\"nTextOpacity\\\":\\\"N\\\",\\\"cTextAlign\\\":\\\"S\\\",\\\"nTextDecimalPosition\\\":\\\"N\\\",\\\"cTextVerticalAlign\\\":\\\"S\\\",\\\"aRichTextRuns\\\":\\\"A\\\"},\\\"parents\\\":[\\\"root\\\"]}\\nrichText{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[\\\"cContent\\\"],\\\"defaults\\\":{\\\"cName\\\":\\\"Texto enriquecido\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":80,\\\"nHeight\\\":35,\\\"cContent\\\":\\\"\\\\\\\"<p>Texto enriquecido</p>\\\\\\\"\\\",\\\"cVerticalAlign\\\":\\\"top\\\",\\\"cOverflow\\\":\\\"hidden\\\"},\\\"properties\\\":{\\\"cContent\\\":\\\"S\\\",\\\"cVerticalAlign\\\":\\\"S\\\",\\\"cOverflow\\\":\\\"S\\\"},\\\"parents\\\":[\\\"root\\\",\\\"TTable.cell\\\"]}\\nTImage{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[\\\"cSource\\\"],\\\"defaults\\\":{\\\"cName\\\":\\\"Imagen\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":55,\\\"nHeight\\\":35,\\\"cSource\\\":\\\"\\\",\\\"cSourceType\\\":\\\"auto\\\",\\\"lKeepRatio\\\":true,\\\"cFit\\\":\\\"contain\\\",\\\"lBorderTop\\\":false,\\\"lBorderRight\\\":false,\\\"lBorderBottom\\\":false,\\\"lBorderLeft\\\":false},\\\"properties\\\":{\\\"cSource\\\":\\\"S\\\",\\\"cSourceType\\\":\\\"S\\\",\\\"lKeepRatio\\\":\\\"B\\\",\\\"cFit\\\":\\\"S\\\"},\\\"parents\\\":[\\\"root\\\",\\\"TTable.cell\\\"]}\\nTBarcode{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[\\\"cContent\\\"],\\\"defaults\\\":{\\\"cName\\\":\\\"Código de barras\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":60,\\\"nHeight\\\":25,\\\"cContent\\\":\\\"\\\",\\\"cBarcodeType\\\":\\\"EAN13\\\",\\\"lShowText\\\":true,\\\"lTrimSpaces\\\":false,\\\"cColor\\\":\\\"#000000\\\",\\\"cColorFormula\\\":\\\"\\\",\\\"cFontFamily\\\":\\\"Arial\\\",\\\"nFontSize\\\":12,\\\"lFontBold\\\":false,\\\"cFontBoldFormula\\\":\\\"\\\",\\\"lFontItalic\\\":false,\\\"cFontItalicFormula\\\":\\\"\\\",\\\"lFontUnderline\\\":false,\\\"cFontUnderlineFormula\\\":\\\"\\\",\\\"lFontStrikeout\\\":false,\\\"cFontStrikeoutFormula\\\":\\\"\\\",\\\"lBorderTop\\\":false,\\\"lBorderRight\\\":false,\\\"lBorderBottom\\\":false,\\\"lBorderLeft\\\":false},\\\"properties\\\":{\\\"cContent\\\":\\\"S\\\",\\\"cBarcodeType\\\":\\\"S\\\",\\\"lShowText\\\":\\\"B\\\",\\\"lTrimSpaces\\\":\\\"B\\\",\\\"cColor\\\":\\\"S\\\",\\\"cColorFormula\\\":\\\"S\\\",\\\"cFontFamily\\\":\\\"S\\\",\\\"nFontSize\\\":\\\"N\\\",\\\"lFontBold\\\":\\\"B\\\",\\\"cFontBoldFormula\\\":\\\"S\\\",\\\"lFontItalic\\\":\\\"B\\\",\\\"cFontItalicFormula\\\":\\\"S\\\",\\\"lFontUnderline\\\":\\\"B\\\",\\\"cFontUnderlineFormula\\\":\\\"S\\\",\\\"lFontStrikeout\\\":\\\"B\\\",\\\"cFontStrikeoutFormula\\\":\\\"S\\\"},\\\"parents\\\":[\\\"root\\\",\\\"TTable.cell\\\"]}\\nTRectangle{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[],\\\"defaults\\\":{\\\"cName\\\":\\\"Rectángulo\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":50,\\\"nHeight\\\":30},\\\"properties\\\":[],\\\"parents\\\":[\\\"root\\\"]}\\nTEllipse{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[],\\\"defaults\\\":{\\\"cName\\\":\\\"Elipse\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":50,\\\"nHeight\\\":30,\\\"nRounded\\\":50},\\\"properties\\\":[],\\\"parents\\\":[\\\"root\\\"]}\\nTLine{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[],\\\"defaults\\\":{\\\"cName\\\":\\\"Línea\\\",\\\"nLeft\\\":20,\\\"nTop\\\":20,\\\"nWidth\\\":50,\\\"nHeight\\\":1,\\\"cOrientation\\\":\\\"horizontal\\\",\\\"cLineStyle\\\":\\\"solid\\\",\\\"cBackgroundColor\\\":\\\"transparent\\\",\\\"lBorderTop\\\":false,\\\"lBorderRight\\\":false,\\\"lBorderBottom\\\":false,\\\"lBorderLeft\\\":false},\\\"properties\\\":{\\\"cOrientation\\\":\\\"S\\\",\\\"cLineStyle\\\":\\\"S\\\"},\\\"parents\\\":[\\\"root\\\"]}\\nTTable{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[],\\\"defaults\\\":{\\\"cName\\\":\\\"Tabla\\\",\\\"nWidth\\\":80,\\\"nHeight\\\":45,\\\"cBackgroundColor\\\":\\\"#f8fafc\\\",\\\"hSections\\\":{\\\"header\\\":{\\\"aLines\\\":[]},\\\"detail\\\":{\\\"aLines\\\":[]},\\\"footer\\\":{\\\"aLines\\\":[]},\\\"groupHeader\\\":{\\\"aLines\\\":[],\\\"lConcatNextDataLine\\\":false},\\\"groupFooter\\\":{\\\"aLines\\\":[],\\\"lAlsoOnEmptyGroup\\\":false}},\\\"hGroup\\\":{\\\"cBreakExpression\\\":\\\"\\\",\\\"aBreakExpressions\\\":[],\\\"lSkipEmptyValues\\\":false},\\\"cPageBreakCondition\\\":\\\"\\\",\\\"lFixedSeparators\\\":false,\\\"lFooterOnBottom\\\":true,\\\"cHeightMode\\\":\\\"fixed\\\"},\\\"properties\\\":{\\\"hSections\\\":\\\"O\\\",\\\"hGroup\\\":\\\"O\\\",\\\"cPageBreakCondition\\\":\\\"S\\\",\\\"lFixedSeparators\\\":\\\"B\\\",\\\"lFooterOnBottom\\\":\\\"B\\\",\\\"cHeightMode\\\":\\\"S\\\"},\\\"parents\\\":[\\\"root\\\"]}\\nTChart{\\\"extends\\\":\\\"COMMON\\\",\\\"required\\\":[],\\\"defaults\\\":{\\\"cName\\\":\\\"Gráfico\\\",\\\"nWidth\\\":100,\\\"nHeight\\\":60,\\\"cChartKind\\\":\\\"chart\\\",\\\"hChartSpec\\\":{}},\\\"properties\\\":{\\\"cChartKind\\\":\\\"S\\\",\\\"hChartSpec\\\":\\\"O\\\"},\\\"parents\\\":[\\\"root\\\"]}\\nTABLE_STRUCT{\\\"sections\\\":[\\\"header\\\",\\\"groupHeader\\\",\\\"detail\\\",\\\"groupFooter\\\",\\\"footer\\\"],\\\"line\\\":{\\\"required\\\":[\\\"cName\\\",\\\"nHeight\\\",\\\"aCells\\\"],\\\"content\\\":\\\"array<cell>\\\"},\\\"cell\\\":{\\\"required\\\":[\\\"nWidth\\\"],\\\"content\\\":\\\"hContent:null|{cType,hObject}\\\"},\\\"nestedCreate\\\":{\\\"parentId\\\":\\\"TTable.cId\\\",\\\"propertiesRequired\\\":[\\\"cTableSectionKey\\\",\\\"nTableLineIndex\\\",\\\"nTableCellIndex\\\"]},\\\"references\\\":[\\\"hObject.cTableId=parentId\\\",\\\"hObject.cTableSectionKey\\\",\\\"hObject.nTableLineIndex\\\",\\\"hObject.nTableCellIndex\\\"]}\\nFIN_CATALOGO_OBJETOS\\n\\nCONTRATO_ESTRUCTURAL{\\\"operations\\\":{\\\"setDocument\\\":[\\\"op\\\",\\\"path\\\",\\\"value\\\"],\\\"setLabelLayout\\\":[\\\"op\\\",\\\"path\\\",\\\"value\\\"],\\\"setTableLine\\\":[\\\"op\\\",\\\"tableId\\\",\\\"section\\\",\\\"lineIndex\\\",\\\"path\\\",\\\"value\\\"],\\\"setTableSection\\\":[\\\"op\\\",\\\"tableId\\\",\\\"section\\\",\\\"path\\\",\\\"value\\\"],\\\"setTableGroup\\\":[\\\"op\\\",\\\"tableId\\\",\\\"path\\\",\\\"value\\\"],\\\"clearTableGroup\\\":[\\\"op\\\",\\\"tableId\\\"],\\\"upsertAccumulator\\\":[\\\"op\\\",\\\"name\\\",\\\"definition\\\"],\\\"deleteAccumulator\\\":[\\\"op\\\",\\\"name\\\"],\\\"moveTableColumn\\\":[\\\"op\\\",\\\"tableId\\\",\\\"fromIndex\\\",\\\"toIndex\\\"],\\\"addTableColumn\\\":[\\\"op\\\",\\\"tableId\\\",\\\"index\\\",\\\"width\\\"],\\\"deleteTableColumn\\\":[\\\"op\\\",\\\"tableId\\\",\\\"index\\\"],\\\"duplicateTableColumn\\\":[\\\"op\\\",\\\"tableId\\\",\\\"index\\\",\\\"toIndex\\\"],\\\"insertTableLine\\\":[\\\"op\\\",\\\"tableId\\\",\\\"section\\\",\\\"index\\\",\\\"height\\\",\\\"columnWidths\\\"],\\\"deleteTableLine\\\":[\\\"op\\\",\\\"tableId\\\",\\\"section\\\",\\\"index\\\"],\\\"moveTableLine\\\":[\\\"op\\\",\\\"tableId\\\",\\\"section\\\",\\\"fromIndex\\\",\\\"toIndex\\\"]},\\\"documentPaths\\\":[\\\"/cTemplateName\\\",\\\"/cDocumentKind\\\",\\\"/cPaperFormat\\\",\\\"/cPaperOrientation\\\",\\\"/nPaperWidth\\\",\\\"/nPaperHeight\\\",\\\"/cPaperHeightMode\\\",\\\"/nDesignHeight\\\",\\\"/nContinuousBottomMargin\\\",\\\"/lShowGrid\\\"],\\\"labelPaths\\\":[\\\"/nLabelWidth\\\",\\\"/nLabelHeight\\\",\\\"/nColumns\\\",\\\"/nRows\\\",\\\"/nMarginLeft\\\",\\\"/nMarginTop\\\",\\\"/nGapHorizontal\\\",\\\"/nGapVertical\\\",\\\"/cFlow\\\",\\\"/cLabelFormat\\\",\\\"/nPrintOffsetX\\\",\\\"/nPrintOffsetY\\\"],\\\"linePaths\\\":[\\\"/cName\\\",\\\"/nHeight\\\",\\\"/cConditionFormula\\\",\\\"/lKeepTogether\\\",\\\"/lIgnoreEmpty\\\",\\\"/lPageBreakBefore\\\",\\\"/lPageBreakAfter\\\",\\\"/cSuppressCondition\\\",\\\"/cGroupExpression\\\",\\\"/lKeepWithPrevious\\\",\\\"/aResetAcumuladores\\\",\\\"/lRepeatAsHeader\\\",\\\"/lForceAccumulators\\\",\\\"/hZebraPattern/lEnabled\\\",\\\"/hZebraPattern/nPattern\\\",\\\"/hZebraPattern/cColor1\\\",\\\"/hZebraPattern/cColor2\\\",\\\"/hZebraPattern/nColor1Opacity\\\",\\\"/hZebraPattern/nColor2Opacity\\\",\\\"/hBackground/cColor\\\",\\\"/hBackground/cColorFormula\\\",\\\"/hBackground/cFillStyle\\\",\\\"/hBackground/cFillColor2\\\",\\\"/hBackground/cFillColor3\\\",\\\"/hBackground/nFillOpacity\\\",\\\"/hBorder/lTop\\\",\\\"/hBorder/lBottom\\\",\\\"/hBorder/lLeft\\\",\\\"/hBorder/lRight\\\",\\\"/hBorder/lVerticalSeparators\\\",\\\"/hBorder/cColor\\\",\\\"/hBorder/cColorFormula\\\",\\\"/hBorder/nWidth\\\",\\\"/hBorder/nRounded\\\",\\\"/hPadding/nTop\\\",\\\"/hPadding/nRight\\\",\\\"/hPadding/nBottom\\\",\\\"/hPadding/nLeft\\\",\\\"/hReservedSpace/nTop\\\",\\\"/hReservedSpace/nRight\\\",\\\"/hReservedSpace/nBottom\\\",\\\"/hReservedSpace/nLeft\\\"],\\\"sectionPaths\\\":[\\\"/lConcatNextDataLine\\\",\\\"/lAlsoOnEmptyGroup\\\"],\\\"groupPaths\\\":[\\\"/cBreakExpression\\\",\\\"/aBreakExpressions\\\",\\\"/lSkipEmptyValues\\\"],\\\"sections\\\":[\\\"header\\\",\\\"groupHeader\\\",\\\"detail\\\",\\\"groupFooter\\\",\\\"footer\\\"],\\\"accumulatorDefinition\\\":{\\\"required\\\":[\\\"tipo\\\",\\\"formula\\\"],\\\"tipoValues\\\":[\\\"numero\\\",\\\"numerico\\\"],\\\"formulaType\\\":\\\"string\\\"},\\\"rules\\\":[\\\"Usa structure para documento, etiquetas, líneas, columnas, grupos y acumuladores; changes solo para propiedades escalares de objetos con cId.\\\",\\\"Identifica índices de columna por el contenido de la cabecera y conserva el mismo índice lógico en todas las líneas compatibles.\\\",\\\"moveTableColumn, addTableColumn, deleteTableColumn y duplicateTableColumn actúan en todas las secciones compatibles de la tabla.\\\",\\\"Tras addTableColumn puedes usar create con parentId de tabla y la nueva cTableSectionKey,nTableLineIndex,nTableCellIndex vacía.\\\",\\\"Los acumuladores reales siempre suman formula en cada detalle; contador usa formula 1; no existe operación promedio.\\\",\\\"No inventes una operación si la propiedad o capacidad no aparece en este contrato.\\\"],\\\"examples\\\":[{\\\"op\\\":\\\"setDocument\\\",\\\"path\\\":\\\"/cPaperOrientation\\\",\\\"value\\\":\\\"landscape\\\"},{\\\"op\\\":\\\"setLabelLayout\\\",\\\"path\\\":\\\"/nColumns\\\",\\\"value\\\":2},{\\\"op\\\":\\\"moveTableColumn\\\",\\\"tableId\\\":\\\"id_tabla_real\\\",\\\"fromIndex\\\":2,\\\"toIndex\\\":0},{\\\"op\\\":\\\"setTableLine\\\",\\\"tableId\\\":\\\"id_tabla_real\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"path\\\":\\\"/lKeepTogether\\\",\\\"value\\\":true}]}\\nFIN_CONTRATO_ESTRUCTURAL\\n\"},{\"role\":\"user\",\"content\":\"CAMPOS_Y_VARIABLES_DISPONIBLES\\n{\\\"DataVar\\\":{\\\"DATOS_UTF8.texto\\\":\\\"C\\\",\\\"OMEM_PICTURES.ctldocvto\\\":\\\"C\\\",\\\"OMEM_PICTURES.cvlcantidad\\\":\\\"C\\\",\\\"OMEM_PICTURES.cvlprecio\\\":\\\"C\\\",\\\"OMEM_PICTURES.cvltlinea\\\":\\\"C\\\",\\\"OMEM_PUBLICAS.cif\\\":\\\"C\\\",\\\"OMEM_PUBLICAS.cpostal\\\":\\\"C\\\",\\\"OMEM_PUBLICAS.direccion\\\":\\\"N\\\",\\\"OMEM_PUBLICAS.email\\\":\\\"C\\\",\\\"OMEM_PUBLICAS.fax\\\":\\\"D\\\",\\\"OMEM_PUBLICAS.fullnamelogo\\\":\\\"I\\\",\\\"OMEM_PUBLICAS.poblacion\\\":\\\"C\\\",\\\"OMEM_PUBLICAS.provincia\\\":\\\"C\\\",\\\"OMEM_PUBLICAS.rsocial\\\":\\\"C\\\",\\\"OMEM_PUBLICAS.telefono\\\":\\\"C\\\",\\\"OMEM_RUPTURA.fvto1\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto2\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto3\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto4\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto5\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto6\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto7\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto8\\\":\\\"D\\\",\\\"OMEM_RUPTURA.fvto9\\\":\\\"D\\\",\\\"OMEM_RUPTURA.ptsvto1\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto2\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto3\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto4\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto5\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto6\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto7\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto8\\\":\\\"N\\\",\\\"OMEM_RUPTURA.ptsvto9\\\":\\\"N\\\",\\\"OMEM_RUPTURA.tipocobr1\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr2\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr3\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr4\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr5\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr6\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr7\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr8\\\":\\\"C\\\",\\\"OMEM_RUPTURA.tipocobr9\\\":\\\"C\\\"},\\\"DetalleVar\\\":{\\\"LINEAS_FACTURA.acuenta\\\":\\\"N\\\",\\\"LINEAS_FACTURA.agenciac\\\":\\\"C\\\",\\\"LINEAS_FACTURA.bancoc\\\":\\\"C\\\",\\\"LINEAS_FACTURA.base1\\\":\\\"N\\\",\\\"LINEAS_FACTURA.base2\\\":\\\"N\\\",\\\"LINEAS_FACTURA.base3\\\":\\\"N\\\",\\\"LINEAS_FACTURA.cantidad\\\":\\\"N\\\",\\\"LINEAS_FACTURA.cifc\\\":\\\"C\\\",\\\"LINEAS_FACTURA.cliente\\\":\\\"C\\\",\\\"LINEAS_FACTURA.codart\\\":\\\"C\\\",\\\"LINEAS_FACTURA.codigoc\\\":\\\"C\\\",\\\"LINEAS_FACTURA.concepto\\\":\\\"C\\\",\\\"LINEAS_FACTURA.cpostal3\\\":\\\"C\\\",\\\"LINEAS_FACTURA.cpostalc\\\":\\\"C\\\",\\\"LINEAS_FACTURA.direcci3\\\":\\\"N\\\",\\\"LINEAS_FACTURA.direccic\\\":\\\"N\\\",\\\"LINEAS_FACTURA.dto\\\":\\\"N\\\",\\\"LINEAS_FACTURA.fcaduca\\\":\\\"D\\\",\\\"LINEAS_FACTURA.ffaccl\\\":\\\"D\\\",\\\"LINEAS_FACTURA.fpagofactura\\\":\\\"D\\\",\\\"LINEAS_FACTURA.impbruto\\\":\\\"C\\\",\\\"LINEAS_FACTURA.iva\\\":\\\"N\\\",\\\"LINEAS_FACTURA.iva1\\\":\\\"N\\\",\\\"LINEAS_FACTURA.iva2\\\":\\\"N\\\",\\\"LINEAS_FACTURA.iva3\\\":\\\"N\\\",\\\"LINEAS_FACTURA.ivaporte\\\":\\\"N\\\",\\\"LINEAS_FACTURA.ncuentac\\\":\\\"C\\\",\\\"LINEAS_FACTURA.netofcli\\\":\\\"C\\\",\\\"LINEAS_FACTURA.nomcli\\\":\\\"C\\\",\\\"LINEAS_FACTURA.numfac\\\":\\\"N\\\",\\\"LINEAS_FACTURA.numlotei\\\":\\\"N\\\",\\\"LINEAS_FACTURA.observa\\\":\\\"C\\\",\\\"LINEAS_FACTURA.poblaci3\\\":\\\"C\\\",\\\"LINEAS_FACTURA.poblacic\\\":\\\"C\\\",\\\"LINEAS_FACTURA.portes\\\":\\\"N\\\",\\\"LINEAS_FACTURA.precio\\\":\\\"N\\\",\\\"LINEAS_FACTURA.provinc3\\\":\\\"C\\\",\\\"LINEAS_FACTURA.provincc\\\":\\\"C\\\",\\\"LINEAS_FACTURA.ptsreten\\\":\\\"N\\\",\\\"LINEAS_FACTURA.re1\\\":\\\"N\\\",\\\"LINEAS_FACTURA.re2\\\":\\\"N\\\",\\\"LINEAS_FACTURA.re3\\\":\\\"N\\\",\\\"LINEAS_FACTURA.rec\\\":\\\"N\\\",\\\"LINEAS_FACTURA.respecia\\\":\\\"N\\\",\\\"LINEAS_FACTURA.retencio\\\":\\\"N\\\",\\\"LINEAS_FACTURA.rsocial3\\\":\\\"C\\\",\\\"LINEAS_FACTURA.rsocialc\\\":\\\"C\\\",\\\"LINEAS_FACTURA.seriefac\\\":\\\"C\\\",\\\"LINEAS_FACTURA.tfaccl\\\":\\\"N\\\",\\\"LINEAS_FACTURA.tipodoc\\\":\\\"C\\\",\\\"LINEAS_FACTURA.tlinea\\\":\\\"N\\\",\\\"LINEAS_FACTURA.tptsiva\\\":\\\"N\\\",\\\"LINEAS_FACTURA.tptsre\\\":\\\"N\\\",\\\"LINEAS_FACTURA.ttdtos\\\":\\\"N\\\",\\\"OMEMQUERY.acuenta\\\":\\\"N\\\",\\\"OMEMQUERY.agenciac\\\":\\\"C\\\",\\\"OMEMQUERY.bancoc\\\":\\\"C\\\",\\\"OMEMQUERY.base1\\\":\\\"N\\\",\\\"OMEMQUERY.base2\\\":\\\"N\\\",\\\"OMEMQUERY.base3\\\":\\\"N\\\",\\\"OMEMQUERY.cantidad\\\":\\\"N\\\",\\\"OMEMQUERY.cifc\\\":\\\"C\\\",\\\"OMEMQUERY.cliente\\\":\\\"C\\\",\\\"OMEMQUERY.codart\\\":\\\"C\\\",\\\"OMEMQUERY.codigoc\\\":\\\"C\\\",\\\"OMEMQUERY.concepto\\\":\\\"C\\\",\\\"OMEMQUERY.cpostal3\\\":\\\"C\\\",\\\"OMEMQUERY.cpostalc\\\":\\\"C\\\",\\\"OMEMQUERY.direcci3\\\":\\\"N\\\",\\\"OMEMQUERY.direccic\\\":\\\"N\\\",\\\"OMEMQUERY.dto\\\":\\\"N\\\",\\\"OMEMQUERY.fcaduca\\\":\\\"D\\\",\\\"OMEMQUERY.ffaccl\\\":\\\"D\\\",\\\"OMEMQUERY.fpagofactura\\\":\\\"D\\\",\\\"OMEMQUERY.impbruto\\\":\\\"C\\\",\\\"OMEMQUERY.iva\\\":\\\"N\\\",\\\"OMEMQUERY.iva1\\\":\\\"N\\\",\\\"OMEMQUERY.iva2\\\":\\\"N\\\",\\\"OMEMQUERY.iva3\\\":\\\"N\\\",\\\"OMEMQUERY.ivaporte\\\":\\\"N\\\",\\\"OMEMQUERY.ncuentac\\\":\\\"C\\\",\\\"OMEMQUERY.netofcli\\\":\\\"C\\\",\\\"OMEMQUERY.nomcli\\\":\\\"C\\\",\\\"OMEMQUERY.numfac\\\":\\\"N\\\",\\\"OMEMQUERY.numlotei\\\":\\\"N\\\",\\\"OMEMQUERY.observa\\\":\\\"C\\\",\\\"OMEMQUERY.poblaci3\\\":\\\"C\\\",\\\"OMEMQUERY.poblacic\\\":\\\"C\\\",\\\"OMEMQUERY.portes\\\":\\\"N\\\",\\\"OMEMQUERY.precio\\\":\\\"N\\\",\\\"OMEMQUERY.provinc3\\\":\\\"C\\\",\\\"OMEMQUERY.provincc\\\":\\\"C\\\",\\\"OMEMQUERY.ptsreten\\\":\\\"N\\\",\\\"OMEMQUERY.re1\\\":\\\"N\\\",\\\"OMEMQUERY.re2\\\":\\\"N\\\",\\\"OMEMQUERY.re3\\\":\\\"N\\\",\\\"OMEMQUERY.rec\\\":\\\"N\\\",\\\"OMEMQUERY.respecia\\\":\\\"N\\\",\\\"OMEMQUERY.retencio\\\":\\\"N\\\",\\\"OMEMQUERY.rsocial3\\\":\\\"C\\\",\\\"OMEMQUERY.rsocialc\\\":\\\"C\\\",\\\"OMEMQUERY.seriefac\\\":\\\"C\\\",\\\"OMEMQUERY.tfaccl\\\":\\\"N\\\",\\\"OMEMQUERY.tipodoc\\\":\\\"C\\\",\\\"OMEMQUERY.tlinea\\\":\\\"N\\\",\\\"OMEMQUERY.tptsiva\\\":\\\"N\\\",\\\"OMEMQUERY.tptsre\\\":\\\"N\\\",\\\"OMEMQUERY.ttdtos\\\":\\\"N\\\"},\\\"AcumVar\\\":{\\\"SUM.Sum01\\\":\\\"numero\\\",\\\"SUM.TotalSumaSigue\\\":\\\"numero\\\"},\\\"UserVar\\\":{\\\"VAR.CondicionSumaSigue\\\":\\\"C\\\",\\\"VAR.User01\\\":\\\"C\\\",\\\"VAR.User02\\\":\\\"C\\\",\\\"VAR.User03\\\":\\\"C\\\",\\\"VAR.User04\\\":\\\"C\\\",\\\"VAR.User05\\\":\\\"C\\\",\\\"VAR.User06\\\":\\\"C\\\",\\\"VAR.User07\\\":\\\"C\\\",\\\"VAR.User08\\\":\\\"C\\\",\\\"VAR.User09\\\":\\\"C\\\",\\\"VAR.User10\\\":\\\"C\\\",\\\"VAR.User11\\\":\\\"C\\\",\\\"VAR.User12\\\":\\\"C\\\",\\\"VAR.User13\\\":\\\"C\\\",\\\"VAR.User14\\\":\\\"C\\\",\\\"VAR.User15\\\":\\\"C\\\",\\\"VAR.User16\\\":\\\"C\\\",\\\"VAR.User17\\\":\\\"C\\\",\\\"VAR.User18\\\":\\\"C\\\",\\\"VAR.User19\\\":\\\"C\\\",\\\"VAR.User20\\\":\\\"C\\\",\\\"VAR.User21\\\":\\\"C\\\",\\\"VAR.User22\\\":\\\"C\\\",\\\"VAR.User23\\\":\\\"C\\\",\\\"VAR.User24\\\":\\\"C\\\",\\\"VAR.User25\\\":\\\"C\\\",\\\"VAR.User26\\\":\\\"C\\\",\\\"VAR.User27\\\":\\\"C\\\",\\\"VAR.User28\\\":\\\"C\\\",\\\"VAR.User29\\\":\\\"C\\\",\\\"VAR.User30\\\":\\\"C\\\",\\\"VAR.User31\\\":\\\"C\\\",\\\"VAR.User32\\\":\\\"C\\\",\\\"VAR.User33\\\":\\\"C\\\",\\\"VAR.User34\\\":\\\"C\\\",\\\"VAR.User35\\\":\\\"C\\\",\\\"VAR.User36\\\":\\\"C\\\",\\\"VAR.User37\\\":\\\"C\\\",\\\"VAR.User38\\\":\\\"C\\\",\\\"VAR.User39\\\":\\\"C\\\",\\\"VAR.User40\\\":\\\"C\\\",\\\"VAR.User41\\\":\\\"C\\\",\\\"VAR.User42\\\":\\\"C\\\",\\\"VAR.User43\\\":\\\"C\\\",\\\"VAR.User44\\\":\\\"C\\\",\\\"VAR.User45\\\":\\\"C\\\",\\\"VAR.User46\\\":\\\"C\\\",\\\"VAR.User47\\\":\\\"C\\\",\\\"VAR.User48\\\":\\\"C\\\",\\\"VAR.User49\\\":\\\"C\\\",\\\"VAR.User50\\\":\\\"C\\\"}}\\nFIN_CAMPOS_Y_VARIABLES_DISPONIBLES\\n\\nDOCUMENTO_MARKDOWN_SEMANTICO\\n# Documento LL-Dominus\\n\\n## Documento\\n- `cTemplateId`: `ll12_faccli_00`\\n- `cTemplateName`: `faccli_00. Facturas a Clientes importado LL12`\\n- `cDocumentKind`: `report`\\n- `cFormatVersion`: `1.0`\\n- `cPaperFormat`: `a4`\\n- `cPaperOrientation`: `portrait`\\n- `nPaperWidth`: `210`\\n- `nPaperHeight`: `297`\\n- `cPaperHeightMode`: `fixed`\\n- `nDesignHeight`: `297`\\n- `nContinuousBottomMargin`: `5`\\n- `lShowGrid`: true\\n\\n### Diseño de etiquetas\\n- `nLabelWidth`: `70`\\n- `nLabelHeight`: `37`\\n- `nColumns`: `3`\\n- `nRows`: `8`\\n- `nMarginLeft`: `0`\\n- `nMarginTop`: `0`\\n- `nGapHorizontal`: `0`\\n- `nGapVertical`: `0`\\n- `cFlow`: `row`\\n- `cLabelFormat`: `manual`\\n- `nPrintOffsetX`: `0`\\n- `nPrintOffsetY`: `0`\\n\\n### Variables de usuario\\n- `CondicionSumaSigue`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"Previous(OMEMQUERY.tipodoc)+Previous(OMEMQUERY.seriefac)+Str(Previous(OMEMQUERY.numfac),6)<>OMEMQUERY.tipodoc+OMEMQUERY.seriefac+Str(OMEMQUERY.numfac,6)  .OR.  LastPage()\\\"}`\\n- `User01`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"OMEMQUERY.cantidad * OMEMQUERY.precio\\\"}`\\n- `User02`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"VAR.User01 - (VAR.User01*OMEMQUERY.dto / 100)\\\"}`\\n- `User03`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User04`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\\\\\" \\\\\\\"\\\"}`\\n- `User05`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User06`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User07`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User08`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User09`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User10`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User11`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User12`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User13`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User14`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User15`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User16`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User17`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User18`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User19`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User20`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User21`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User22`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User23`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User24`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User25`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User26`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User27`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User28`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User29`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User30`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User31`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User32`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User33`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User34`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User35`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User36`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User37`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User38`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User39`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User40`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User41`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User42`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User43`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User44`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User45`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User46`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User47`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User48`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User49`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n- `User50`: `{\\\"tipo\\\":\\\"texto\\\",\\\"formula\\\":\\\"\\\"}`\\n\\n### Acumuladores\\n- `Sum01`: `{\\\"tipo\\\":\\\"numero\\\",\\\"formula\\\":\\\"OMEMQUERY.cantidad*OMEMQUERY.precio*(1-(OMEMQUERY.dto/100))\\\"}`\\n- `TotalSumaSigue`: `{\\\"tipo\\\":\\\"numero\\\",\\\"formula\\\":\\\"OMEMQUERY.tlinea\\\"}`\\n\\n## `ll12_0001` — TRectangle\\n- Nombre: `Rectángulo`\\n- `nLeft`: `17`\\n- `nTop`: `32.4`\\n- `nWidth`: `53`\\n- `nHeight`: `8.7`\\n- `lSelected`: false\\n- `nLayerId`: `0`\\n- `nZIndex`: `1`\\n- `cBackgroundColor`: `#ffffdd`\\n- `nShadowSize`: `1`\\n- `nShadowTransparency`: `0`\\n- `cShadowColor`: `#c0c0c0`\\n\\n## `ll12_0002` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"FACTURA\\\"`\\n- `cTextColor`: `#800000`\\n- `cTextAlign`: `center`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `18.9`\\n- `nTop`: `34.4`\\n- `nWidth`: `51.7`\\n- `nHeight`: `5`\\n\\n## `ll12_0007` — TRectangle\\n- Nombre: `Rectángulo`\\n- `nLeft`: `99`\\n- `nTop`: `37`\\n- `nWidth`: `101`\\n- `nHeight`: `25`\\n- `lSelected`: false\\n- `nLayerId`: `0`\\n- `nZIndex`: `3`\\n- `cBackgroundColor`: `#dfdfdf`\\n- `nShadowSize`: `1`\\n- `nShadowTransparency`: `0`\\n\\n## `ll12_0008` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"A la atención de:\\\"`\\n- `nFontSize`: `8`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `99.4`\\n- `nTop`: `33.3`\\n- `nWidth`: `65`\\n- `nHeight`: `3.9`\\n\\n## `ll12_0009` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(Len(OMEMQUERY.rsocial3 )==0,OMEMQUERY.rsocialc,OMEMQUERY.rsocial3)`\\n- `nFontSize`: `10`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `102`\\n- `nTop`: `39`\\n- `nWidth`: `96`\\n- `nHeight`: `5`\\n\\n## `ll12_0010` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(Len(OMEMQUERY.rsocial3 )==0,OMEMQUERY.direccic,OMEMQUERY.direcci3)`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `102`\\n- `nTop`: `44.3`\\n- `nWidth`: `96`\\n- `nHeight`: `5`\\n\\n## `ll12_0012` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(Len(OMEMQUERY.rsocial3 )==0,OMEMQUERY.poblacic,OMEMQUERY.poblaci3)`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `102`\\n- `nTop`: `50`\\n- `nWidth`: `57`\\n- `nHeight`: `5`\\n\\n## `ll12_0014` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(Len(OMEMQUERY.rsocial3 )==0,OMEMQUERY.provincc,OMEMQUERY.provinc3)`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `102`\\n- `nTop`: `55.6`\\n- `nWidth`: `57`\\n- `nHeight`: `5`\\n\\n## `ll12_0015` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"C. Postal: \\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `160.2`\\n- `nTop`: `50`\\n- `nWidth`: `18.8`\\n- `nHeight`: `5`\\n\\n## `ll12_0030` — TRectangle\\n- Nombre: `Rectángulo`\\n- `nLeft`: `9.9`\\n- `nTop`: `44`\\n- `nWidth`: `73`\\n- `nHeight`: `20`\\n- `lSelected`: false\\n- `nLayerId`: `0`\\n- `nZIndex`: `10`\\n- `nBorderWidth`: `0`\\n- `lBorderTop`: false\\n- `lBorderRight`: false\\n- `lBorderBottom`: false\\n- `lBorderLeft`: false\\n- `cBackgroundColor`: `#f7f7f7`\\n\\n## `ll12_0032` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Nº Factura:\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `11.9`\\n- `nTop`: `45.8`\\n- `nWidth`: `32`\\n- `nHeight`: `5`\\n\\n## `ll12_0035` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Fecha Factura:\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `11.8`\\n- `nTop`: `51.2`\\n- `nWidth`: `32`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0039` — TText\\n- Nombre: `Texto`\\n- `cText`: `OMEMQUERY.seriefac+\\\"/\\\"+Str(OMEMQUERY.numfac,6)`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `47.9`\\n- `nTop`: `46.5`\\n- `nWidth`: `32`\\n- `nHeight`: `4.7`\\n\\n## `ll12_0041` — TText\\n- Nombre: `Texto`\\n- `cText`: `Transform(OMEMQUERY.ffaccl,\\\"99/99/9999\\\")`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `47.9`\\n- `nTop`: `51.7`\\n- `nWidth`: `31.9`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0021` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Forma de Pago:\\\"`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `102`\\n- `nTop`: `63.3`\\n- `nWidth`: `29`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0023` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.fpagofactura==\\\"1\\\",\\\"PENDIENTE\\\",IF(OMEMQUERY.fpagofactura==\\\"2\\\",\\\"CONTADO COBRADO\\\",\\\"APLAZADO\\\"))`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `132.6`\\n- `nTop`: `63.8`\\n- `nWidth`: `57.9`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0024` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Código Cliente:\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `11.8`\\n- `nTop`: `56.4`\\n- `nWidth`: `32`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0026` — TText\\n- Nombre: `Texto`\\n- `cText`: `OMEMQUERY.codigoc`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `47.9`\\n- `nTop`: `56.9`\\n- `nWidth`: `31.9`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0036` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"C.I.F: \\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `160.2`\\n- `nTop`: `56`\\n- `nWidth`: `14`\\n- `nHeight`: `5`\\n\\n## `ll12_0013_part_01` — TText\\n- Nombre: `Texto 1/3`\\n- `cText`: `OMEM_PUBLICAS.rsocial`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `38.3`\\n- `nTop`: `8`\\n- `nWidth`: `90.3`\\n- `nHeight`: `2.822`\\n\\n## `ll12_0013_part_02` — TText\\n- Nombre: `Texto 2/3`\\n- `cText`: `IF(Len(AllTrim(OMEM_PUBLICAS.Cif))==0,\\\"\\\",\\\"NIF: \\\"+OMEM_PUBLICAS.Cif)+CRLF+OMEM_PUBLICAS.Direccion`\\n- `nFontSize`: `8`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `38.3`\\n- `nTop`: `10.822`\\n- `nWidth`: `90.3`\\n- `nHeight`: `5.644`\\n\\n## `ll12_0013_part_03` — TText\\n- Nombre: `Texto 3/3`\\n- `cText`: `IF(Len(AllTrim(OMEM_PUBLICAS.Poblacion))==0,\\\"\\\",OMEM_PUBLICAS.Poblacion+\\\" - \\\")+OMEM_PUBLICAS.CPostal+\\\" \\\"+OMEM_PUBLICAS.Provincia+CRLF+IF(Len(AllTrim(OMEM_PUBLICAS.Telefono))==0 .AND. Len(AllTrim(OMEM_PUBLICAS.Fax))==0,\\\" \\\",\\\"Tfno/Fax: \\\"+OMEM_PUBLICAS.Telefono+\\\" / \\\"+OMEM_PUBLICAS.Fax)+CRLF+OMEM_PUBLICAS.email`\\n- `nFontSize`: `8`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `38.3`\\n- `nTop`: `16.466`\\n- `nWidth`: `90.3`\\n- `nHeight`: `14.534`\\n\\n## `ll12_0022` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(Len(OMEMQUERY.rsocial3 )==0,OMEMQUERY.cpostalc,OMEMQUERY.cpostal3)`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `179.1`\\n- `nTop`: `50`\\n- `nWidth`: `14`\\n- `nHeight`: `5`\\n\\n## `ll12_0044` — TText\\n- Nombre: `Texto`\\n- `cText`: `OMEMQUERY.cifc`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `175.2`\\n- `nTop`: `56`\\n- `nWidth`: `24`\\n- `nHeight`: `5`\\n\\n## `ll12_0362` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Importe a Cuenta:\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `9`\\n- `nTop`: `240`\\n- `nWidth`: `30`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0019` — TImage\\n- Nombre: `Dibujo`\\n- `cSource`: `OMEM_PUBLICAS.fullnamelogo`\\n- `cSourceType`: `auto`\\n- `cBackgroundColor`: `#ff8000`\\n- `nLeft`: `6`\\n- `nTop`: `8`\\n- `nWidth`: `30`\\n- `nHeight`: `21`\\n\\n## `ll12_0016` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Banco:\\\"`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `10.3`\\n- `nTop`: `253.8`\\n- `nWidth`: `14`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0018` — TText\\n- Nombre: `Texto`\\n- `cText`: `OMEMQUERY.bancoc`\\n- `nFontSize`: `9`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `25.9`\\n- `nTop`: `253.9`\\n- `nWidth`: `51.4`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0060` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Ag:\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `79.2`\\n- `nTop`: `254.2`\\n- `nWidth`: `8.1`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0062` — TText\\n- Nombre: `Texto`\\n- `cText`: `OMEMQUERY.agenciac`\\n- `nFontSize`: `9`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `88.3`\\n- `nTop`: `254.3`\\n- `nWidth`: `10`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0076` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Nº de Cuenta:\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `100.5`\\n- `nTop`: `254.2`\\n- `nWidth`: `25.3`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0078` — TText\\n- Nombre: `Texto`\\n- `cText`: `OMEMQUERY.ncuentac`\\n- `nFontSize`: `9`\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `128.2`\\n- `nTop`: `254.3`\\n- `nWidth`: `40.7`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0104` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Datos Bancarios\\\"`\\n- `nFontSize`: `10`\\n- `lFontBold`: true\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `10.3`\\n- `nTop`: `247.3`\\n- `nWidth`: `56`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0025` — TText\\n- Nombre: `Texto`\\n- `cText`: `OMEMQUERY.observa`\\n- `nFontSize`: `9`\\n- `lFontItalic`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `42.1`\\n- `nTop`: `261`\\n- `nWidth`: `74`\\n- `nHeight`: `4.8`\\n\\n## `ll12_0028` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Observaciones:\\\"`\\n- `nFontSize`: `10`\\n- `lFontBold`: true\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `10.3`\\n- `nTop`: `261`\\n- `nWidth`: `30`\\n- `nHeight`: `4.8`\\n- `cCondition`: `IF(OMEMQUERY.observa!=\\\"\\\",.T.,.F.)`\\n\\n## `ll12_0027` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"%IVA.\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `8`\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `39.3`\\n- `nTop`: `218`\\n- `nWidth`: `16`\\n- `nHeight`: `4`\\n\\n## `ll12_0033` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Total IVA\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `8`\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `59.3`\\n- `nTop`: `218`\\n- `nWidth`: `29`\\n- `nHeight`: `4`\\n\\n## `ll12_0037` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",\\\"%Rec.\\\",\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `8`\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `93.3`\\n- `nTop`: `218`\\n- `nWidth`: `18`\\n- `nHeight`: `4`\\n\\n## `ll12_0040` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",\\\"Total Recargo\\\",\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `8`\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `115.3`\\n- `nTop`: `218`\\n- `nWidth`: `29`\\n- `nHeight`: `4`\\n\\n## `ll12_0102` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.iva1==0,\\\"\\\",Transform(OMEMQUERY.iva1,\\\"@E 99.9\\\"))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `39.3`\\n- `nTop`: `222.6`\\n- `nWidth`: `16`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0105` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF((OMEMQUERY.iva1*OMEMQUERY.base1)/100==0,\\\"\\\",Transform((OMEMQUERY.iva1*OMEMQUERY.base1)/100,OMEM_PICTURES.cTLdocvto))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `59.3`\\n- `nTop`: `222.6`\\n- `nWidth`: `29`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0107` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",Transform(OMEMQUERY.re1,\\\"@E 99.9\\\"),\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `93.3`\\n- `nTop`: `222.6`\\n- `nWidth`: `18`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0109` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",Transform((OMEMQUERY.re1*OMEMQUERY.base1)/100,OMEM_PICTURES.cTLdocvto),\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `115.3`\\n- `nTop`: `222.6`\\n- `nWidth`: `29`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0070` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.iva2==0,\\\"\\\",Transform(OMEMQUERY.iva2,\\\"@E 99.9\\\"))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `39.3`\\n- `nTop`: `227.5`\\n- `nWidth`: `16`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0072` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF((OMEMQUERY.iva2*OMEMQUERY.base2)/100==0,\\\"\\\",Transform((OMEMQUERY.iva2*OMEMQUERY.base2)/100,OMEM_PICTURES.cTLdocvto))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `59.3`\\n- `nTop`: `227.5`\\n- `nWidth`: `29`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0074` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",Transform(OMEMQUERY.re2,\\\"@E 99.9\\\"),\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `93.3`\\n- `nTop`: `227.5`\\n- `nWidth`: `18`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0077` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",Transform((OMEMQUERY.re2*OMEMQUERY.base2)/100,OMEM_PICTURES.cTLdocvto),\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `115.3`\\n- `nTop`: `227.5`\\n- `nWidth`: `29`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0082` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.iva3==0,\\\"\\\",Transform(OMEMQUERY.iva3,\\\"@E 99.9\\\"))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `39.3`\\n- `nTop`: `232`\\n- `nWidth`: `16`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0084` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF((OMEMQUERY.iva3*OMEMQUERY.base3)/100==0,\\\"\\\",Transform((OMEMQUERY.iva3*OMEMQUERY.base3)/100,OMEM_PICTURES.cTLdocvto))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `59.3`\\n- `nTop`: `232`\\n- `nWidth`: `29`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0086` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",Transform(OMEMQUERY.re3,\\\"@E 99.9\\\"),\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `93.3`\\n- `nTop`: `232`\\n- `nWidth`: `18`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0088` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.rec==\\\"S\\\",Transform((OMEMQUERY.re3*OMEMQUERY.base3)/100,OMEM_PICTURES.cTLdocvto),\\\" \\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `115.3`\\n- `nTop`: `232`\\n- `nWidth`: `29`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0405` — TRectangle\\n- Nombre: `Rectángulo`\\n- `nLeft`: `40`\\n- `nTop`: `239`\\n- `nWidth`: `27`\\n- `nHeight`: `6`\\n- `lSelected`: false\\n- `nLayerId`: `0`\\n- `nZIndex`: `52`\\n\\n## `ll12_0413` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"T. a Cobrar :\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `68`\\n- `nTop`: `240`\\n- `nWidth`: `31.7`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0417` — TRectangle\\n- Nombre: `Rectángulo`\\n- `nLeft`: `101`\\n- `nTop`: `239`\\n- `nWidth`: `27`\\n- `nHeight`: `6`\\n- `lSelected`: false\\n- `nLayerId`: `0`\\n- `nZIndex`: `54`\\n\\n## `ll12_0364` — TText\\n- Nombre: `Texto`\\n- `cText`: `Transform(OMEMQUERY.acuenta,OMEM_PICTURES.cTLdocvto)`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `41`\\n- `nTop`: `240`\\n- `nWidth`: `25`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0415` — TText\\n- Nombre: `Texto`\\n- `cText`: `Transform(OMEMQUERY.tfaccl-OMEMQUERY.acuenta-IF(OMEMQUERY.retencio<>0,OMEMQUERY.ptsreten,0),OMEM_PICTURES.cTLdocvto)`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `101`\\n- `nTop`: `240`\\n- `nWidth`: `26`\\n- `nHeight`: `4.4`\\n\\n## `ll12_0034` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"T. Retención \\\"+IF(OMEMQUERY.respecia ==\\\"S\\\",\\\"con R. Esp:\\\",\\\"sin R.Esp :\\\")`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `125`\\n- `nTop`: `214`\\n- `nWidth`: `42`\\n- `nHeight`: `4`\\n- `cCondition`: `IF(OMEMQUERY.ptsreten==0,.F.,.T.)`\\n\\n## `ll12_0042` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.ptsreten==0,\\\"\\\",Transform(OMEMQUERY.ptsreten,OMEM_PICTURES.cTLdocvto))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `167`\\n- `nTop`: `214`\\n- `nWidth`: `31.5`\\n- `nHeight`: `4`\\n\\n## `ll12_0045` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"T. a Pagar:\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `145`\\n- `nTop`: `218.9`\\n- `nWidth`: `22`\\n- `nHeight`: `4.4`\\n- `cCondition`: `IF(OMEMQUERY.ptsreten==0,.F.,.T.)`\\n\\n## `ll12_0047` — TText\\n- Nombre: `Texto`\\n- `cText`: `Transform(OMEMQUERY.tfaccl-OMEMQUERY.ptsreten,OMEM_PICTURES.cTLdocvto)`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `167`\\n- `nTop`: `218.9`\\n- `nWidth`: `31.5`\\n- `nHeight`: `4.4`\\n- `cCondition`: `IF(OMEMQUERY.ptsreten==0,.F.,.T.)`\\n\\n## `ll12_0004` — TRectangle\\n- Nombre: `Rectángulo`\\n- `nLeft`: `10.3`\\n- `nTop`: `272`\\n- `nWidth`: `180.7`\\n- `nHeight`: `15.9`\\n- `lSelected`: false\\n- `nLayerId`: `0`\\n- `nZIndex`: `61`\\n- `nBorderWidth`: `0`\\n- `lBorderTop`: false\\n- `lBorderRight`: false\\n- `lBorderBottom`: false\\n- `lBorderLeft`: false\\n- `cBackgroundColor`: `#ececec`\\n- `nShadowSize`: `0.5`\\n- `nShadowTransparency`: `0`\\n- `cShadowColor`: `#c0c0c0`\\n- `cCondition`: `OMEMQUERY.fpagofactura==\\\"3\\\"`\\n\\n## `ll12_0020_part_01` — TText\\n- Nombre: `Texto 1/3`\\n- `cText`: `\\\"Vto4: \\\"+Transform(OMEM_RUPTURA.fvto4,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto4,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr4`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `74.7`\\n- `nTop`: `273.5`\\n- `nWidth`: `53.3`\\n- `nHeight`: `4.233`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto4<>0)`\\n\\n## `ll12_0020_part_02` — TText\\n- Nombre: `Texto 2/3`\\n- `cText`: `\\\"Vto5: \\\"+Transform(OMEM_RUPTURA.fvto5,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto5,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr5`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `74.7`\\n- `nTop`: `277.733`\\n- `nWidth`: `53.3`\\n- `nHeight`: `4.233`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto5<>0)`\\n\\n## `ll12_0020_part_03` — TText\\n- Nombre: `Texto 3/3`\\n- `cText`: `\\\"Vto6: \\\"+Transform(OMEM_RUPTURA.fvto6,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto6,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr6`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `74.7`\\n- `nTop`: `281.966`\\n- `nWidth`: `53.3`\\n- `nHeight`: `4.234`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto6<>0)`\\n\\n## `ll12_0066_part_01` — TText\\n- Nombre: `Texto 1/2`\\n- `cText`: `\\\"Vto7: \\\"+Transform(OMEM_RUPTURA.fvto7,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto7,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr7`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `135`\\n- `nTop`: `273.5`\\n- `nWidth`: `51.9`\\n- `nHeight`: `4.233`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto7<>0)`\\n\\n## `ll12_0066_part_02` — TText\\n- Nombre: `Texto 2/2`\\n- `cText`: `\\\"Vto8: \\\"+Transform(OMEM_RUPTURA.fvto8,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto8,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr8+CRLF+\\\"Vto9: \\\"+Transform(OMEM_RUPTURA.fvto9,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto9,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr9`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `135`\\n- `nTop`: `277.733`\\n- `nWidth`: `51.9`\\n- `nHeight`: `8.467`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto8<>0)`\\n\\n## `ll12_0110` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Vencimientos:\\\"`\\n- `nFontSize`: `10`\\n- `lFontBold`: true\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `10.3`\\n- `nTop`: `267`\\n- `nWidth`: `30`\\n- `nHeight`: `4.8`\\n- `cCondition`: `OMEMQUERY.fpagofactura==\\\"3\\\"`\\n\\n## `ll12_0031` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Portes: \\\"+AllTrim(Transform( OMEMQUERY.portes,OMEM_PICTURES.cTLdocvto))+\\\" %Iva: \\\"+Transform(OMEMQUERY.ivaporte,\\\"@E 999.99\\\")`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `10.3`\\n- `nTop`: `213.7`\\n- `nWidth`: `100.7`\\n- `nHeight`: `4`\\n- `cCondition`: `IF(OMEMQUERY.portes==0,.F.,.T.)`\\n\\n## `ll12_0043_part_01` — TText\\n- Nombre: `Texto 1/3`\\n- `cText`: `\\\"Vto1: \\\"+Transform(OMEM_RUPTURA.fvto1,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto1,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr1`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `14`\\n- `nTop`: `273.5`\\n- `nWidth`: `54`\\n- `nHeight`: `4.233`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto1<>0)`\\n\\n## `ll12_0043_part_02` — TText\\n- Nombre: `Texto 2/3`\\n- `cText`: `\\\"Vto2: \\\"+Transform(OMEM_RUPTURA.fvto2,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto2,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr2`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `14`\\n- `nTop`: `277.733`\\n- `nWidth`: `54`\\n- `nHeight`: `4.233`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto2<>0)`\\n\\n## `ll12_0043_part_03` — TText\\n- Nombre: `Texto 3/3`\\n- `cText`: `\\\"Vto3: \\\"+Transform(OMEM_RUPTURA.fvto3,\\\"99/99/99\\\")+Transform(OMEM_RUPTURA.ptsvto3,OMEM_PICTURES.ctldocvto)+\\\"€ - \\\"+ OMEM_RUPTURA.tipocobr3`\\n- `nFontSize`: `8`\\n- `lFontBold`: true\\n- `lAllowPageBreak`: true\\n- `nParagraphSpacing`: `5`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `14`\\n- `nTop`: `281.966`\\n- `nWidth`: `54`\\n- `nHeight`: `4.234`\\n- `cCondition`: `(OMEMQUERY.fpagofactura==\\\"3\\\") .AND. (OMEM_RUPTURA.ptsvto3<>0)`\\n\\n## `ll12_0139` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Bases\\\"`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `8`\\n- `lFontUnderline`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `7.4`\\n- `nTop`: `218.2`\\n- `nWidth`: `31`\\n- `nHeight`: `4`\\n- `cCondition`: `(OMEMQUERY.base1<>0 .AND. OMEMQUERY.iva1<>0) .OR. (OMEMQUERY.base2<>0 .AND. OMEMQUERY.iva2<>0) .OR. (OMEMQUERY.base3<>0 .AND. OMEMQUERY.iva3<>0)`\\n\\n## `ll12_0141` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.Base1==0,\\\"\\\",Transform(OMEMQUERY.Base1,OMEM_PICTURES.cTLdocvto))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `7.7`\\n- `nTop`: `222.8`\\n- `nWidth`: `31`\\n- `nHeight`: `4.4`\\n- `cCondition`: `OMEMQUERY.base1<>0 .AND. OMEMQUERY.iva1<>0`\\n\\n## `ll12_0143` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.Base2==0,\\\"\\\",Transform(OMEMQUERY.Base2,OMEM_PICTURES.cTLdocvto))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `7.7`\\n- `nTop`: `227.7`\\n- `nWidth`: `31`\\n- `nHeight`: `4.4`\\n- `cCondition`: `OMEMQUERY.base2<>0 .AND. OMEMQUERY.iva2<>0`\\n\\n## `ll12_0145` — TText\\n- Nombre: `Texto`\\n- `cText`: `IF(OMEMQUERY.Base3==0,\\\"\\\",Transform(OMEMQUERY.Base3,OMEM_PICTURES.cTLdocvto))`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `9`\\n- `lFontBold`: true\\n- `lTextWrap`: false\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `7.7`\\n- `nTop`: `232.2`\\n- `nWidth`: `31`\\n- `nHeight`: `4.4`\\n- `cCondition`: `OMEMQUERY.base3<>0 .AND. OMEMQUERY.iva3<>0`\\n\\n## `ll12_0005` — TTable\\n- Nombre: `Tabla`\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `9`\\n- `nTop`: `69`\\n- `nWidth`: `190`\\n- `nHeight`: `139`\\n- `hGroup`: `{\\\"cBreakExpression\\\":\\\"\\\",\\\"aBreakExpressions\\\":[],\\\"lSkipEmptyValues\\\":false}`\\n- `cPageBreakCondition`: `Previous(OMEMQUERY.tipodoc)+Previous(OMEMQUERY.seriefac)+Str(Previous(OMEMQUERY.numfac),6)<>OMEMQUERY.tipodoc+OMEMQUERY.seriefac+Str(OMEMQUERY.numfac,6)`\\n- `lFixedSeparators`: true\\n\\n### Header\\n#### Línea 0 — Definición de línea  1\\n- `Línea.nHeight`: `5.233`\\n- `Línea.lIgnoreEmpty`: true\\n- `Línea.hBackground.cColor`: `transparent`\\n- `Línea.hBackground.cColorFormula`: ``\\n- `Línea.hBorder.lTop`: false\\n- `Línea.hBorder.lLeft`: false\\n- `Línea.hBorder.lRight`: false\\n- `Línea.hBorder.lVerticalSeparators`: false\\n- `Línea.hBorder.cColor`: `#000000`\\n- `Línea.hBorder.cColorFormula`: ``\\n- `Línea.hBorder.nWidth`: `0.5`\\n\\n| Celda | ID objeto | Tipo | Propiedades del objeto |\\n|---:|---|---|---|\\n| 0 | `cell_1b6470792c` | TText | Nombre=Texto celda LL12; `cText`=\\\"Referencia\\\"; `cTextColor`=#ffffff; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=0; `nTop`=0; `nWidth`=19; `nHeight`=5.233 |\\n| 1 | `cell_a44bf15796` | TText | Nombre=Texto celda LL12; `cText`=\\\"Descripción\\\"; `cTextColor`=#ffffff; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=19; `nTop`=0; `nWidth`=88; `nHeight`=5.233 |\\n| 2 | `cell_a4b5b8de0e` | TText | Nombre=Texto celda LL12; `cText`=\\\"Cantidad\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=107; `nTop`=0; `nWidth`=17; `nHeight`=5.233 |\\n| 3 | `cell_bc72e55eb5` | TText | Nombre=Texto celda LL12; `cText`=\\\"Precio\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=124; `nTop`=0; `nWidth`=15; `nHeight`=5.233 |\\n| 4 | `cell_e76c5fa511` | TText | Nombre=Texto celda LL12; `cText`=\\\"%Dto.\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=139; `nTop`=0; `nWidth`=11; `nHeight`=5.233 |\\n| 5 | `cell_701e400f74` | TText | Nombre=Texto celda LL12; `cText`=\\\"%IVA\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=150; `nTop`=0; `nWidth`=11; `nHeight`=5.233 |\\n| 6 | `cell_4a7624e0a0` | TText | Nombre=Texto celda LL12; `cText`=\\\"Total Línea\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=161; `nTop`=0; `nWidth`=29; `nHeight`=5.233 |\\n\\n### GroupHeader\\n\\n### Detail\\n#### Línea 0 — Definición de línea  1\\n- `Línea.nHeight`: `3.963`\\n- `Línea.lKeepTogether`: false\\n- `Línea.lIgnoreEmpty`: true\\n- `Línea.hZebraPattern.lEnabled`: false\\n- `Línea.hZebraPattern.nPattern`: `6`\\n- `Línea.hZebraPattern.cColor1`: `#000000`\\n- `Línea.hZebraPattern.cColor2`: `#ffffff`\\n- `Línea.hZebraPattern.nColor1Opacity`: `0.5`\\n- `Línea.hZebraPattern.nColor2Opacity`: `1`\\n- `Línea.hBackground.cColor`: `transparent`\\n- `Línea.hBackground.cColorFormula`: ``\\n- `Línea.hBorder.lTop`: false\\n- `Línea.hBorder.lBottom`: false\\n- `Línea.hBorder.cColor`: `#000000`\\n- `Línea.hBorder.cColorFormula`: ``\\n- `Línea.hBorder.nWidth`: `0.1`\\n\\n| Celda | ID objeto | Tipo | Propiedades del objeto |\\n|---:|---|---|---|\\n| 0 | `cell_d69c1a27dc` | TText | Nombre=Texto celda LL12; `cText`=OMEMQUERY.codart; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=0; `nTop`=0; `nWidth`=19; `nHeight`=3.963 |\\n| 1 | `cell_c257202295` | TText | Nombre=Texto celda LL12; `cText`=OMEMQUERY.concepto; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=19; `nTop`=0; `nWidth`=88; `nHeight`=3.963 |\\n| 2 | `cell_a0a7a38ff3` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.cantidad==0,\\\"\\\",Transform(OMEMQUERY.cantidad,OMEM_PICTURES.cVLcantidad)); `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=107; `nTop`=0; `nWidth`=17; `nHeight`=3.963 |\\n| 3 | `cell_23a2d2c19f` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.precio==0,\\\"\\\",Transform(OMEMQUERY.precio,OMEM_PICTURES.cVLprecio)); `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=124; `nTop`=0; `nWidth`=15; `nHeight`=3.963 |\\n| 4 | `cell_44dbecf62b` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.dto==0,\\\"\\\",Transform(OMEMQUERY.dto,\\\"@E 9,999.9\\\")); `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=139; `nTop`=0; `nWidth`=11; `nHeight`=3.963 |\\n| 5 | `cell_cfa2f86d30` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.iva==0,\\\"\\\",Transform(OMEMQUERY.iva,\\\"@E 9,999.9\\\")); `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=150; `nTop`=0; `nWidth`=11; `nHeight`=3.963 |\\n| 6 | `cell_fa08de46ab` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.tlinea==0,\\\"\\\",Transform(OMEMQUERY.tlinea,OMEM_PICTURES.cVLtlinea)); `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=161; `nTop`=0; `nWidth`=29; `nHeight`=3.963 |\\n#### Línea 1 — LineaLOTE\\n- `Línea.nHeight`: `3.54`\\n- `Línea.cConditionFormula`: `IF(OMEMQUERY.numlotei==\\\"\\\",.F.,.T.)`\\n- `Línea.lKeepTogether`: false\\n- `Línea.lIgnoreEmpty`: true\\n- `Línea.hZebraPattern.lEnabled`: false\\n- `Línea.hZebraPattern.nPattern`: `6`\\n- `Línea.hZebraPattern.cColor1`: `#000000`\\n- `Línea.hZebraPattern.cColor2`: `#ffffff`\\n- `Línea.hZebraPattern.nColor1Opacity`: `0.5`\\n- `Línea.hZebraPattern.nColor2Opacity`: `1`\\n- `Línea.hBackground.cColor`: `transparent`\\n- `Línea.hBackground.cColorFormula`: ``\\n- `Línea.hBorder.lTop`: false\\n- `Línea.hBorder.lBottom`: false\\n- `Línea.hBorder.cColor`: `#000000`\\n- `Línea.hBorder.cColorFormula`: ``\\n- `Línea.hBorder.nWidth`: `0.1`\\n\\n| Celda | ID objeto | Tipo | Propiedades del objeto |\\n|---:|---|---|---|\\n| 0 | `cell_e439cb9cb5` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=0; `nTop`=0; `nWidth`=19; `nHeight`=3.54 |\\n| 1 | `cell_68663b996b` | TText | Nombre=Texto celda LL12; `cText`=\\\" LOTE: \\\"+OMEMQUERY.numlotei +\\\" CADUCIDAD \\\"+Transform(OMEMQUERY.fcaduca,\\\"99/99/99\\\"); `nFontSize`=6; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=19; `nTop`=0; `nWidth`=88; `nHeight`=3.54 |\\n| 2 | `cell_522a753970` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=107; `nTop`=0; `nWidth`=17; `nHeight`=3.54 |\\n| 3 | `cell_4a4481863e` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=124; `nTop`=0; `nWidth`=15; `nHeight`=3.54 |\\n| 4 | `cell_b73dbfb5d4` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=139; `nTop`=0; `nWidth`=11; `nHeight`=3.54 |\\n| 5 | `cell_e08f4dc918` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=150; `nTop`=0; `nWidth`=11; `nHeight`=3.54 |\\n| 6 | `cell_45d2aececa` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextAlign`=right; `nFontSize`=7; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=161; `nTop`=0; `nWidth`=29; `nHeight`=3.54 |\\n\\n### GroupFooter\\n\\n### Footer\\n#### Línea 0 — CabeceraPie\\n- `Línea.nHeight`: `5.233`\\n- `Línea.lIgnoreEmpty`: true\\n- `Línea.hBackground.cColor`: `transparent`\\n- `Línea.hBackground.cColorFormula`: ``\\n- `Línea.hBorder.lVerticalSeparators`: false\\n- `Línea.hBorder.cColor`: `#000000`\\n- `Línea.hBorder.cColorFormula`: ``\\n- `Línea.hBorder.nWidth`: `0.1`\\n\\n| Celda | ID objeto | Tipo | Propiedades del objeto |\\n|---:|---|---|---|\\n| 0 | `cell_a225ea8010` | TText | Nombre=Texto celda LL12; `cText`=\\\" \\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=0; `nTop`=0; `nWidth`=7; `nHeight`=5.233 |\\n| 1 | `cell_844995358d` | TText | Nombre=Texto celda LL12; `cText`=\\\"Base Imponible\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=7; `nTop`=0; `nWidth`=30; `nHeight`=5.233 |\\n| 2 | `cell_ce8a2082e4` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.ttdtos==0,\\\"\\\",\\\"Importe Dtos\\\"); `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=37; `nTop`=0; `nWidth`=30; `nHeight`=5.233 |\\n| 3 | `cell_42e6cd956d` | TText | Nombre=Texto celda LL12; `cText`=\\\"Neto Factura\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=67; `nTop`=0; `nWidth`=40; `nHeight`=5.233 |\\n| 4 | `cell_7b18bf1344` | TText | Nombre=Texto celda LL12; `cText`=\\\"Importe IVA\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=107; `nTop`=0; `nWidth`=27; `nHeight`=5.233 |\\n| 5 | `cell_0fbddfadfd` | TText | Nombre=Texto celda LL12; `cText`=\\\"Importe Rec.\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=134; `nTop`=0; `nWidth`=26; `nHeight`=5.233 |\\n| 6 | `cell_3284eeb5d2` | TText | Nombre=Texto celda LL12; `cText`=\\\"Total Factura\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=160; `nTop`=0; `nWidth`=30; `nHeight`=5.233 |\\n#### Línea 1 — ValoresPie\\n- `Línea.nHeight`: `5.233`\\n- `Línea.lIgnoreEmpty`: true\\n- `Línea.hBackground.cColor`: `transparent`\\n- `Línea.hBackground.cColorFormula`: ``\\n- `Línea.hBorder.cColor`: `#000000`\\n- `Línea.hBorder.cColorFormula`: ``\\n- `Línea.hBorder.nWidth`: `0.1`\\n\\n| Celda | ID objeto | Tipo | Propiedades del objeto |\\n|---:|---|---|---|\\n| 0 | `cell_28bcdb3b71` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `nFontSize`=8; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=0; `nTop`=0; `nWidth`=11; `nHeight`=5.233 |\\n| 1 | `cell_1572a8af4e` | TText | Nombre=Texto celda LL12; `cText`=Transform(OMEMQUERY.impbruto,OMEM_PICTURES.cTLdocvto); `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=11; `nTop`=0; `nWidth`=26; `nHeight`=5.233 |\\n| 2 | `cell_1274463f6b` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.ttdtos<>0,Transform(OMEMQUERY.ttdtos,OMEM_PICTURES.cTLdocvto),\\\"\\\"); `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=37; `nTop`=0; `nWidth`=30; `nHeight`=5.233 |\\n| 3 | `cell_bffa532818` | TText | Nombre=Texto celda LL12; `cText`=Transform(OMEMQUERY.netofcli,OMEM_PICTURES.cTLdocvto); `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=67; `nTop`=0; `nWidth`=40; `nHeight`=5.233 |\\n| 4 | `cell_b068faa67f` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.tptsiva<>0,Transform(OMEMQUERY.tptsiva,OMEM_PICTURES.cTLdocvto),\\\"\\\"); `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=107; `nTop`=0; `nWidth`=27; `nHeight`=5.233 |\\n| 5 | `cell_65152d4992` | TText | Nombre=Texto celda LL12; `cText`=IF(OMEMQUERY.tptsre<>0,Transform(OMEMQUERY.tptsre,OMEM_PICTURES.cTLdocvto),\\\"\\\"); `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=transparent; `nLeft`=134; `nTop`=0; `nWidth`=26; `nHeight`=5.233 |\\n| 6 | `cell_1ee7efdc9f` | TText | Nombre=Texto celda LL12; `cText`=Transform(OMEMQUERY.tfaccl,OMEM_PICTURES.cTLdocvto); `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#c0c0c0; `nLeft`=160; `nTop`=0; `nWidth`=30; `nHeight`=5.233 |\\n#### Línea 2 — PieSumaSigue\\n- `Línea.nHeight`: `5.233`\\n- `Línea.cConditionFormula`: `.f.`\\n- `Línea.lIgnoreEmpty`: true\\n- `Línea.hBackground.cColor`: `transparent`\\n- `Línea.hBackground.cColorFormula`: ``\\n- `Línea.hBorder.lVerticalSeparators`: false\\n- `Línea.hBorder.cColor`: `#000000`\\n- `Línea.hBorder.cColorFormula`: ``\\n- `Línea.hBorder.nWidth`: `0.1`\\n\\n| Celda | ID objeto | Tipo | Propiedades del objeto |\\n|---:|---|---|---|\\n| 0 | `cell_c0432bb32c` | TText | Nombre=Texto celda LL12; `cText`=\\\" \\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=0; `nTop`=0; `nWidth`=7; `nHeight`=5.233 |\\n| 1 | `cell_165b14032c` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=7; `nTop`=0; `nWidth`=30; `nHeight`=5.233 |\\n| 2 | `cell_3a7e64258e` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=37; `nTop`=0; `nWidth`=30; `nHeight`=5.233 |\\n| 3 | `cell_a9fd9355e7` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=67; `nTop`=0; `nWidth`=40; `nHeight`=5.233 |\\n| 4 | `cell_72504c9b6b` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=107; `nTop`=0; `nWidth`=27; `nHeight`=5.233 |\\n| 5 | `cell_907316ca1d` | TText | Nombre=Texto celda LL12; `cText`=\\\"\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=9; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=134; `nTop`=0; `nWidth`=16; `nHeight`=5.233 |\\n| 6 | `cell_5b05a07116` | TText | Nombre=Texto celda LL12; `cText`=\\\"Suma y Sigue...\\\"; `cTextColor`=#ffffff; `cTextAlign`=right; `nFontSize`=10; `lFontBold`=1; `lTextWrap`=; `cBackgroundColor`=#000000; `nLeft`=150; `nTop`=0; `nWidth`=40; `nHeight`=5.233 |\\n\\n## `ll12_0003` — TText\\n- Nombre: `Texto`\\n- `cText`: `\\\"Hoja Nº:\\\"+Transform(Page(),\\\"@E 9999\\\")+\\\" de \\\"+TotalPages()`\\n- `cTextAlign`: `right`\\n- `nFontSize`: `10`\\n- `lAllowPageBreak`: true\\n- `cBackgroundColor`: `transparent`\\n- `nLeft`: `137.5`\\n- `nTop`: `7.5`\\n- `nWidth`: `65.5`\\n- `nHeight`: `5`\\n\\nFIN_DOCUMENTO_MARKDOWN_SEMANTICO\\n\\nINSTRUCCION_USUARIO\\nPon el logotipo a la mitad de su tamaño\\nFIN_INSTRUCCION_USUARIO\\n\\nVERIFICACION_FINAL\\nLa jerarquía Markdown expresa el propietario y el ámbito. Conserva los IDs reales y usa paths relativos al objeto identificado. No inventes propiedades, campos, tipos, relaciones ni resultados de fórmulas. Si la capacidad no existe o falta un campo, devuelve las cuatro listas vacías. Devuelve solo {\\\"create\\\":[],\\\"changes\\\":[],\\\"delete\\\":[],\\\"structure\\\":[]} con las cuatro claves y sin explicaciones.\\nFIN_VERIFICACION_FINAL\\n\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "http_status": 200,
        "body_raw": "{\"model\":\"\",\"created_at\":\"0001-01-01T00:00:00Z\",\"message\":{\"role\":\"\",\"content\":\"\"},\"done\":false}",
        "message_content": "",
        "message_thinking": null,
        "done": false,
        "done_reason": null,
        "total_duration": null,
        "prompt_eval_count": null,
        "eval_count": null
    },
    "direct_exact": {
        "curl_exec": true,
        "curl_errno": 0,
        "curl_error": "",
        "body_length": 96,
        "body_first_hex": "7b226d6f64656c223a22222c22637265617465645f6174223a22303030312d30312d30315430303a30303a30305a222c226d657373616765223a7b22726f6c65223a22222c22636f6e74656e74223a22227d2c22646f6e65223a66616c73657d",
        "body_last_hex": "7b226d6f64656c223a22222c22637265617465645f6174223a22303030312d30312d30315430303a30303a30305a222c226d657373616765223a7b22726f6c65223a22222c22636f6e74656e74223a22227d2c22646f6e65223a66616c73657d",
        "body_text": "{\"model\":\"\",\"created_at\":\"0001-01-01T00:00:00Z\",\"message\":{\"role\":\"\",\"content\":\"\"},\"done\":false}",
        "headers_raw": "HTTP/1.1 200 OK\r\nContent-Type: application/json; charset=utf-8\r\nDate: Fri, 07 Aug 2026 08:59:16 GMT\r\nContent-Length: 96\r\n\r\n",
        "curl_getinfo": {
            "url": "http://192.168.10.160:11434/api/chat",
            "content_type": "application/json; charset=utf-8",
            "http_code": 200,
            "header_size": 123,
            "request_size": 136,
            "filetime": -1,
            "ssl_verify_result": 0,
            "redirect_count": 0,
            "total_time": 1.627528,
            "namelookup_time": 3.0e-5,
            "connect_time": 0.006773,
            "pretransfer_time": 0.006922,
            "size_upload": 98559,
            "size_download": 96,
            "speed_download": 59,
            "speed_upload": 60577,
            "download_content_length": 96,
            "upload_content_length": 98559,
            "starttransfer_time": 0.006927,
            "redirect_time": 0,
            "redirect_url": "",
            "primary_ip": "192.168.10.160",
            "certinfo": [],
            "primary_port": 11434,
            "local_ip": "192.168.10.218",
            "local_port": 53730,
            "http_version": 2,
            "protocol": 1,
            "ssl_verifyresult": 0,
            "scheme": "HTTP",
            "appconnect_time_us": 0,
            "connect_time_us": 6773,
            "namelookup_time_us": 30,
            "pretransfer_time_us": 6922,
            "redirect_time_us": 0,
            "starttransfer_time_us": 6927,
            "total_time_us": 1627528
        }
    },
    "minimal_request": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"user\",\"content\":\"Responde solo OK\"}],\"stream\":false}",
    "direct_minimal": {
        "curl_exec": false,
        "curl_errno": 28,
        "curl_error": "Operation timed out after 60001 milliseconds with 0 bytes received",
        "body_length": 0,
        "body_first_hex": "",
        "body_last_hex": "",
        "body_text": "",
        "headers_raw": "",
        "curl_getinfo": {
            "url": "http://192.168.10.160:11434/api/chat",
            "content_type": null,
            "http_code": 0,
            "header_size": 0,
            "request_size": 229,
            "filetime": -1,
            "ssl_verify_result": 0,
            "redirect_count": 0,
            "total_time": 60.001224,
            "namelookup_time": 2.2e-5,
            "connect_time": 0.000381,
            "pretransfer_time": 0.000491,
            "size_upload": 96,
            "size_download": 0,
            "speed_download": 0,
            "speed_upload": 1,
            "download_content_length": -1,
            "upload_content_length": 96,
            "starttransfer_time": 0,
            "redirect_time": 0,
            "redirect_url": "",
            "primary_ip": "192.168.10.160",
            "certinfo": [],
            "primary_port": 11434,
            "local_ip": "192.168.10.218",
            "local_port": 53739,
            "http_version": 0,
            "protocol": 1,
            "ssl_verifyresult": 0,
            "scheme": "HTTP",
            "appconnect_time_us": 0,
            "connect_time_us": 381,
            "namelookup_time_us": 22,
            "pretransfer_time_us": 491,
            "redirect_time_us": 0,
            "starttransfer_time_us": 0,
            "total_time_us": 60001224
        }
    }
}