Files
Samuele Locatelli fcda96d144 Modifica schema ricette FIMAT / Tenditalia
...DA VERIFICARE...
2023-02-16 13:18:50 +01:00
..
2023-02-13 11:55:50 +01:00
2023-02-13 11:55:50 +01:00

Ricette

Gestione formati e tag x ricette

Nelle ricette ci possono essere campi liberi, campi da enum (da configurare nel json) e campi calcolati.

E' utile riportare un esempio di tracciato finale desiderato insieme ad un file template tpl da cui attingere x la realizzazione insieme ai campi definiti x testata e corpo.

In particolare sia per testata che corpo sono indicati casi di dati enumerativi (in modo che sia usato uno tra i valori ammessi)

Definizione tag ricette

I tag ammessi x le ricette sono di seguito riassunti e definiti:

Cod Significato Definizione
C Calcolato Campo calcolato (NON modificabile)
E Enum IdxODL numerico
F Fixed IdxODL numerico
S Suggested Campo calcolato e suggerito (modificabile)

IN particolare gli Enum sono poi da riportare nella struttura degli EnumVal che deve completare i valori di testata o di corpo.

Esempio tracciato Template

Ecco un esempio di template

{
  "A_Recipe": {
    "DesRecipe": {
      "DesData": {
        ||PlaceholderHeader||
    },
      "ColRecipe": [
        ||SROW:{"ColData":{||
            ||PlaceholderRows||
        ||EROW":}}||
      ]
  }
}

il blocco ||PlaceholderHeader|| verrà sostituito per intero dai valori di testata.

Il blocco delel righe è invece più complesso e composto da 3 parti:

  • nel primo blocco, ||SROW:{"ColData":{||, si cerca start riga e si prende il valore compreso tra ||SROW:: e || come testata riga da ripetere
  • nel secondo blocco si sostituiscono tutti i valori della riga i-esima
  • nel terzo blocco ||EROW":}}|| si sistema la chiusura della riga (end row)

Esempio tracciato configurazione complessivo

{
  "TemplateFile": "TemplateOutput.tpl",
  "NumRow": 2,
  "HeadConf": {
    "ListKeys": {
      "CustDrumCode": "F:",
      "Taglio-N": "F:1",
      "LotID": "C:IdxPODL",
      "OrderCode": "C:CodePODL",
      "Prio": "E:Priority",
      "DrumType": "E:DrumType",
      "Customer": "Tenditalia",
      "Design": "DESIGN",
      "Quantity-kg": "1.00"
    },
    "EnumVal": {
      "Priority": {
        "N": "Normal",
        "H": "Hight"
      },
      "DrumType": {
        "1": "Small",
        "2": "Medium",
        "3": "Big"
      }
    }
  },
  "RowsConf": {
    "ListKeys": {
      "Weight-gr-prev": "F:0.00",
      "CompNumber": "C:RowNum",
      "ColourCode": "C001",
      "Description": "COLOR1",
      "TypComp": "E:ColType",
      "PartsWeight": "1.00",
      "PartsPerc": "0.10",
      "Weight-gr": "30.00"
    },
    "EnumVal": {
      "ColType": {
        "C": "Color",
        "A": "Thickener",
        "X": "Auxiliaries"
      }
    }
  }
}

Come si può notare, il tracciato di configurazione comprende i seguenti blocchi:

Blocco descrizione
HeadConf Configurazione campi testata
HeadConf:ListKeys Elenco chiavi/valori x testata
HeadConf:EnumVal Elenco enumerativi ammessi x testata
RowsConf Configurazione campi riga
RowsConf:ListKeys Elenco chiavi/valori x righe
RowsConf:EnumVal Elenco enumerativi ammessi x righe

Campi Calcolati

I tag noti x decodifica riguardano i campi calcolati; hard coded, e riconosciuti, sono i seguenti:

ID Note Format Esempio
IdxPODL IdxODL numerico - 123
CodePODL Codice alfanumerico partendo da IdxPODL PODL{0:00000000} PODL00000123
CodArticolo Campo CodArticolo - Art000123
DescArticolo Campo DescArticolo - Articol 123 blu
RowNum Numero riga - 1
RowTot Totale righe - 10