Vai al contenuto

Date consegna e giorno di chiusura

L’app è in grado di valutare il giorno di chiusura oppure una o più date di possibile consegna di un ordine in base a una sintassi leggibile che può essere generata da pattern o essere preassegnata in esportazione in uno dei campi liberi del cliente.

Giorno di chiusura

La stringa che determina il giorno di chiusura va inserita in fase di esportazione nel campo apposito di ogni soggetto o sede.

È possibile specificare in modo semplice le abbreviazioni dei giorni della settimana separate da virgole. Ad esempio “lun,dom” indica che il soggetto è chiuso tutto il lunedì e tutta la domenica. Le abbreviazioni supportate sono: lun, mar, mer, gio, ven, sab, dom.

Se il cliente è chiuso solo per metà giornata è possibile specificare solo una parte della giornata aggiungendo dopo il giorno uno spazio e il modificatore “mat” per mattina o “pom” per pomeriggio. Ad esempio “lun mat,sab pom,dom” significa chiuso il lunedì mattina, il sabato pomeriggio e tutta la domenica. La soglia tra mattina e pomeriggio è configurabile con il parametro CHIUSURA_INIZIO_POMERIGGIO che, se impostato, vale per qualsiasi cliente.

Data di possibile consegna fra almeno N giorni

Il parametro DATA_PREVISTA_GIORNI_MINIMO definisce il numero minimo di giorni che devono trascorrere prima della consegna. Può contenere direttamente un numero, se valido per tutti i clienti, oppure dei pattern interpretati sul documento attivo, esempi validi del parametro sono:

  • 7 indica che per tutti i clienti la data di consegna non può essere precedente a oggi + 7 giorni
  • [cam1] si aspetta nel campo libero1 del cliente un valore numerico che può essere diverso da cliente a cliente
  • [prov;tabella=province_consegna] legge la provincia del cliente convertendola in numero tramite una tabella “province_consegna”

Se valorizzato, impedisce di selezionare date di consegna troppo ravvicinate. Tuttavia, escluso il numero di giorni specificato a partire dalla data di compilazione, tutte le date successive saranno selezionabili, eccetto se configurata l’esclusione di sabati, domeniche, festivi.

Se il parametro o il pattern interpretato non restituiscono un numero allora l’app permetterà di selezionare una data a partire dal giorno stesso di compilazione documento.

Date di possibile consegna definite da pattern

Il parametro DATA_PREVISTA_PATTERN definisce una stringa interpretata sul documento corrente. Valorizzata con una stringa tipo:

  • [cam1] leggerebbe dal campo libero1 del soggetto;
  • [prov;tabella=province_consegna] leggerebbe dalla provincia del soggetto traducendola poi con una tabella generica “province_consegna”;
  • [sedp;tabella=province_consegna] leggerebbe dalla provincia della sede scelta traducendola poi con una tabella generica “province_consegna”.

Il risultato ottenuto da questo pattern interpretato deve poi rispettare una delle seguenti regole:

  • mar, gio” permette di selezionare il primo martedì o giovedì successivo alla data odierna (escludendo tuttavia la stessa data odierna);
  • mar se lun 13, gio se mer 15” permette di selezionare un martedì se ci si trova al massimo entro le ore 13 del lunedì precedente, oppure il giovedì se ci si trova al massimo entro le ore 15 del mercoledì precedente, o comunque tutti i martedì o giovedì successivi;
  • i formati possono essere mescolati: “mar, gio se mer 13” proporrà il primo martedì successivo il giovedì se ci si trova entro il mercoledì precedente prima delle 13;
  • domani se oggi 17” invece prevede di poter selezionare il giorno successivo se ci si trova entro le 17 del giorno in cui si crea il documento, o comunque si può selezionare ogni giorno successivo;
  • oggi se oggi 13” permette di selezionare anche il giorno stesso del documento se entro le 13, oppure ogni giorno successivo.

Il sistema genera automaticamente multiple date di consegna in base alle regole definite, rispettando sempre i giorni da saltare specificati in DATA_PREVISTA_SALTA_GIORNI. Il numero di date generate è configurabile tramite il parametro DATA_PREVISTA_PATTERN_QUANTE (default: 5).

Esclusione di sabati, domeniche, festivi

Usando il parametro DATA_PREVISTA_SALTA_GIORNI si potranno escludere dalle date selezionabili alcune categorie di giorni, il parametro accetta una stringa che può essere una combinazione di:

  • S: salta i sabati
  • D: salta le domeniche
  • F: salta i giorni festivi

Quindi un valore valido possono essere ad esempio “DF” oppure “SDF“.