# firstworkdate - skript- och diagramfunktion

Funktionen firstworkdate returnerar senast möjliga startdatum för att uppnå no\_of\_workdays (måndag–fredag) som tar slut senast end\_date med hänsyn till alla eventuella helgdagar. end\_date och holiday ska vara giltiga datum eller tidsmarkörer.

Syntax:

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

**Typ av returdata:** heltal

Argument:

FirstWorkDate-argument

| Argument | Beskrivning |
| --- | --- |
| end\_date | Tidsmarkör för det slutdatum som ska utvärderas. |
| no\_of\_workdays | Antalet arbetsdagar som ska uppnås. |
| holiday | Ledighetsperioder som ska undantas från arbetsdagar. En ledighetsperiod anges som ett startdatum och ett slutdatum, avgränsade med kommatecken.<br><br>Exempel: `  '25/12/2013', '26/12/2013' `<br><br>Du kan undanta fler än en ledighetsperiod, avgränsade med kommatecken.<br><br>Exempel: `  '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' ` |

Exempel och resultat:

I de här exemplen används datumformatet DD/MM/YYYY. Datumformatet anges i SET DateFormat-satsen längst upp i laddningsskriptet. Ändra formatet i exemplen så att det passar dina krav.

Exempel 1:

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

Returnerar 17/12/2014.

Exempel 2:

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

Returnerar 15/12/2014 eftersom en ledighetsperiod på två dagar räknas in.

Exempel 3:

Lägg till exempelskriptet i dokumentet och kör det. Lägg sedan till åtminstone de fält som listas i resultatkolumnen på ett ark i dokumentet för att se resultatet.

`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;`

` `

Den resulterande tabellen visar de returnerade värdena för FirstWorkDate för varje post i tabellen.

Resultat för exempel 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 |