Pagina 1 di 1

individuare le festività

Inviato: sabato 29 gennaio 2011, 16:05
da imtommy
Buongiorno.
Avrei questa necessità:
devo inserire un record contraddistinto da una data, in una tabella in modo "sequenziale".
Quindi pensavo di andare sull'ultimo record; memorizzare la data in una variabile; aggiungerne uno definendo il campo data con la variabile memorizzata incrementandone il valore di un'unità.
Il problema delle Domeniche l'ho risolto ma mi scontro con date come ad esempio il 25 aprile 2011 che non è una domenica ma un lunedì ed è festa.
Sul web ho trovato una funzione di Ray che con qualche modifica potrebbe calzare ma non capisco una cosa:
deduco che nella variabile (è una variabile?) HolidayList devo inserire le date che, da calendario, riconosco come "festività"; quello che però non ho capito è come fare ad inserirle.
Cioè...: io le variabili le ho sempre usate attribuendo loro solo 1 valore!
E se fino ad ora ho sbagliato, come s'inseriscono più valori in una stessa variabile?
E ancora...: trattandosi di date, con che formato le inserisco? "25/04/2011" va bene?
Scusate la banalità della domanda ma non ci arrivo. Grazie infinite

Segue funzione di ray recuperata dal www
====
Let ( [ inputdate = inputdate + 1 ; p = PatternCount ( HolidaysList ; inputDate ) ] ; If ( p ; ITC_date__WorkingDayNext ( inputDate ; HolidaysList ) ; inputDate ) )
====

Re: individuare le festività

Inviato: sabato 29 gennaio 2011, 19:23
da raybaudi
Hmmm...
Mi sembrava di averla scritta diversamente :D

/*
WorkingDays ( DateStart ; DateEnd ; HolidayList )

returns the number of working days between the two dates.
No weekend days nor any day of the HolidayList
*/

Let (
$counter = $counter + ( Mod ( DateStart - 1 ; 7 ) < 5 and IsEmpty ( FilterValues ( DateStart ; HolidayList ) ) );
Case(
DateStart > DateEnd ; "" ;
DateStart = DateEnd ; $counter & Let( $counter = "" ; "" );
WorkingDays ( DateStart + 1 ; DateEnd ; HolidayList )
)
)

HolidayList è un campo calcolato contenente una lista di date considerate festive.

Creata una tabella correlata con operatore cartesiano, con un record per ogni data ( Festivtà ? ), HolidayList sarà:

List ( Festività::Data )

Comunque sicuramente sarà più facile NON usare nè questa nè l'altra CF, visto che la creazione di un record sequenziale non festivo l'hai demandata ad uno script.

Saranno gli step dello script ad effettuare la verifica.

Re: individuare le festività

Inviato: martedì 1 febbraio 2011, 16:20
da imtommy
raybaudi ha scritto:Hmmm...
Mi sembrava di averla scritta diversamente :D
E' comprensibile che tu ti sia dimenticato di come l'hai scritta !
Avevi solo 2 mesi di vita Ray! Non puoi ricordartelo!! :D

Grazie mille