# firstworkdate — funkcja skryptu i funkcja wykresu

Funkcja firstworkdate zwraca najpóźniejszą datę rozpoczęcia, gdy możliwe jest uzyskanie parametru no\_of\_workdays (poniedziałek–piątek) z końcem nie później niż w dniu określonym przez parametr end\_date oraz z uwzględnieniem wszelkich opcjonalnie wyszczególnionych dni wolnych. Parametry end\_date i holiday powinny być poprawnymi datami lub znacznikami czasu.

Składnia:

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

**Typ zwracanych danych:** liczba całkowita

Argumenty:

Argumenty FirstWorkDate

| Argument | Opis |
| --- | --- |
| end\_date | Znacznik czasu daty końcowej do oceny. |
| no\_of\_workdays | Liczba dni roboczych do uzyskania. |
| holiday | Okresy wolne od pracy wyłączane z dni roboczych. Okres wolny od pracy podaje się jako datę początkową i datę końcową rozdzielone przecinkiem.<br><br>Przykład: `  '25/12/2013', '26/12/2013' `<br><br>Można wyłączyć wiele okresów wolnych od pracy, rozdzielając je przecinkami.<br><br>Przykład: `  '25/12/2013', '26/12/2013', '31/12/2013', '01/01/2014' ` |

Przykłady i wyniki:

W tych przykładach należy użyć formatu daty DD/MM/RRRR. Format daty jest określony w instrukcji SET DateFormat u góry skryptu ładowania. Zmień format w przykładach odpowiednio do swoich potrzeb.

Przykład 1:

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

Zwraca wartość 17/12/2014.

Przykład 2:

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

Zwraca 15/12/2014, ponieważ brany jest pod uwagę dwudniowy okres urlopowy.

Przykład 3:

Dodaj przykładowy skrypt do dokumentu i uruchom go. Następnie dodaj do arkusza w swoim dokumencie co najmniej pola wyszczególnione w kolumnie wyników, aby wyświetlić wynik.

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

` `

Tabela docelowa przedstawia zwrócone wartości funkcjiFirstWorkDate dla każdego z rekordów w tabeli.

Wyniki przykładu 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 |