...DA VERIFICARE...
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 |