# firstworkdate - funzione dello script e del grafico

La funzione firstworkdate restituisce la data di inizio più recente per fare in modo che il valore no\_of\_workdays (dal lunedì al venerdì) non termini oltre la data end\_date, tenendo in considerazione tutte le festività eventualmente in calendario. end\_date e holiday devono essere date o indicatori temporali validi.

Sintassi:

firstworkdate(end\_date, no\_of\_workdays [, holiday] )

**Restituisce il tipo di dati:** numero intero

Argomenti:

Argomenti FirstWorkDate

| Argomento | Descrizione |
| --- | --- |
| end\_date | L'indicazione di data e ora della data di fine da valutare. |
| no\_of\_workdays | Il numero di giorni lavorativi da raggiungere. |
| holiday | Periodi di vacanza da escludere dai giorni lavorativi. Un periodo di vacanza viene impostato come data di inizio e data di fine, separate da virgole.<br><br>Esempio: `  '25/12/2013', '26/12/2013' `<br><br>È possibile escludere più periodi di vacanza, separati da virgole.<br><br>Esempio: `  '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' ` |

Esempi e risultati:

In questi esempi viene utilizzato il formato di data DD/MM/YYYY. Il formato della data viene specificato nell'istruzione SET DateFormat nella parte superiore dello script di caricamento. Modificare il formato negli esempi in base alle proprie esigenze.

Esempio 1:

`firstworkdate ('29/12/2014', 9)`

Restituisce '17/12/2014.

Esempio 2:

`firstworkdate ('29/12/2014', 9, '25/12/2014', '26/12/2014')`

Restituisce 15/12/2014 perché viene considerato un periodo di vacanza di due giorni.

Esempio 3:

Aggiungere lo script di esempio al documento ed eseguirlo. Aggiungere quindi a un foglio del documento almeno i campi elencati nella colonna dei risultati per visualizzare il risultato.

`ProjectTable:` `LOAD *, recno() as InvID INLINE [` `EndDate` `28/03/2015` `10/12/2015` `5/2/2016` `31/3/2016` `19/5/2016` `15/9/2016` `] ;` `NrDays:` `Load *,` `FirstWorkDate(EndDate,120) As StartDate` `Resident ProjectTable;` `Drop table ProjectTable;`

` `

La tabella risultante mostra i valori restituiti da FirstWorkDate per ciascun record della tabella.

Risultati esempio 3

| InvID | EndDate | StartDate |
| --- | --- | --- |
| 1 | 28/03/2015 | 13/10/2014 |
| 2 | 10/12/2015 | 26/06/2015 |
| 3 | 5/2/2016 | 24/08/2015 |
| 4 | 31/3/2016 | 16/10/2015 |
| 5 | 19/5/2016 | 04/12/2015 |
| 6 | 15/9/2016 | 01/04/2016 |