+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Easier design with non-tabloid JSON data (fields vs. variables)

We're using L&L 21 with JSON data. like in the form below.

When our form designers try to build nice forms they get all items as (tabular)-values even though absolutely most of the data is just single variables without the need for data-tables.

That's quite annoying, because then our designers have to remove all that unnecessary table-clutter (header, footer etc.) for each element.

It would be great, if it would be easier to add those attributes for instance just as simple texts.

  "checklistId": "5b1675551de3681024d9f492",
  "completed": true,
  "context": "WORKORDER",
  "contextId": "110003",
  "print": false,
  "content": {
    "contextdata": {
      "lineitem": [{
          "type": "T",
          "title": "Reifen wuchten und wechseln",
          "sortIndex": 10,
          "lineItemId": 3267
          "type": "L",
          "title": "Räder wechseln",
          "quantity": 0.25,
          "sortIndex": 20,
          "grossPrice": 19.34,
          "quantityUnit": "aw",
          "number": "rw-4",
          "lineItemId": 3268
      "basketlineitem": [{
          "type": "E",
          "title": "Hauptbremszylinder",
          "quantity": 2,
          "quantityUnit": "St",
          "number": "03492361",
          "lineItemId": 80
        } {
          "group": "WASSERPUMPE ERNEUERN -",
          "type": "G",
          "title": "WASSERPUMPE ERNEUERN -",
          "quantity": 1,
          "sortIndex": 3,
          "number": "J301A103",
          "lineItemId": 96
          "group": "WASSERPUMPE ERNEUERN -",
          "type": "L",
          "title": "Kühlmittelpumpe aus- und einbauen",
          "quantity": 40,
          "sortIndex": 4,
          "number": "J609100",
          "lineItemId": 97
      "summary": {
        "bringindatetime": "2018-05-31T06:00:00.000Z",
        "externalReference": "",
        "customerId": 29,
        "readablebringindatetime": "Donnerstag, 31. Mai 2018 08:00",
        "readablepickUpDateTime": "Freitag, 8. Juni 2018 22:50",
        "remark": "Schöne Auftragsinfo.😀 Die gefällt einem heute noc",
        "systemId": 1,
        "type": "Sk Normal Inland",
        "workorderId": 110003,
From this example json we would just need two tables:



and keep the rest (no arrays) as variables.
This would reduce the design-time a lot.

For us it would be enough, if we could move branches within the "variable/fields" sidebar between the two root items 'variables' and 'fields'.

If some array element (field) is moved to variable branch it would be ok, to add per default always the first item. E. g.:


and require a manual change within the text editor.

Thanks in advance,


You could go ahead and use the AutoDefineField event to just call LL.Variables.Add(…) and thus move or mirror the field to the variables yourself. This should work just fine.