individuare le festività

E' l'area in cui è possibile condividere funzioni personalizzate nate dalla creatività e l'esperienza degli sviluppatori FileMaker

Moderatore: Moderatori

Rispondi
imtommy
Messaggi: 157
Iscritto il: martedì 19 settembre 2006, 2:00
Versione FileMaker: 16
Sistema operativo: osx.13
Località: milano

individuare le festività

Messaggio da imtommy » sabato 29 gennaio 2011, 16:05

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 ) )
====
FMPro Adv 17 Mac OSX 10.13

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Re: individuare le festività

Messaggio da raybaudi » sabato 29 gennaio 2011, 19:23

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.
Raybaudi FMP 12 Adv. Windows XP SP3

imtommy
Messaggi: 157
Iscritto il: martedì 19 settembre 2006, 2:00
Versione FileMaker: 16
Sistema operativo: osx.13
Località: milano

Re: individuare le festività

Messaggio da imtommy » martedì 1 febbraio 2011, 16:20

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
FMPro Adv 17 Mac OSX 10.13

Rispondi