0b40b0cd22
- completata serializzazione ricetta in modo parametrico/composto
135 lines
4.6 KiB
Markdown
135 lines
4.6 KiB
Markdown
# Ricette
|
|
- [Ricette](#ricette)
|
|
- [Gestione formati e tag x ricette](#gestione-formati-e-tag-x-ricette)
|
|
- [Definizione tag ricette](#definizione-tag-ricette)
|
|
- [Esempio tracciato Template](#esempio-tracciato-template)
|
|
- [Esempio tracciato configurazione complessivo](#esempio-tracciato-configurazione-complessivo)
|
|
- [Campi Calcolati](#campi-calcolati)
|
|
|
|
|
|
# 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
|
|
|
|
```csharp
|
|
{
|
|
"A_Recipe": {
|
|
"DesRecipe": {
|
|
"DesData": {
|
|
||PlaceholderHeader||
|
|
},
|
|
"ColRecipe": [
|
|
||SROW:{"ColData":{||
|
|
||PlaceholderRows||
|
|
||EROW":}}||
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
il blocco <code>||PlaceholderHeader||</code> verrà sostituito per intero dai valori di testata.
|
|
|
|
Il blocco delel righe è invece più complesso e composto da 3 parti:
|
|
* nel primo blocco, <code>||SROW:{"ColData":{||</code>, 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 <code>||EROW":}}||</code> si sistema la chiusura della riga (end row)
|
|
|
|
|
|
|
|
## Esempio tracciato configurazione complessivo
|
|
|
|
```json
|
|
{
|
|
"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 |
|