individuare le festività
Moderatore: Moderatori
-
- Messaggi: 157
- Iscritto il: martedì 19 settembre 2006, 2:00
- Versione FileMaker: 16
- Sistema operativo: osx.13
- Località: milano
individuare le festività
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 ) )
====
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 ) )
====
FMPro Adv 17 Mac OSX 10.13
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Re: individuare le festività
Hmmm...
Mi sembrava di averla scritta diversamente
/*
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.
Mi sembrava di averla scritta diversamente

/*
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.
Raybaudi FMP 12 Adv. Windows XP SP3
-
- Messaggi: 157
- Iscritto il: martedì 19 settembre 2006, 2:00
- Versione FileMaker: 16
- Sistema operativo: osx.13
- Località: milano
Re: individuare le festività
E' comprensibile che tu ti sia dimenticato di come l'hai scritta !raybaudi ha scritto:Hmmm...
Mi sembrava di averla scritta diversamente![]()
Avevi solo 2 mesi di vita Ray! Non puoi ricordartelo!!

Grazie mille
FMPro Adv 17 Mac OSX 10.13