Benvenuto in gestionestandgastronomico Q&A, dove potrai porre quesiti e ricevere risposte da altri membri della community.
0 voti

Tanto per cominciare complimenti per il vostro software: ne stiamo valutando l'utilizzo nella nostra sagra.

Una delle nostre esigenze è quella di far comparire, nelle stampe delle comande, la dicitura "NORD" oppure "SUD" a seconda del tavolo da servire, in quanto la nostra cucina ha due punti d'uscita.

Ho provato ad inserire il seguente codice nella stampa:

{{if ordine.numeroTavolo >= 18}}

<h3 align='center'>SUD</h3>

{{else}}

<h3 align='center'>NORD</h3>

{{endif}}

Purtroppo c'è qualcosa che non funziona, perchè evidentemente la condizione è considerata sempre vera e qualunque numero di tavolo mi fa stampare la scritta "SUD".

Cosa posso avere sbagliato?

quesito posto fa da (220 punti)

5 Risposte

0 voti
Devo fare qualche prova ma secondo me dipende dal fatto che il campo ordine.numeroTavolo è alfanumerivo e non riesce a risolvere una funzione numerica.

Devo provare a pensare qualche sistema per risolvere questo problema. Così su due piedi però non mi viene in mente nulla ...

Ci penso ...

Ciao.

Mauro.
risposta inviata fa da (31.4k punti)
0 voti

Ho capito... non avevo pensato che fosse un campo alfanumerico...

Quindi, se non si possono usare funzioni di conversione da stringa a numero, l'unica soluzione che mi viene in mente è quella di fare una serie di "if", sperando che il cassiere scriva correttamente il numero del tavolo senza spazi ecc...

{{if ordine.numeroTavolo == '1'}}

<h3 align='center'>NORD</h3>

{{else}}

{{if ordine.numeroTavolo == '2'}}

<h3 align='center'>NORD</h3>

{{else}}

{{if ordine.numeroTavolo == '3'}}

<h3 align='center'>NORD</h3>

--------------------------------------------

{{else}}

<h3 align='center'>SUD</h3>

{{endif}}

Forse non è molto elegante ma potrebbe funzionare!

Grazie

risposta inviata fa da (220 punti)
0 voti
Si, tecnicamente questa soluzione dovrebbe funzionare. I cassieri, per quanto riguarda il numero del tavolo, per la mia esperienza, sono abbastanza precisi. Fammi sapere se riesci. Provo comunque a pensare a qualche alternativa..

Ciao.

Mauro
risposta inviata fa da (31.4k punti)
modificato fa da
0 voti

Ho fatto alcune ricerche e prove e ho verificato che si può usare la funzione int() per convertire il campo alfanumerico in intero.

Quindi con questo codice funziona perfettamente:

{{if int(ordine.numeroTavolo) > 16}}

<h3 align='center'>NORD</h3>

{{else}}

<h3 align='center'>SUD</h3>

{{endif}}

Grazie infinite per come avete concepito questo software, così flessibile da poter facilmente inserire una necessità come la nostra!

risposta inviata fa da (220 punti)
0 voti
Ottimo lavoro. Farò qualche prova anch'io poi lo inserisco nel manuale che ho in revisione in questi giorni.

Domanda, ma cosa succede sulla stampa se un cassiere, al posto del numero tavolo, scrive "Tavolo vicino al palco"?

Ciao.

Mauro.
risposta inviata fa da (31.4k punti)
Al software non so cosa succede, ma il cassiere rischia di fare una brutta fine...
Concordo :-)  :-)
...