{
  "id": "complex-b",
  "instruction": "Crea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.",
  "model": "gpt-oss:20b",
  "think": "low",
  "initialCommands": {
    "commands": [
      {
        "command": "create",
        "ref": "tabla1",
        "type": "TTable"
      },
      {
        "command": "tableInsertLine",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "columnIndex": 1
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "columnIndex": 2
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "columnIndex": 3
      },
      {
        "command": "tableInsertLine",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "columnIndex": 1
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "columnIndex": 2
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "columnIndex": 3
      },
      {
        "command": "tableInsertLine",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 0
        },
        "properties": {
          "cText": "\"Codigo\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 1
        },
        "properties": {
          "cText": "\"Descripcion\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 2
        },
        "properties": {
          "cText": "\"Cantidad\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 3
        },
        "properties": {
          "cText": "\"Precio\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 4
        },
        "properties": {
          "cText": "\"Importe\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 0
        },
        "properties": {
          "cText": "DETAIL.codigo"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 1
        },
        "properties": {
          "cText": "DETAIL.descripcion"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 2
        },
        "properties": {
          "cText": "DETAIL.cantidad"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 3
        },
        "properties": {
          "cText": "DETAIL.precio"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 4
        },
        "properties": {
          "cText": "DETAIL.importe"
        }
      },
      {
        "command": "tableSetLineBackground",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "color": "#17365D"
      },
      {
        "command": "tableSetLineBorderColor",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "color": "#17365D"
      },
      {
        "command": "tableSetLineZebraEnabled",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "enabled": true
      },
      {
        "command": "tableSetLineZebraColor",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "role": "odd",
        "color": "#FFFFFF"
      },
      {
        "command": "tableSetLineZebraColor",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "role": "even",
        "color": "#F3F5F7"
      },
      {
        "command": "tableSetLineBackground",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0,
        "color": "#D9EAF7"
      }
    ]
  },
  "initialValid": false,
  "initialDiagnostic": {
    "commandIndex": 14,
    "command": "create",
    "error": "La celda indicada en create.targetCell no existe.",
    "tableRef": "tabla1",
    "tableId": "obj_1786364564327_9j0sd2",
    "section": "header",
    "lineIndex": 0,
    "cellIndex": 4,
    "availableCells": 4
  },
  "repaired": true,
  "repairedCommands": {
    "commands": [
      {
        "command": "create",
        "ref": "tabla1",
        "type": "TTable"
      },
      {
        "command": "tableInsertLine",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "columnIndex": 1
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "columnIndex": 2
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "columnIndex": 3
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "columnIndex": 4
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 0
        },
        "properties": {
          "cText": "\"Codigo\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 1
        },
        "properties": {
          "cText": "\"Descripcion\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 2
        },
        "properties": {
          "cText": "\"Cantidad\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 3
        },
        "properties": {
          "cText": "\"Precio\""
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 4
        },
        "properties": {
          "cText": "\"Importe\""
        }
      },
      {
        "command": "tableInsertLine",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "columnIndex": 1
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "columnIndex": 2
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "columnIndex": 3
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 0
        },
        "properties": {
          "cText": "DETAIL.codigo"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 1
        },
        "properties": {
          "cText": "DETAIL.descripcion"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 2
        },
        "properties": {
          "cText": "DETAIL.cantidad"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 3
        },
        "properties": {
          "cText": "DETAIL.precio"
        }
      },
      {
        "command": "create",
        "type": "TText",
        "targetCell": {
          "table": {
            "ref": "tabla1"
          },
          "section": "detail",
          "lineIndex": 0,
          "cellIndex": 4
        },
        "properties": {
          "cText": "DETAIL.importe"
        }
      },
      {
        "command": "tableInsertLine",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0,
        "columnIndex": 1
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0,
        "columnIndex": 2
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0,
        "columnIndex": 3
      },
      {
        "command": "tableInsertColumn",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0,
        "columnIndex": 4
      },
      {
        "command": "tableSetLineBackground",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "color": "#17365D"
      },
      {
        "command": "tableSetLineBorderColor",
        "target": {
          "ref": "tabla1"
        },
        "section": "header",
        "lineIndex": 0,
        "color": "#17365D"
      },
      {
        "command": "tableSetLineZebraEnabled",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "enabled": true
      },
      {
        "command": "tableSetLineZebraColor",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "role": "odd",
        "color": "#FFFFFF"
      },
      {
        "command": "tableSetLineZebraColor",
        "target": {
          "ref": "tabla1"
        },
        "section": "detail",
        "lineIndex": 0,
        "role": "even",
        "color": "#F3F5F7"
      },
      {
        "command": "tableSetLineBackground",
        "target": {
          "ref": "tabla1"
        },
        "section": "footer",
        "lineIndex": 0,
        "color": "#D9EAF7"
      }
    ]
  },
  "repairedValid": false,
  "repairedDiagnostic": {
    "commandIndex": 19,
    "command": "create",
    "error": "La celda indicada en create.targetCell no existe.",
    "tableRef": "tabla1",
    "tableId": "obj_1786364584811_mi0uh7",
    "section": "detail",
    "lineIndex": 0,
    "cellIndex": 4,
    "availableCells": 4
  },
  "applied": false,
  "llmCalls": 2,
  "timings": {
    "nInitialInferenceMilliseconds": 15804.334,
    "nInitialDryRunMilliseconds": 30.69999998807907,
    "nRepairInferenceMilliseconds": 20453.900000035763,
    "nRepairDryRunMilliseconds": 15.699999988079071,
    "nApplicationMilliseconds": 0,
    "nTotalMilliseconds": 36339.60000002384
  },
  "visibleMilliseconds": 37509,
  "undoEntries": 0,
  "undo": false,
  "redo": false,
  "redoMatches": false,
  "rollbackMatchesInitial": true,
  "inspection": {
    "rootObjects": [],
    "texts": [],
    "tables": [],
    "usedFields": [
      "DETAIL.importe"
    ],
    "inventedFields": []
  },
  "feedback": "No se aplicó ningún cambio",
  "error": "Instrucción:\nCrea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.\n\nCommands:\n{\"commands\":[{\"command\":\"create\",\"ref\":\"tabla1\",\"type\":\"TTable\"},{\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":1},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":2},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":3},{\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":1},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":2},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":3},{\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":0},\"properties\":{\"cText\":\"\\\"Codigo\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":1},\"properties\":{\"cText\":\"\\\"Descripcion\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":2},\"properties\":{\"cText\":\"\\\"Cantidad\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":3},\"properties\":{\"cText\":\"\\\"Precio\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":4},\"properties\":{\"cText\":\"\\\"Importe\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":0},\"properties\":{\"cText\":\"DETAIL.codigo\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":1},\"properties\":{\"cText\":\"DETAIL.descripcion\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":2},\"properties\":{\"cText\":\"DETAIL.cantidad\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":3},\"properties\":{\"cText\":\"DETAIL.precio\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":4},\"properties\":{\"cText\":\"DETAIL.importe\"}},{\"command\":\"tableSetLineBackground\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"color\":\"#17365D\"},{\"command\":\"tableSetLineBorderColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"color\":\"#17365D\"},{\"command\":\"tableSetLineZebraEnabled\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"enabled\":true},{\"command\":\"tableSetLineZebraColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"role\":\"odd\",\"color\":\"#FFFFFF\"},{\"command\":\"tableSetLineZebraColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"role\":\"even\",\"color\":\"#F3F5F7\"},{\"command\":\"tableSetLineBackground\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0,\"color\":\"#D9EAF7\"}]}\n\nError:\nLa celda indicada en create.targetCell no existe.",
  "console": [
    "error: [LL-Dominus IA] Error: La celda indicada en create.targetCell no existe.\n    at TDesignerIA.validateRepairAndExecuteCommands (http://127.0.0.1/LL-Dominus/public/IA/TDesignerIA.js?v=1786364199:403:19)\n    at async TDesignerIA.sendCommandsExperimental (http://127.0.0.1/LL-Dominus/public/IA/TDesignerIA.js?v=1786364199:312:32)"
  ],
  "trace": [
    {
      "action": "commandsExperimental",
      "milliseconds": 15825.300000011921,
      "payload": {
        "cAction": "commandsExperimental",
        "cModelKey": "gpt-oss-20b",
        "cInstruction": "Crea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.",
        "aSelectedObjects": [],
        "aPropertyMetadata": [
          {
            "property": "cText",
            "label": "Contenido",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFontFamily",
            "label": "Fuente",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nFontSize",
            "label": "Tamaño",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontBold",
            "label": "Negrita",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontItalic",
            "label": "Cursiva",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontUnderline",
            "label": "Subrayado",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontStrikeout",
            "label": "Tachado",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lTextWrap",
            "label": "Partir si no cabe",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lAllowPageBreak",
            "label": "Continuar entre páginas",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nLineSpacing",
            "label": "Interlineado adicional",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nParagraphSpacing",
            "label": "Espacio entre párrafos",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lKeepEmptyParagraphs",
            "label": "Conservar párrafos vacíos",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lTextAdjusted",
            "label": "Justificación forzada",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lTrimSpaces",
            "label": "Recortar espacios exteriores",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cTextColor",
            "label": "Color",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nTextOpacity",
            "label": "Opacidad texto",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cTextAlign",
            "label": "Alineación",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nTextDecimalPosition",
            "label": "Posición decimal",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cTextVerticalAlign",
            "label": "Alineación vertical",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Texto",
            "editor": "border-visibility",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Rectángulo",
            "editor": "text",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Rectángulo",
            "editor": "text",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Rectángulo",
            "editor": "select",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Rectángulo",
            "editor": "text",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Rectángulo",
            "editor": "checkbox",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Rectángulo",
            "editor": "checkbox",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Rectángulo",
            "editor": "select",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Rectángulo",
            "editor": "border-visibility",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Elipse",
            "editor": "text",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Elipse",
            "editor": "text",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Elipse",
            "editor": "select",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Elipse",
            "editor": "text",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Elipse",
            "editor": "checkbox",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Elipse",
            "editor": "checkbox",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Elipse",
            "editor": "select",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Elipse",
            "editor": "border-visibility",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Imagen",
            "editor": "checkbox",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Imagen",
            "editor": "checkbox",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cSource",
            "label": "Origen / contenido",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cSourceType",
            "label": "Tipo de origen",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "lKeepRatio",
            "label": "Mantener proporción",
            "group": "Imagen",
            "editor": "checkbox",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFit",
            "label": "Ajuste",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Imagen",
            "editor": "border-visibility",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Línea",
            "editor": "text",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Línea",
            "editor": "text",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Línea",
            "editor": "text",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Línea",
            "editor": "checkbox",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Línea",
            "editor": "checkbox",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cOrientation",
            "label": "Orientación",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cLineStyle",
            "label": "Estilo",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cContent",
            "label": "Contenido",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cBarcodeType",
            "label": "Tipo",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lShowText",
            "label": "Mostrar texto",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lTrimSpaces",
            "label": "Recortar espacios exteriores",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFontFamily",
            "label": "Fuente",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nFontSize",
            "label": "Tamaño",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontBold",
            "label": "Negrita",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontItalic",
            "label": "Cursiva",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontUnderline",
            "label": "Subrayado",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontStrikeout",
            "label": "Tachado",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cColor",
            "label": "Color",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Código de barras",
            "editor": "border-visibility",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cContent",
            "label": "Contenido",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cVerticalAlign",
            "label": "Alineación vertical",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cOverflow",
            "label": "Desbordamiento",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Texto enriquecido",
            "editor": "checkbox",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Texto enriquecido",
            "editor": "checkbox",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Texto enriquecido",
            "editor": "border-visibility",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cText",
            "label": "Contenido",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFontFamily",
            "label": "Fuente",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nFontSize",
            "label": "Tamaño",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontBold",
            "label": "Negrita",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontItalic",
            "label": "Cursiva",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontUnderline",
            "label": "Subrayado",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontStrikeout",
            "label": "Tachado",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lTextWrap",
            "label": "Partir si no cabe",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lAllowPageBreak",
            "label": "Continuar entre páginas",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nLineSpacing",
            "label": "Interlineado adicional",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nParagraphSpacing",
            "label": "Espacio entre párrafos",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lKeepEmptyParagraphs",
            "label": "Conservar párrafos vacíos",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lTextAdjusted",
            "label": "Justificación forzada",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lTrimSpaces",
            "label": "Recortar espacios exteriores",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cTextColor",
            "label": "Color",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nTextOpacity",
            "label": "Opacidad texto",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cTextAlign",
            "label": "Alineación",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nTextDecimalPosition",
            "label": "Posición decimal",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cTextVerticalAlign",
            "label": "Alineación vertical",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Texto formateado",
            "editor": "border-visibility",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Tabla",
            "editor": "text",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Tabla",
            "editor": "text",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Tabla",
            "editor": "select",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Tabla",
            "editor": "text",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Tabla",
            "editor": "checkbox",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Tabla",
            "editor": "checkbox",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cHeightMode",
            "label": "Modo de altura",
            "group": "Tabla",
            "editor": "select",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Tabla",
            "editor": "select",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Tabla",
            "editor": "border-visibility",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          }
        ],
        "aAvailableFields": [
          {
            "cName": "DETAIL.cantidad",
            "cType": "numerico",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.codigo",
            "cType": "texto",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.descripcion",
            "cType": "texto",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.importe",
            "cType": "numerico",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.precio",
            "cType": "numerico",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "HEADER.cif",
            "cType": "texto",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.cliente",
            "cType": "texto",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.direccion",
            "cType": "texto",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.fecha",
            "cType": "fecha",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.logo",
            "cType": "imagen",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.numero",
            "cType": "numerico",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.total",
            "cType": "numerico",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "SUM.TotalDetalle",
            "cType": "numerico",
            "cOrigin": "AcumVar",
            "cGroup": "SUM"
          },
          {
            "cName": "VAR.Moneda",
            "cType": "texto",
            "cOrigin": "UserVar",
            "cGroup": "VAR"
          },
          {
            "cName": "VAR.Titulo",
            "cType": "texto",
            "cOrigin": "UserVar",
            "cGroup": "VAR"
          }
        ],
        "hTemplate": {
          "cType": "TDocument",
          "cFormatVersion": "1.0",
          "cTemplateId": "",
          "cTemplateName": "Documento",
          "cDocumentKind": "report",
          "cPaperFormat": "a4",
          "cPaperOrientation": "portrait",
          "tModifiedAt": "2026-08-10T12:06:21.320Z",
          "cFileName": "",
          "nPaperWidth": 210,
          "nPaperHeight": 297,
          "cPaperHeightMode": "fixed",
          "nDesignHeight": 250,
          "nContinuousBottomMargin": 5,
          "lShowGrid": true,
          "hUserVars": {
            "Moneda": {
              "tipo": "texto",
              "formula": "\"EUR\""
            },
            "Titulo": {
              "tipo": "texto",
              "formula": "\"Factura\""
            }
          },
          "hAcumVars": {
            "TotalDetalle": {
              "tipo": "numerico",
              "formula": "DETAIL.importe"
            }
          },
          "hImportMetadata": {},
          "hLabelLayout": {
            "nLabelWidth": 70,
            "nLabelHeight": 37,
            "nColumns": 3,
            "nRows": 8,
            "nMarginLeft": 0,
            "nMarginTop": 0,
            "nGapHorizontal": 0,
            "nGapVertical": 0,
            "cFlow": "row",
            "cLabelFormat": "manual",
            "nPrintOffsetX": 0,
            "nPrintOffsetY": 0
          },
          "hLayers": {
            "0": {
              "nId": 0,
              "cName": "Capa 1",
              "cCondition": "",
              "lDesignerVisible": true,
              "cColor": "#000000"
            }
          },
          "aObjects": []
        }
      },
      "response": {
        "lOk": true,
        "hInspection": {
          "cInstruction": "Crea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.",
          "cProvider": "Ollama",
          "cModelSelection": "Ollama — GPT-OSS 20B",
          "cModel": "gpt-oss:20b",
          "cRepresentation": "COMMANDS",
          "cRawResponse": "{\"commands\":[\n  {\"command\":\"create\",\"ref\":\"tabla1\",\"type\":\"TTable\"},\n  {\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0},\n  {\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":1},\n  {\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":2},\n  {\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":3},\n  {\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0},\n  {\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":1},\n  {\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":2},\n  {\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":3},\n  {\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":0},\"properties\":{\"cText\":\"\\\"Codigo\\\"\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":1},\"properties\":{\"cText\":\"\\\"Descripcion\\\"\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":2},\"properties\":{\"cText\":\"\\\"Cantidad\\\"\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":3},\"properties\":{\"cText\":\"\\\"Precio\\\"\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":4},\"properties\":{\"cText\":\"\\\"Importe\\\"\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":0},\"properties\":{\"cText\":\"DETAIL.codigo\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":1},\"properties\":{\"cText\":\"DETAIL.descripcion\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":2},\"properties\":{\"cText\":\"DETAIL.cantidad\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":3},\"properties\":{\"cText\":\"DETAIL.precio\"}},\n  {\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":4},\"properties\":{\"cText\":\"DETAIL.importe\"}},\n  {\"command\":\"tableSetLineBackground\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"color\":\"#17365D\"},\n  {\"command\":\"tableSetLineBorderColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"color\":\"#17365D\"},\n  {\"command\":\"tableSetLineZebraEnabled\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"enabled\":true},\n  {\"command\":\"tableSetLineZebraColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"role\":\"odd\",\"color\":\"#FFFFFF\"},\n  {\"command\":\"tableSetLineZebraColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"role\":\"even\",\"color\":\"#F3F5F7\"},\n  {\"command\":\"tableSetLineBackground\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0,\"color\":\"#D9EAF7\"}\n]}",
          "cThinking": "Need create table with 5 columns each line. Header and detail lines only? Footer also one line. So need tableInsertLine for header, detail, footer. For each line insert 4 columns (since initial 1). Then create cells. For header titles: Codigo, Descripcion, Cantidad, Precio e Importe. For detail fields: DETAIL.codigo, DETAIL.descripcion, DETAIL.cantidad, DETAIL.precio, DETAIL.importe. Also set properties: tableSetColumnWidth? not needed. Need set background and border for header line: use tableSetLineBackground and tableSetLineBorderColor? Actually header line background color via tableSetLineBackground; border color via tableSetLineBorderColor. For detail zebra enabled: tableSetLineZebraEnabled with role? just enabled true. Colors white and #F3F5F7: need set zebra colors: tableSetLineZebraColor for odd and even. Footer background: tableSetLineBackground.\n\nAlso need header line border color same as background. So commands accordingly.\n\nReturn JSON array of commands.",
          "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucción y devuelve únicamente JSON válido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\" o {\\\"ids\\\":[\\\"id_real\\\"]},\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo → setProperty; desplazamiento relativo → move; tamaño relativo → resize; alineación de varios objetos → align; eliminar objetos → delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaño, devuelve únicamente resize y no uses setProperty para propiedades numéricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos válidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No inventes IDs ni calcules coordenadas o dimensiones finales. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos válidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos válidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa únicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los índices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milímetros >=1. tableSetLineBackground usa únicamente color HEX fijo; no usa fórmulas ni paths privados. Insertar columna usa columnIndex como posición antes de la columna existente; si coincide con el número actual de columnas, añade al final. Insertar línea usa lineIndex como posición antes de la línea existente; si coincide con el número actual de líneas, añade al final. No uses hSections, aLines ni aCells. Semántica de líneas OBLIGATORIA: si una sección tiene una sola línea, basta mencionar la sección y usa lineIndex 0. Si tiene varias líneas, una operación estructural debe indicar la línea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las líneas genera una operación por cada línea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una línea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de línea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucción menciona una línea, cabecera, detalle o pie, el color de borde de esa línea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en líneas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. REGLA DE SCOPE OBLIGATORIA: estos, ellos, los seleccionados y pronombres equivalentes -> target:\\\"selection\\\". Todos, todas, todo el documento, todos los objetos o todos los objetos de un tipo -> target:{\\\"ids\\\":[...]} usando todos los cId coincidentes de DOCUMENTO_COMPLETO_SCOPE=global, incluidos objetos anidados en TTable. Si la selección está vacía, una orden global debe usar siempre ids. Para una orden global no uses target:\\\"selection\\\" ni mezcles ambos targets. También se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe únicamente lo solicitado: incluye solo el tipo, contenido, posición y propiedades que la instrucción pida explícitamente; el diseñador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText,TTable. Properties solo editables, nunca cId, defaults, estructura interna ni geometría. position usa {\\\"x\\\":20,\\\"y\\\":30}. Para crear una tabla usa {\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"tabla1\\\",\\\"type\\\":\\\"TTable\\\"}; las primitives TTable posteriores pueden usar target:{\\\"ref\\\":\\\"tabla1\\\"}. Una TTable recién creada tiene las secciones vacías. Antes de insertar columnas o modificar una línea, crea esa línea con tableInsertLine. tableInsertLine crea siempre una línea válida con exactamente 1 columna inicial. SEMÁNTICA OBLIGATORIA DEL NÚMERO DE COLUMNAS: \\\"de N columnas\\\", \\\"con N columnas\\\" y \\\"que tenga N columnas\\\" expresan el TOTAL FINAL deseado; genera exactamente N menos las columnas actuales operaciones tableInsertColumn. Después de tableInsertLine ya hay 1 columna: para una línea de 4 columnas genera exactamente 3 tableInsertColumn y el total final es 4, nunca 4 inserciones. \\\"añade N columnas\\\", \\\"agrega N columnas\\\", \\\"inserta N columnas más\\\" y equivalentes explícitos expresan una CANTIDAD ADICIONAL; genera exactamente N tableInsertColumn. La fachada ejecuta literalmente esas inserciones y no corrige ni reinterpreta el número. Ejemplo total final 4: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"tabla1\\\",\\\"type\\\":\\\"TTable\\\"},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3}]}. No envíes hSections, aLines ni aCells en create. Para crear contenido real en una celda usa {\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"txt1\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Título\\\\\\\"\\\"}}; table admite \\\"selection\\\", {\\\"ids\\\":[\\\"id_real\\\"]} o {\\\"ref\\\":\\\"tabla1\\\"}. Tipos manuales admitidos en celda: TText,richText,TBarcode,TImage. Si la instrucción enumera contenidos o títulos, crea un objeto por cada literal en la celda correspondiente; no omitas esos contenidos. No uses position ni geometría para contenido de celda. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TTable=Tabla,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TTable:cBackgroundColor:string=Tabla / Color de fondo,cBorderColor:string=Tabla / Color,cCondition:string=Tabla / Condición de aparición,cFillColor2:string=Tabla / Color final,cFillColor3:string=Tabla / Color intermedio,cFillStyle:string=Tabla / Tipo de relleno,cHeightMode:string=Tabla / Modo de altura,cShadowColor:string=Tabla / Color,lLocked:boolean=Tabla / Bloqueado,lVisible:boolean=Tabla / Visible,nBorderWidth:number=Tabla / Grosor,nFillOpacity:number=Tabla / Opacidad del relleno,nLayerId:number=Tabla / Capa,nOpacity:number=Tabla / Opacidad,nRotation:number=Tabla / Rotación,nRounded:number=Tabla / Redondeo,nShadowSize:number=Tabla / Grosor,nShadowTransparency:number=Tabla / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia. CTEXT CANONICO: texto fijo=\\\"\\\\\\\\\\\"FACTURA\\\\\\\\\\\"\\\"; campo=REFERENCIA_EXACTA; texto+campo=\\\"\\\\\\\\\\\"Factura: \\\\\\\\\\\"+REFERENCIA_EXACTA\\\"; formula=\\\"Transform(REFERENCIA_EXACTA,\\\\\\\\\\\"99/99/9999\\\\\\\\\\\")\\\". Para contenido de celda usa el mismo TText y la misma semantica. Usa exclusivamente referencias exactas de CAMPOS_Y_VARIABLES_DISPONIBLES; no inventes campos. Si la instruccion pide un dato/campo y no existe una referencia compatible, no conviertas su descripcion en texto fijo: omite esa parte o devuelve {\\\"commands\\\":[]}. En TTable, para CADA seccion usada, el orden obligatorio es: tableInsertLine; N-1 tableInsertColumn para obtener N columnas; despues los create.targetCell. El contenido header exige linea header y el contenido detail exige linea detail; antes de cellIndex K deben existir al menos K+1 columnas en esa misma linea. Nunca uses create.targetCell sobre una linea o celda inexistente. Para una celda vacia de una TTable existente seleccionada usa exactamente {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":K},\\\"properties\\\":{\\\"cText\\\":\\\"REFERENCIA_EXACTA\\\"}}. Para una TTable existente identificada table puede ser {\\\"ids\\\":[\\\"id_real\\\"]}; nunca uses {\\\"cId\\\":\\\"...\\\"}. Para una tabla creada en ESTA respuesta, todas las estructuras y targetCell.table usan siempre {\\\"ref\\\":\\\"tabla1\\\"}, nunca \\\"selection\\\". Una lista de N nombres de columnas son N titulos fijos TText de header con cText=\\\"\\\\\\\\\\\"TITULO\\\\\\\\\\\"\\\"; si ademas se piden sus campos o campos disponibles, crea header Y detail, cada seccion con su tableInsertLine y exactamente N-1 inserciones, y despues N TText por seccion. Esquema minimo de dos secciones y dos columnas: create TTable ref tabla1; tableInsertLine header; tableInsertColumn header columnIndex 1; tableInsertLine detail; tableInsertColumn detail columnIndex 1; despues create.targetCell header 0 y 1, y detail 0 y 1, todos con table:{\\\"ref\\\":\\\"tabla1\\\"}. Alinear el contenido o texto a izquierda/centro/derecha usa setProperty con property:\\\"cTextAlign\\\" y value:\\\"left\\\"|\\\"center\\\"|\\\"right\\\"; align se reserva para alinear geometricamente varios objetos.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[]\\nDOCUMENTO_COMPLETO_SCOPE=global:\\n[]\\nGLOBAL_COUNTS:\\nGLOBAL_IDS_BY_TYPE:\\nPROPIEDADES COMUNES EDITABLES: \\nCOLORES CANÓNICOS: rojo:#ff0000 · verde:#008000 · verde oscuro:#006400 · azul:#0000ff · azul oscuro:#00008b · amarillo:#ffff00 · gris claro:#d3d3d3\\nCAMPOS_Y_VARIABLES_DISPONIBLES\\nTIPOS:C=texto,N=numero,D=fecha,I=imagen,M=memo,L=booleano\\nCABECERA:HEADER.cif:C,HEADER.cliente:C,HEADER.direccion:C,HEADER.fecha:D,HEADER.logo:I,HEADER.numero:N,HEADER.total:N\\nDETALLE:DETAIL.cantidad:N,DETAIL.codigo:C,DETAIL.descripcion:C,DETAIL.importe:N,DETAIL.precio:N\\nVARIABLES:VAR.Moneda:C,VAR.Titulo:C\\nACUMULADORES:SUM.TotalDetalle:N\\n\\nINSTRUCCIÓN:\\nCrea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.\"}],\"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\"}",
          "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T12:22:44.3217684Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[\\n  {\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"tabla1\\\",\\\"type\\\":\\\"TTable\\\"},\\n  {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0},\\n  {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},\\n  {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},\\n  {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3},\\n  {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0},\\n  {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},\\n  {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},\\n  {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3},\\n  {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Codigo\\\\\\\"\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":1},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Descripcion\\\\\\\"\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":2},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Cantidad\\\\\\\"\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":3},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Precio\\\\\\\"\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":4},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Importe\\\\\\\"\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.codigo\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":1},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.descripcion\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":2},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.cantidad\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":3},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.precio\\\"}},\\n  {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":4},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.importe\\\"}},\\n  {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#17365D\\\"},\\n  {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#17365D\\\"},\\n  {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true},\\n  {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#FFFFFF\\\"},\\n  {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"even\\\",\\\"color\\\":\\\"#F3F5F7\\\"},\\n  {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#D9EAF7\\\"}\\n]}\",\"thinking\":\"Need create table with 5 columns each line. Header and detail lines only? Footer also one line. So need tableInsertLine for header, detail, footer. For each line insert 4 columns (since initial 1). Then create cells. For header titles: Codigo, Descripcion, Cantidad, Precio e Importe. For detail fields: DETAIL.codigo, DETAIL.descripcion, DETAIL.cantidad, DETAIL.precio, DETAIL.importe. Also set properties: tableSetColumnWidth? not needed. Need set background and border for header line: use tableSetLineBackground and tableSetLineBorderColor? Actually header line background color via tableSetLineBackground; border color via tableSetLineBorderColor. For detail zebra enabled: tableSetLineZebraEnabled with role? just enabled true. Colors white and #F3F5F7: need set zebra colors: tableSetLineZebraColor for odd and even. Footer background: tableSetLineBackground.\\n\\nAlso need header line border color same as background. So commands accordingly.\\n\\nReturn JSON array of commands.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":15785169900,\"load_duration\":206749600,\"prompt_eval_count\":5795,\"prompt_eval_duration\":14534000,\"eval_count\":939,\"eval_duration\":12384425000}",
          "hMetrics": {
            "total_duration": 15785169900,
            "load_duration": 206749600,
            "prompt_eval_count": 5795,
            "prompt_eval_duration": 14534000,
            "eval_count": 939,
            "eval_duration": 12384425000,
            "unattributed_duration": 3179461300
          },
          "hCommands": {
            "commands": [
              {
                "command": "create",
                "ref": "tabla1",
                "type": "TTable"
              },
              {
                "command": "tableInsertLine",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "columnIndex": 1
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "columnIndex": 2
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "columnIndex": 3
              },
              {
                "command": "tableInsertLine",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "columnIndex": 1
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "columnIndex": 2
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "columnIndex": 3
              },
              {
                "command": "tableInsertLine",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 0
                },
                "properties": {
                  "cText": "\"Codigo\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 1
                },
                "properties": {
                  "cText": "\"Descripcion\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 2
                },
                "properties": {
                  "cText": "\"Cantidad\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 3
                },
                "properties": {
                  "cText": "\"Precio\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 4
                },
                "properties": {
                  "cText": "\"Importe\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 0
                },
                "properties": {
                  "cText": "DETAIL.codigo"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 1
                },
                "properties": {
                  "cText": "DETAIL.descripcion"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 2
                },
                "properties": {
                  "cText": "DETAIL.cantidad"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 3
                },
                "properties": {
                  "cText": "DETAIL.precio"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 4
                },
                "properties": {
                  "cText": "DETAIL.importe"
                }
              },
              {
                "command": "tableSetLineBackground",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "color": "#17365D"
              },
              {
                "command": "tableSetLineBorderColor",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "color": "#17365D"
              },
              {
                "command": "tableSetLineZebraEnabled",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "enabled": true
              },
              {
                "command": "tableSetLineZebraColor",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "role": "odd",
                "color": "#FFFFFF"
              },
              {
                "command": "tableSetLineZebraColor",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "role": "even",
                "color": "#F3F5F7"
              },
              {
                "command": "tableSetLineBackground",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0,
                "color": "#D9EAF7"
              }
            ]
          },
          "lValid": true,
          "nCreates": 0,
          "nChanges": 0,
          "nDeletes": 0,
          "nStructures": 0,
          "nGeneratedIds": 0,
          "nOperations": 26,
          "nFinalOperations": 26,
          "cValidation": "Shape commands válida; validación de ejecución pendiente",
          "nResponseMilliseconds": 15804.334,
          "tRequestStartedAt": "2026-08-10T14:22:28.519317+02:00",
          "tResponseFinishedAt": "2026-08-10T14:22:44.323670+02:00",
          "hPromptDiagnostics": {
            "nSystemCharacters": 21478,
            "nUserCharacters": 1026,
            "nPromptCharacters": 22505,
            "nPromptCharactersBeforeFields": 20032,
            "nFieldsCharacters": 370,
            "nPromptTokensBeforeEstimated": 5008,
            "nPromptTokensAfterEstimated": 5627,
            "nContextTokens": 65536,
            "lPromptFitsContext": true,
            "hFields": {
              "nGroups": 4,
              "nFields": 12,
              "nUserVariables": 2,
              "nAccumulators": 1
            }
          }
        }
      }
    },
    {
      "action": "commandsRepairExperimental",
      "milliseconds": 20453.600000023842,
      "payload": {
        "cAction": "commandsRepairExperimental",
        "cModelKey": "gpt-oss-20b",
        "cInstruction": "Crea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.",
        "aSelectedObjects": [],
        "aPropertyMetadata": [
          {
            "property": "cText",
            "label": "Contenido",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFontFamily",
            "label": "Fuente",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nFontSize",
            "label": "Tamaño",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontBold",
            "label": "Negrita",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontItalic",
            "label": "Cursiva",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontUnderline",
            "label": "Subrayado",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lFontStrikeout",
            "label": "Tachado",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lTextWrap",
            "label": "Partir si no cabe",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lAllowPageBreak",
            "label": "Continuar entre páginas",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nLineSpacing",
            "label": "Interlineado adicional",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nParagraphSpacing",
            "label": "Espacio entre párrafos",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lKeepEmptyParagraphs",
            "label": "Conservar párrafos vacíos",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lTextAdjusted",
            "label": "Justificación forzada",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lTrimSpaces",
            "label": "Recortar espacios exteriores",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cTextColor",
            "label": "Color",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nTextOpacity",
            "label": "Opacidad texto",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cTextAlign",
            "label": "Alineación",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nTextDecimalPosition",
            "label": "Posición decimal",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cTextVerticalAlign",
            "label": "Alineación vertical",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Texto",
            "editor": "text",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Texto",
            "editor": "checkbox",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Texto",
            "editor": "select",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Texto",
            "editor": "border-visibility",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Texto",
            "editor": "number",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Texto",
            "editor": "color",
            "type": "TText",
            "typeLabel": "Texto"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Rectángulo",
            "editor": "text",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Rectángulo",
            "editor": "text",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Rectángulo",
            "editor": "select",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Rectángulo",
            "editor": "text",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Rectángulo",
            "editor": "checkbox",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Rectángulo",
            "editor": "checkbox",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Rectángulo",
            "editor": "select",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Rectángulo",
            "editor": "border-visibility",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Rectángulo",
            "editor": "number",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Rectángulo",
            "editor": "color",
            "type": "TRectangle",
            "typeLabel": "Rectángulo"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Elipse",
            "editor": "text",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Elipse",
            "editor": "text",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Elipse",
            "editor": "select",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Elipse",
            "editor": "text",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Elipse",
            "editor": "checkbox",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Elipse",
            "editor": "checkbox",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Elipse",
            "editor": "select",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Elipse",
            "editor": "border-visibility",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Elipse",
            "editor": "number",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Elipse",
            "editor": "color",
            "type": "TEllipse",
            "typeLabel": "Elipse"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Imagen",
            "editor": "checkbox",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Imagen",
            "editor": "checkbox",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cSource",
            "label": "Origen / contenido",
            "group": "Imagen",
            "editor": "text",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cSourceType",
            "label": "Tipo de origen",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "lKeepRatio",
            "label": "Mantener proporción",
            "group": "Imagen",
            "editor": "checkbox",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFit",
            "label": "Ajuste",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Imagen",
            "editor": "select",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Imagen",
            "editor": "border-visibility",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Imagen",
            "editor": "number",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Imagen",
            "editor": "color",
            "type": "TImage",
            "typeLabel": "Imagen"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Línea",
            "editor": "text",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Línea",
            "editor": "text",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Línea",
            "editor": "text",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Línea",
            "editor": "checkbox",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Línea",
            "editor": "checkbox",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cOrientation",
            "label": "Orientación",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cLineStyle",
            "label": "Estilo",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Línea",
            "editor": "select",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Línea",
            "editor": "number",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Línea",
            "editor": "color",
            "type": "TLine",
            "typeLabel": "Línea"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cContent",
            "label": "Contenido",
            "group": "Código de barras",
            "editor": "text",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cBarcodeType",
            "label": "Tipo",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lShowText",
            "label": "Mostrar texto",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lTrimSpaces",
            "label": "Recortar espacios exteriores",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFontFamily",
            "label": "Fuente",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nFontSize",
            "label": "Tamaño",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontBold",
            "label": "Negrita",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontItalic",
            "label": "Cursiva",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontUnderline",
            "label": "Subrayado",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "lFontStrikeout",
            "label": "Tachado",
            "group": "Código de barras",
            "editor": "checkbox",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cColor",
            "label": "Color",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Código de barras",
            "editor": "select",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Código de barras",
            "editor": "border-visibility",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Código de barras",
            "editor": "number",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Código de barras",
            "editor": "color",
            "type": "TBarcode",
            "typeLabel": "Código de barras"
          },
          {
            "property": "cContent",
            "label": "Contenido",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cVerticalAlign",
            "label": "Alineación vertical",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cOverflow",
            "label": "Desbordamiento",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Texto enriquecido",
            "editor": "text",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Texto enriquecido",
            "editor": "checkbox",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Texto enriquecido",
            "editor": "checkbox",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Texto enriquecido",
            "editor": "select",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Texto enriquecido",
            "editor": "border-visibility",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Texto enriquecido",
            "editor": "number",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Texto enriquecido",
            "editor": "color",
            "type": "richText",
            "typeLabel": "Texto enriquecido"
          },
          {
            "property": "cText",
            "label": "Contenido",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFontFamily",
            "label": "Fuente",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nFontSize",
            "label": "Tamaño",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontBold",
            "label": "Negrita",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontItalic",
            "label": "Cursiva",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontUnderline",
            "label": "Subrayado",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lFontStrikeout",
            "label": "Tachado",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lTextWrap",
            "label": "Partir si no cabe",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lAllowPageBreak",
            "label": "Continuar entre páginas",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nLineSpacing",
            "label": "Interlineado adicional",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nParagraphSpacing",
            "label": "Espacio entre párrafos",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lKeepEmptyParagraphs",
            "label": "Conservar párrafos vacíos",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lTextAdjusted",
            "label": "Justificación forzada",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lTrimSpaces",
            "label": "Recortar espacios exteriores",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cTextColor",
            "label": "Color",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nTextOpacity",
            "label": "Opacidad texto",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cTextAlign",
            "label": "Alineación",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nTextDecimalPosition",
            "label": "Posición decimal",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cTextVerticalAlign",
            "label": "Alineación vertical",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Texto formateado",
            "editor": "text",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Texto formateado",
            "editor": "checkbox",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Texto formateado",
            "editor": "select",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Texto formateado",
            "editor": "border-visibility",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Texto formateado",
            "editor": "number",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Texto formateado",
            "editor": "color",
            "type": "TFormattedText",
            "typeLabel": "Texto formateado"
          },
          {
            "property": "cName",
            "label": "Nombre",
            "group": "Tabla",
            "editor": "text",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cType",
            "label": "Tipo de objeto",
            "group": "Tabla",
            "editor": "text",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nLayerId",
            "label": "Capa",
            "group": "Tabla",
            "editor": "select",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cCondition",
            "label": "Condición de aparición",
            "group": "Tabla",
            "editor": "text",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "lVisible",
            "label": "Visible",
            "group": "Tabla",
            "editor": "checkbox",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "lLocked",
            "label": "Bloqueado",
            "group": "Tabla",
            "editor": "checkbox",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nLeft",
            "label": "Izquierda",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nTop",
            "label": "Superior",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nRight",
            "label": "Derecha",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nBottom",
            "label": "Inferior",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nWidth",
            "label": "Ancho",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cHeightMode",
            "label": "Modo de altura",
            "group": "Tabla",
            "editor": "select",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nHeight",
            "label": "Alto",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cBackgroundColor",
            "label": "Color de fondo",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cFillStyle",
            "label": "Tipo de relleno",
            "group": "Tabla",
            "editor": "select",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cFillColor2",
            "label": "Color final",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cFillColor3",
            "label": "Color intermedio",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nFillOpacity",
            "label": "Opacidad del relleno",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nRotation",
            "label": "Rotación",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nOpacity",
            "label": "Opacidad",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cBorderColor",
            "label": "Color",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nBorderWidth",
            "label": "Grosor",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "borderVisibility",
            "label": "Visibilidad",
            "group": "Tabla",
            "editor": "border-visibility",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nRounded",
            "label": "Redondeo",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nShadowSize",
            "label": "Grosor",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "nShadowTransparency",
            "label": "Transparencia",
            "group": "Tabla",
            "editor": "number",
            "type": "TTable",
            "typeLabel": "Tabla"
          },
          {
            "property": "cShadowColor",
            "label": "Color",
            "group": "Tabla",
            "editor": "color",
            "type": "TTable",
            "typeLabel": "Tabla"
          }
        ],
        "aAvailableFields": [
          {
            "cName": "DETAIL.cantidad",
            "cType": "numerico",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.codigo",
            "cType": "texto",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.descripcion",
            "cType": "texto",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.importe",
            "cType": "numerico",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "DETAIL.precio",
            "cType": "numerico",
            "cOrigin": "DetalleVar",
            "cGroup": "DETAIL"
          },
          {
            "cName": "HEADER.cif",
            "cType": "texto",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.cliente",
            "cType": "texto",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.direccion",
            "cType": "texto",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.fecha",
            "cType": "fecha",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.logo",
            "cType": "imagen",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.numero",
            "cType": "numerico",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "HEADER.total",
            "cType": "numerico",
            "cOrigin": "DataVar",
            "cGroup": "HEADER"
          },
          {
            "cName": "SUM.TotalDetalle",
            "cType": "numerico",
            "cOrigin": "AcumVar",
            "cGroup": "SUM"
          },
          {
            "cName": "VAR.Moneda",
            "cType": "texto",
            "cOrigin": "UserVar",
            "cGroup": "VAR"
          },
          {
            "cName": "VAR.Titulo",
            "cType": "texto",
            "cOrigin": "UserVar",
            "cGroup": "VAR"
          }
        ],
        "hTemplate": {
          "cType": "TDocument",
          "cFormatVersion": "1.0",
          "cTemplateId": "",
          "cTemplateName": "Documento",
          "cDocumentKind": "report",
          "cPaperFormat": "a4",
          "cPaperOrientation": "portrait",
          "tModifiedAt": "2026-08-10T12:06:21.320Z",
          "cFileName": "",
          "nPaperWidth": 210,
          "nPaperHeight": 297,
          "cPaperHeightMode": "fixed",
          "nDesignHeight": 250,
          "nContinuousBottomMargin": 5,
          "lShowGrid": true,
          "hUserVars": {
            "Moneda": {
              "tipo": "texto",
              "formula": "\"EUR\""
            },
            "Titulo": {
              "tipo": "texto",
              "formula": "\"Factura\""
            }
          },
          "hAcumVars": {
            "TotalDetalle": {
              "tipo": "numerico",
              "formula": "DETAIL.importe"
            }
          },
          "hImportMetadata": {},
          "hLabelLayout": {
            "nLabelWidth": 70,
            "nLabelHeight": 37,
            "nColumns": 3,
            "nRows": 8,
            "nMarginLeft": 0,
            "nMarginTop": 0,
            "nGapHorizontal": 0,
            "nGapVertical": 0,
            "cFlow": "row",
            "cLabelFormat": "manual",
            "nPrintOffsetX": 0,
            "nPrintOffsetY": 0
          },
          "hLayers": {
            "0": {
              "nId": 0,
              "cName": "Capa 1",
              "cCondition": "",
              "lDesignerVisible": true,
              "cColor": "#000000"
            }
          },
          "aObjects": []
        },
        "hOriginalCommands": {
          "commands": [
            {
              "command": "create",
              "ref": "tabla1",
              "type": "TTable"
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "\"Codigo\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "\"Descripcion\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "\"Cantidad\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "\"Precio\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "\"Importe\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "DETAIL.codigo"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "DETAIL.descripcion"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "DETAIL.cantidad"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "DETAIL.precio"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "DETAIL.importe"
              }
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineBorderColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineZebraEnabled",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "enabled": true
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "odd",
              "color": "#FFFFFF"
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "even",
              "color": "#F3F5F7"
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "color": "#D9EAF7"
            }
          ]
        },
        "hDiagnostic": {
          "commandIndex": 14,
          "command": "create",
          "error": "La celda indicada en create.targetCell no existe.",
          "tableRef": "tabla1",
          "tableId": "obj_1786364564327_9j0sd2",
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 4,
          "availableCells": 4
        }
      },
      "response": {
        "lOk": true,
        "hInspection": {
          "cInstruction": "Crea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.",
          "cProvider": "Ollama",
          "cModelSelection": "Ollama — GPT-OSS 20B",
          "cModel": "gpt-oss:20b",
          "cRepresentation": "COMMANDS",
          "cRawResponse": "{\"commands\":[{\"command\":\"create\",\"ref\":\"tabla1\",\"type\":\"TTable\"},{\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":1},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":2},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":3},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"columnIndex\":4},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":0},\"properties\":{\"cText\":\"\\\"Codigo\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":1},\"properties\":{\"cText\":\"\\\"Descripcion\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":2},\"properties\":{\"cText\":\"\\\"Cantidad\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":3},\"properties\":{\"cText\":\"\\\"Precio\\\"\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"cellIndex\":4},\"properties\":{\"cText\":\"\\\"Importe\\\"\"}},{\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":1},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":2},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"columnIndex\":3},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":0},\"properties\":{\"cText\":\"DETAIL.codigo\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":1},\"properties\":{\"cText\":\"DETAIL.descripcion\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":2},\"properties\":{\"cText\":\"DETAIL.cantidad\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":3},\"properties\":{\"cText\":\"DETAIL.precio\"}},{\"command\":\"create\",\"type\":\"TText\",\"targetCell\":{\"table\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"cellIndex\":4},\"properties\":{\"cText\":\"DETAIL.importe\"}},{\"command\":\"tableInsertLine\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0,\"columnIndex\":1},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0,\"columnIndex\":2},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0,\"columnIndex\":3},{\"command\":\"tableInsertColumn\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0,\"columnIndex\":4},{\"command\":\"tableSetLineBackground\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"color\":\"#17365D\"},{\"command\":\"tableSetLineBorderColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"header\",\"lineIndex\":0,\"color\":\"#17365D\"},{\"command\":\"tableSetLineZebraEnabled\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"enabled\":true},{\"command\":\"tableSetLineZebraColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"role\":\"odd\",\"color\":\"#FFFFFF\"},{\"command\":\"tableSetLineZebraColor\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"detail\",\"lineIndex\":0,\"role\":\"even\",\"color\":\"#F3F5F7\"},{\"command\":\"tableSetLineBackground\",\"target\":{\"ref\":\"tabla1\"},\"section\":\"footer\",\"lineIndex\":0,\"color\":\"#D9EAF7\"}]}",
          "cThinking": "Need 5 columns header: need insert 4 columns after initial. They inserted only up to cellIndex4 but table has 4 cells (0-3). Need one more column. Also footer needs 5 columns? instruction says each line of 5 columns, so footer also 5 columns. Need create header cells 0-4. Also need insert columns for footer. Also set background for footer. Also zebra only detail. Also header background and border already set. Need ensure tableInsertLine for footer then insert 4 columns. Also need create TText for footer? not requested. Just background.\n\nAlso need to set header line background before border maybe fine.\n\nNeed also set header line background color #17365D, border same.\n\nAlso detail zebra colors set.\n\nAlso footer background set.\n\nAlso ensure tableInsertLine for footer then insert 4 columns.\n\nAlso need create TText for header cells 0-4. They had only 5 but missing column? Actually they inserted 4 columns so total 5 cells: indices 0-4 exist after inserting 4 columns. But error says availableCells 4 meaning only 4 cells (0-3). Means they didn't insert enough columns. Need to add one more tableInsertColumn for header at columnIndex 4.\n\nAlso need to create TText for footer? Not required.\n\nAlso need to set header line background and border after creating cells maybe fine.\n\nAlso need to ensure detail zebra enabled before setting colors? order okay.\n\nAlso need to set header line background color before border? fine.\n\nAlso need to set tableSetLineBackground for footer after inserting columns.\n\nAlso need to create TText for header cells 0-4: they already have. Good.\n\nNeed also create TText for detail cells 0-4: they did.\n\nAll good.\n\nReturn full commands list with corrections: add one more tableInsertColumn header columnIndex 4. Also maybe need to set header line background and border after creating cells? fine.\n\nAlso need to ensure footer has 5 columns: insert 4 columns.\n\nAdd tableInsertColumn for footer columnIndex 1-4.\n\nLet's craft final JSON.",
          "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucción y devuelve únicamente JSON válido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\" o {\\\"ids\\\":[\\\"id_real\\\"]},\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo → setProperty; desplazamiento relativo → move; tamaño relativo → resize; alineación de varios objetos → align; eliminar objetos → delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaño, devuelve únicamente resize y no uses setProperty para propiedades numéricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos válidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No inventes IDs ni calcules coordenadas o dimensiones finales. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos válidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos válidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa únicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los índices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milímetros >=1. tableSetLineBackground usa únicamente color HEX fijo; no usa fórmulas ni paths privados. Insertar columna usa columnIndex como posición antes de la columna existente; si coincide con el número actual de columnas, añade al final. Insertar línea usa lineIndex como posición antes de la línea existente; si coincide con el número actual de líneas, añade al final. No uses hSections, aLines ni aCells. Semántica de líneas OBLIGATORIA: si una sección tiene una sola línea, basta mencionar la sección y usa lineIndex 0. Si tiene varias líneas, una operación estructural debe indicar la línea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las líneas genera una operación por cada línea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una línea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de línea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucción menciona una línea, cabecera, detalle o pie, el color de borde de esa línea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en líneas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. REGLA DE SCOPE OBLIGATORIA: estos, ellos, los seleccionados y pronombres equivalentes -> target:\\\"selection\\\". Todos, todas, todo el documento, todos los objetos o todos los objetos de un tipo -> target:{\\\"ids\\\":[...]} usando todos los cId coincidentes de DOCUMENTO_COMPLETO_SCOPE=global, incluidos objetos anidados en TTable. Si la selección está vacía, una orden global debe usar siempre ids. Para una orden global no uses target:\\\"selection\\\" ni mezcles ambos targets. También se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe únicamente lo solicitado: incluye solo el tipo, contenido, posición y propiedades que la instrucción pida explícitamente; el diseñador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText,TTable. Properties solo editables, nunca cId, defaults, estructura interna ni geometría. position usa {\\\"x\\\":20,\\\"y\\\":30}. Para crear una tabla usa {\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"tabla1\\\",\\\"type\\\":\\\"TTable\\\"}; las primitives TTable posteriores pueden usar target:{\\\"ref\\\":\\\"tabla1\\\"}. Una TTable recién creada tiene las secciones vacías. Antes de insertar columnas o modificar una línea, crea esa línea con tableInsertLine. tableInsertLine crea siempre una línea válida con exactamente 1 columna inicial. SEMÁNTICA OBLIGATORIA DEL NÚMERO DE COLUMNAS: \\\"de N columnas\\\", \\\"con N columnas\\\" y \\\"que tenga N columnas\\\" expresan el TOTAL FINAL deseado; genera exactamente N menos las columnas actuales operaciones tableInsertColumn. Después de tableInsertLine ya hay 1 columna: para una línea de 4 columnas genera exactamente 3 tableInsertColumn y el total final es 4, nunca 4 inserciones. \\\"añade N columnas\\\", \\\"agrega N columnas\\\", \\\"inserta N columnas más\\\" y equivalentes explícitos expresan una CANTIDAD ADICIONAL; genera exactamente N tableInsertColumn. La fachada ejecuta literalmente esas inserciones y no corrige ni reinterpreta el número. Ejemplo total final 4: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"tabla1\\\",\\\"type\\\":\\\"TTable\\\"},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3}]}. No envíes hSections, aLines ni aCells en create. Para crear contenido real en una celda usa {\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"txt1\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Título\\\\\\\"\\\"}}; table admite \\\"selection\\\", {\\\"ids\\\":[\\\"id_real\\\"]} o {\\\"ref\\\":\\\"tabla1\\\"}. Tipos manuales admitidos en celda: TText,richText,TBarcode,TImage. Si la instrucción enumera contenidos o títulos, crea un objeto por cada literal en la celda correspondiente; no omitas esos contenidos. No uses position ni geometría para contenido de celda. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TTable=Tabla,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TTable:cBackgroundColor:string=Tabla / Color de fondo,cBorderColor:string=Tabla / Color,cCondition:string=Tabla / Condición de aparición,cFillColor2:string=Tabla / Color final,cFillColor3:string=Tabla / Color intermedio,cFillStyle:string=Tabla / Tipo de relleno,cHeightMode:string=Tabla / Modo de altura,cShadowColor:string=Tabla / Color,lLocked:boolean=Tabla / Bloqueado,lVisible:boolean=Tabla / Visible,nBorderWidth:number=Tabla / Grosor,nFillOpacity:number=Tabla / Opacidad del relleno,nLayerId:number=Tabla / Capa,nOpacity:number=Tabla / Opacidad,nRotation:number=Tabla / Rotación,nRounded:number=Tabla / Redondeo,nShadowSize:number=Tabla / Grosor,nShadowTransparency:number=Tabla / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia. CTEXT CANONICO: texto fijo=\\\"\\\\\\\\\\\"FACTURA\\\\\\\\\\\"\\\"; campo=REFERENCIA_EXACTA; texto+campo=\\\"\\\\\\\\\\\"Factura: \\\\\\\\\\\"+REFERENCIA_EXACTA\\\"; formula=\\\"Transform(REFERENCIA_EXACTA,\\\\\\\\\\\"99/99/9999\\\\\\\\\\\")\\\". Para contenido de celda usa el mismo TText y la misma semantica. Usa exclusivamente referencias exactas de CAMPOS_Y_VARIABLES_DISPONIBLES; no inventes campos. Si la instruccion pide un dato/campo y no existe una referencia compatible, no conviertas su descripcion en texto fijo: omite esa parte o devuelve {\\\"commands\\\":[]}. En TTable, para CADA seccion usada, el orden obligatorio es: tableInsertLine; N-1 tableInsertColumn para obtener N columnas; despues los create.targetCell. El contenido header exige linea header y el contenido detail exige linea detail; antes de cellIndex K deben existir al menos K+1 columnas en esa misma linea. Nunca uses create.targetCell sobre una linea o celda inexistente. Para una celda vacia de una TTable existente seleccionada usa exactamente {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":K},\\\"properties\\\":{\\\"cText\\\":\\\"REFERENCIA_EXACTA\\\"}}. Para una TTable existente identificada table puede ser {\\\"ids\\\":[\\\"id_real\\\"]}; nunca uses {\\\"cId\\\":\\\"...\\\"}. Para una tabla creada en ESTA respuesta, todas las estructuras y targetCell.table usan siempre {\\\"ref\\\":\\\"tabla1\\\"}, nunca \\\"selection\\\". Una lista de N nombres de columnas son N titulos fijos TText de header con cText=\\\"\\\\\\\\\\\"TITULO\\\\\\\\\\\"\\\"; si ademas se piden sus campos o campos disponibles, crea header Y detail, cada seccion con su tableInsertLine y exactamente N-1 inserciones, y despues N TText por seccion. Esquema minimo de dos secciones y dos columnas: create TTable ref tabla1; tableInsertLine header; tableInsertColumn header columnIndex 1; tableInsertLine detail; tableInsertColumn detail columnIndex 1; despues create.targetCell header 0 y 1, y detail 0 y 1, todos con table:{\\\"ref\\\":\\\"tabla1\\\"}. Alinear el contenido o texto a izquierda/centro/derecha usa setProperty con property:\\\"cTextAlign\\\" y value:\\\"left\\\"|\\\"center\\\"|\\\"right\\\"; align se reserva para alinear geometricamente varios objetos.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[]\\nDOCUMENTO_COMPLETO_SCOPE=global:\\n[]\\nGLOBAL_COUNTS:\\nGLOBAL_IDS_BY_TYPE:\\nPROPIEDADES COMUNES EDITABLES: \\nCOLORES CANÓNICOS: rojo:#ff0000 · verde:#008000 · verde oscuro:#006400 · azul:#0000ff · azul oscuro:#00008b · amarillo:#ffff00 · gris claro:#d3d3d3\\nCAMPOS_Y_VARIABLES_DISPONIBLES\\nTIPOS:C=texto,N=numero,D=fecha,I=imagen,M=memo,L=booleano\\nCABECERA:HEADER.cif:C,HEADER.cliente:C,HEADER.direccion:C,HEADER.fecha:D,HEADER.logo:I,HEADER.numero:N,HEADER.total:N\\nDETALLE:DETAIL.cantidad:N,DETAIL.codigo:C,DETAIL.descripcion:C,DETAIL.importe:N,DETAIL.precio:N\\nVARIABLES:VAR.Moneda:C,VAR.Titulo:C\\nACUMULADORES:SUM.TotalDetalle:N\\n\\nINSTRUCCIÓN:\\nCrea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.\\n\\nREPARACION_UNICA_COMMANDS\\nPLAN_ORIGINAL_COMPLETO:{\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"tabla1\\\",\\\"type\\\":\\\"TTable\\\"},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Codigo\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":1},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Descripcion\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":2},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Cantidad\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":3},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Precio\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":4},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Importe\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.codigo\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":1},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.descripcion\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":2},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.cantidad\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":3},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.precio\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":4},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.importe\\\"}},{\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#17365D\\\"},{\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#17365D\\\"},{\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true},{\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#FFFFFF\\\"},{\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"even\\\",\\\"color\\\":\\\"#F3F5F7\\\"},{\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#D9EAF7\\\"}]}\\nERROR_DRY_RUN:{\\\"commandIndex\\\":14,\\\"command\\\":\\\"create\\\",\\\"error\\\":\\\"La celda indicada en create.targetCell no existe.\\\",\\\"tableRef\\\":\\\"tabla1\\\",\\\"tableId\\\":\\\"obj_1786364564327_9j0sd2\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":4,\\\"availableCells\\\":4}\\nDEVUELVE EL PLAN COMPLETO CORREGIDO. Conserva las partes correctas, corrige dependencias, commands invalidos y prerequisitos omitidos. Antes de devolverlo, revisa tambien que cubre todas las partes explicitamente solicitadas por el usuario y que no omite pasos necesarios. Devuelve unicamente {\\\"commands\\\":[...]} y no un parche parcial.\"}],\"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\"}",
          "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T12:23:04.8067849Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"tabla1\\\",\\\"type\\\":\\\"TTable\\\"},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":4},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Codigo\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":1},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Descripcion\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":2},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Cantidad\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":3},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Precio\\\\\\\"\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":4},\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\"Importe\\\\\\\"\\\"}},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":0},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.codigo\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":1},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.descripcion\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":2},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.cantidad\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":3},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.precio\\\"}},{\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"targetCell\\\":{\\\"table\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"cellIndex\\\":4},\\\"properties\\\":{\\\"cText\\\":\\\"DETAIL.importe\\\"}},{\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":1},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":3},{\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":4},{\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#17365D\\\"},{\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#17365D\\\"},{\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true},{\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#FFFFFF\\\"},{\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"even\\\",\\\"color\\\":\\\"#F3F5F7\\\"},{\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":{\\\"ref\\\":\\\"tabla1\\\"},\\\"section\\\":\\\"footer\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#D9EAF7\\\"}]}\",\"thinking\":\"Need 5 columns header: need insert 4 columns after initial. They inserted only up to cellIndex4 but table has 4 cells (0-3). Need one more column. Also footer needs 5 columns? instruction says each line of 5 columns, so footer also 5 columns. Need create header cells 0-4. Also need insert columns for footer. Also set background for footer. Also zebra only detail. Also header background and border already set. Need ensure tableInsertLine for footer then insert 4 columns. Also need create TText for footer? not requested. Just background.\\n\\nAlso need to set header line background before border maybe fine.\\n\\nNeed also set header line background color #17365D, border same.\\n\\nAlso detail zebra colors set.\\n\\nAlso footer background set.\\n\\nAlso ensure tableInsertLine for footer then insert 4 columns.\\n\\nAlso need create TText for header cells 0-4. They had only 5 but missing column? Actually they inserted 4 columns so total 5 cells: indices 0-4 exist after inserting 4 columns. But error says availableCells 4 meaning only 4 cells (0-3). Means they didn't insert enough columns. Need to add one more tableInsertColumn for header at columnIndex 4.\\n\\nAlso need to create TText for footer? Not required.\\n\\nAlso need to set header line background and border after creating cells maybe fine.\\n\\nAlso need to ensure detail zebra enabled before setting colors? order okay.\\n\\nAlso need to set header line background color before border? fine.\\n\\nAlso need to set tableSetLineBackground for footer after inserting columns.\\n\\nAlso need to create TText for header cells 0-4: they already have. Good.\\n\\nNeed also create TText for detail cells 0-4: they did.\\n\\nAll good.\\n\\nReturn full commands list with corrections: add one more tableInsertColumn header columnIndex 4. Also maybe need to set header line background and border after creating cells? fine.\\n\\nAlso need to ensure footer has 5 columns: insert 4 columns.\\n\\nAdd tableInsertColumn for footer columnIndex 1-4.\\n\\nLet's craft final JSON.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":20411998900,\"load_duration\":206639300,\"prompt_eval_count\":7071,\"prompt_eval_duration\":15613000,\"eval_count\":1037,\"eval_duration\":13850636000}",
          "hMetrics": {
            "total_duration": 20411998900,
            "load_duration": 206639300,
            "prompt_eval_count": 7071,
            "prompt_eval_duration": 15613000,
            "eval_count": 1037,
            "eval_duration": 13850636000,
            "unattributed_duration": 6339110600
          },
          "hCommands": {
            "commands": [
              {
                "command": "create",
                "ref": "tabla1",
                "type": "TTable"
              },
              {
                "command": "tableInsertLine",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "columnIndex": 1
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "columnIndex": 2
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "columnIndex": 3
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "columnIndex": 4
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 0
                },
                "properties": {
                  "cText": "\"Codigo\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 1
                },
                "properties": {
                  "cText": "\"Descripcion\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 2
                },
                "properties": {
                  "cText": "\"Cantidad\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 3
                },
                "properties": {
                  "cText": "\"Precio\""
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "header",
                  "lineIndex": 0,
                  "cellIndex": 4
                },
                "properties": {
                  "cText": "\"Importe\""
                }
              },
              {
                "command": "tableInsertLine",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "columnIndex": 1
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "columnIndex": 2
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "columnIndex": 3
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 0
                },
                "properties": {
                  "cText": "DETAIL.codigo"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 1
                },
                "properties": {
                  "cText": "DETAIL.descripcion"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 2
                },
                "properties": {
                  "cText": "DETAIL.cantidad"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 3
                },
                "properties": {
                  "cText": "DETAIL.precio"
                }
              },
              {
                "command": "create",
                "type": "TText",
                "targetCell": {
                  "table": {
                    "ref": "tabla1"
                  },
                  "section": "detail",
                  "lineIndex": 0,
                  "cellIndex": 4
                },
                "properties": {
                  "cText": "DETAIL.importe"
                }
              },
              {
                "command": "tableInsertLine",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0,
                "columnIndex": 1
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0,
                "columnIndex": 2
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0,
                "columnIndex": 3
              },
              {
                "command": "tableInsertColumn",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0,
                "columnIndex": 4
              },
              {
                "command": "tableSetLineBackground",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "color": "#17365D"
              },
              {
                "command": "tableSetLineBorderColor",
                "target": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "color": "#17365D"
              },
              {
                "command": "tableSetLineZebraEnabled",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "enabled": true
              },
              {
                "command": "tableSetLineZebraColor",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "role": "odd",
                "color": "#FFFFFF"
              },
              {
                "command": "tableSetLineZebraColor",
                "target": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "role": "even",
                "color": "#F3F5F7"
              },
              {
                "command": "tableSetLineBackground",
                "target": {
                  "ref": "tabla1"
                },
                "section": "footer",
                "lineIndex": 0,
                "color": "#D9EAF7"
              }
            ]
          },
          "lValid": true,
          "nCreates": 0,
          "nChanges": 0,
          "nDeletes": 0,
          "nStructures": 0,
          "nGeneratedIds": 0,
          "nOperations": 31,
          "nFinalOperations": 31,
          "cValidation": "Shape commands válida; validación de ejecución pendiente",
          "nResponseMilliseconds": 20432.622,
          "tRequestStartedAt": "2026-08-10T14:22:44.375979+02:00",
          "tResponseFinishedAt": "2026-08-10T14:23:04.808561+02:00",
          "hPromptDiagnostics": {
            "nSystemCharacters": 21478,
            "nUserCharacters": 4956,
            "nPromptCharacters": 26435,
            "nPromptCharactersBeforeFields": 23962,
            "nFieldsCharacters": 370,
            "nPromptTokensBeforeEstimated": 5991,
            "nPromptTokensAfterEstimated": 6609,
            "nContextTokens": 65536,
            "lPromptFitsContext": true,
            "hFields": {
              "nGroups": 4,
              "nFields": 12,
              "nUserVariables": 2,
              "nAccumulators": 1
            }
          }
        }
      }
    },
    {
      "action": "logCommandsRepair",
      "milliseconds": 12.799999952316284,
      "payload": {
        "cAction": "logCommandsRepair",
        "cInstruction": "Crea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.",
        "hInitialPlan": {
          "commands": [
            {
              "command": "create",
              "ref": "tabla1",
              "type": "TTable"
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "\"Codigo\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "\"Descripcion\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "\"Cantidad\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "\"Precio\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "\"Importe\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "DETAIL.codigo"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "DETAIL.descripcion"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "DETAIL.cantidad"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "DETAIL.precio"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "DETAIL.importe"
              }
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineBorderColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineZebraEnabled",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "enabled": true
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "odd",
              "color": "#FFFFFF"
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "even",
              "color": "#F3F5F7"
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "color": "#D9EAF7"
            }
          ]
        },
        "hDiagnostic": {
          "commandIndex": 14,
          "command": "create",
          "error": "La celda indicada en create.targetCell no existe.",
          "tableRef": "tabla1",
          "tableId": "obj_1786364564327_9j0sd2",
          "section": "header",
          "lineIndex": 0,
          "cellIndex": 4,
          "availableCells": 4
        },
        "hRepairedPlan": {
          "commands": [
            {
              "command": "create",
              "ref": "tabla1",
              "type": "TTable"
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 4
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "\"Codigo\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "\"Descripcion\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "\"Cantidad\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "\"Precio\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "\"Importe\""
              }
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "DETAIL.codigo"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "DETAIL.descripcion"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "DETAIL.cantidad"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "DETAIL.precio"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "DETAIL.importe"
              }
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "columnIndex": 4
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineBorderColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineZebraEnabled",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "enabled": true
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "odd",
              "color": "#FFFFFF"
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "even",
              "color": "#F3F5F7"
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "color": "#D9EAF7"
            }
          ]
        },
        "hFinalValidation": {
          "lOk": false,
          "cError": "La celda indicada en create.targetCell no existe.",
          "hDiagnostic": {
            "commandIndex": 19,
            "command": "create",
            "error": "La celda indicada en create.targetCell no existe.",
            "tableRef": "tabla1",
            "tableId": "obj_1786364584811_mi0uh7",
            "section": "detail",
            "lineIndex": 0,
            "cellIndex": 4,
            "availableCells": 4
          }
        },
        "nInitialMilliseconds": 15804.334,
        "nRepairMilliseconds": 20453.900000035763
      },
      "response": {
        "lOk": true
      }
    },
    {
      "action": "logCommandsFailure",
      "milliseconds": 12.099999964237213,
      "payload": {
        "cAction": "logCommandsFailure",
        "cInstruction": "Crea una tabla nueva con header, detail y footer, cada linea de 5 columnas. Pon el header con fondo #17365D y borde #17365D, el detail con Zebra activada y colores blanco y #F3F5F7, y el footer con fondo #D9EAF7. Crea en header los titulos Codigo, Descripcion, Cantidad, Precio e Importe y en detail sus cinco campos DETAIL disponibles correspondientes.",
        "aSelection": [],
        "hCommands": {
          "commands": [
            {
              "command": "create",
              "ref": "tabla1",
              "type": "TTable"
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 1
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 2
            },
            {
              "command": "tableInsertColumn",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "columnIndex": 3
            },
            {
              "command": "tableInsertLine",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "\"Codigo\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "\"Descripcion\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "\"Cantidad\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "\"Precio\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "header",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "\"Importe\""
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 0
              },
              "properties": {
                "cText": "DETAIL.codigo"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 1
              },
              "properties": {
                "cText": "DETAIL.descripcion"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 2
              },
              "properties": {
                "cText": "DETAIL.cantidad"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 3
              },
              "properties": {
                "cText": "DETAIL.precio"
              }
            },
            {
              "command": "create",
              "type": "TText",
              "targetCell": {
                "table": {
                  "ref": "tabla1"
                },
                "section": "detail",
                "lineIndex": 0,
                "cellIndex": 4
              },
              "properties": {
                "cText": "DETAIL.importe"
              }
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineBorderColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "header",
              "lineIndex": 0,
              "color": "#17365D"
            },
            {
              "command": "tableSetLineZebraEnabled",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "enabled": true
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "odd",
              "color": "#FFFFFF"
            },
            {
              "command": "tableSetLineZebraColor",
              "target": {
                "ref": "tabla1"
              },
              "section": "detail",
              "lineIndex": 0,
              "role": "even",
              "color": "#F3F5F7"
            },
            {
              "command": "tableSetLineBackground",
              "target": {
                "ref": "tabla1"
              },
              "section": "footer",
              "lineIndex": 0,
              "color": "#D9EAF7"
            }
          ]
        },
        "cError": "La celda indicada en create.targetCell no existe.",
        "nMilliseconds": 36339.700000047684,
        "cModel": "gpt-oss:20b"
      },
      "response": {
        "lOk": true
      }
    }
  ],
  "documentBefore": {
    "cType": "TDocument",
    "cFormatVersion": "1.0",
    "cTemplateId": "",
    "cTemplateName": "Documento",
    "cDocumentKind": "report",
    "cPaperFormat": "a4",
    "cPaperOrientation": "portrait",
    "tModifiedAt": "2026-08-10T12:06:21.320Z",
    "cFileName": "",
    "nPaperWidth": 210,
    "nPaperHeight": 297,
    "cPaperHeightMode": "fixed",
    "nDesignHeight": 250,
    "nContinuousBottomMargin": 5,
    "lShowGrid": true,
    "hUserVars": {
      "Moneda": {
        "tipo": "texto",
        "formula": "\"EUR\""
      },
      "Titulo": {
        "tipo": "texto",
        "formula": "\"Factura\""
      }
    },
    "hAcumVars": {
      "TotalDetalle": {
        "tipo": "numerico",
        "formula": "DETAIL.importe"
      }
    },
    "hImportMetadata": {},
    "hLabelLayout": {
      "nLabelWidth": 70,
      "nLabelHeight": 37,
      "nColumns": 3,
      "nRows": 8,
      "nMarginLeft": 0,
      "nMarginTop": 0,
      "nGapHorizontal": 0,
      "nGapVertical": 0,
      "cFlow": "row",
      "cLabelFormat": "manual",
      "nPrintOffsetX": 0,
      "nPrintOffsetY": 0
    },
    "hLayers": {
      "0": {
        "nId": 0,
        "cName": "Capa 1",
        "cCondition": "",
        "lDesignerVisible": true,
        "cColor": "#000000"
      }
    },
    "aObjects": []
  },
  "documentAfter": {
    "cType": "TDocument",
    "cFormatVersion": "1.0",
    "cTemplateId": "",
    "cTemplateName": "Documento",
    "cDocumentKind": "report",
    "cPaperFormat": "a4",
    "cPaperOrientation": "portrait",
    "tModifiedAt": "2026-08-10T12:06:21.320Z",
    "cFileName": "",
    "nPaperWidth": 210,
    "nPaperHeight": 297,
    "cPaperHeightMode": "fixed",
    "nDesignHeight": 250,
    "nContinuousBottomMargin": 5,
    "lShowGrid": true,
    "hUserVars": {
      "Moneda": {
        "tipo": "texto",
        "formula": "\"EUR\""
      },
      "Titulo": {
        "tipo": "texto",
        "formula": "\"Factura\""
      }
    },
    "hAcumVars": {
      "TotalDetalle": {
        "tipo": "numerico",
        "formula": "DETAIL.importe"
      }
    },
    "hImportMetadata": {},
    "hLabelLayout": {
      "nLabelWidth": 70,
      "nLabelHeight": 37,
      "nColumns": 3,
      "nRows": 8,
      "nMarginLeft": 0,
      "nMarginTop": 0,
      "nGapHorizontal": 0,
      "nGapVertical": 0,
      "cFlow": "row",
      "cLabelFormat": "manual",
      "nPrintOffsetX": 0,
      "nPrintOffsetY": 0
    },
    "hLayers": {
      "0": {
        "nId": 0,
        "cName": "Capa 1",
        "cCondition": "",
        "lDesignerVisible": true,
        "cColor": "#000000"
      }
    },
    "aObjects": []
  }
}