Calcolo orario lavoro di una commessa
Moderatore: Moderatori
-
- Messaggi: 14
- Iscritto il: mercoledì 10 gennaio 2007, 1:00
Calcolo orario lavoro di una commessa
Buona sera a tutti ho cercato per tutto il forum e nn ho trovato risposta, sto creando per lavoro un DB che gestisce le commesse per il mio ufficio, ho però un problema non riesco a calcolare le ore precise di una commessa. Mi spiego meglio se la commessa termina in un giorno lavorativo la formula è semplice, ma se la commessa dura più giorni come fare a far capire che l'orario di lavoro è dalle 09:00 alle 13:00 e dalle 14:00 alle 18:00?
Vi ringrazio a tutti sopratutto a chi mi saprà aiutare.....
Vi ringrazio a tutti sopratutto a chi mi saprà aiutare.....

- fabio.beri
- Messaggi: 2041
- Iscritto il: sabato 4 ottobre 2014, 16:24
- Versione FileMaker: 2023
- Sistema operativo: Win/Mac
Re: Calcolo orario lavoro di una commessa
Buonasera. Tema complesso da spiegare su un forum. Comunque, in questo sito troverà molte funzioni personalizzate per elaborare i giorni lavorativi al netto di sabati, domeniche e festività: https://www.briandunning.com/cf/1809
Fabio Beri
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
Moderatore FMPro.it
Sviluppatore OmniaGest 5 - FileMaker 15/16/17/18/19
Omnia Studio
-----------------------------------------
http://tinyurl.com/omniagest2024
-
- Messaggi: 14
- Iscritto il: mercoledì 10 gennaio 2007, 1:00
Re: Calcolo orario lavoro di una commessa
Ho appena creato la Funzione personalizzata ma nn mi torna......
Dichiara (
[
To = RicavaComeData ( To ) ;
Fr = Casi(
Anno ( To ) > Anno ( RicavaComeData ( From) ) ;Data ( 1 ; 1 ; Anno ( To ) );
RicavaComeData ( From)
) ;
Days = Casi (
GiornodiSettimana ( Fr ) = 1 and GiornodiSettimana ( To ) = 1 ;( ( SettimanaAnno ( To-1 ) - SettimanaAnno ( Fr ) +1 ) * 5 ) ;
GiornodiSettimana ( Fr ) = 1 and GiornodiSettimana ( To ) ≠ 1 ;( ( SettimanaAnno ( To -7 ) - SettimanaAnno ( Fr ) +1 ) * 5 )+ ( GiornodiSettimana ( To )-1) ;
GiornodiSettimana ( Fr ) ≠ 1 and GiornodiSettimana ( To ) = 1 ;( ( SettimanaAnno ( To-1 ) - SettimanaAnno ( Fr + 7 ) + 1) * 5) + ( 7 - GiornodiSettimana ( Fr ));
( ( SettimanaAnno ( To-7 ) - SettimanaAnno ( Fr + 7 ) +1 ) * 5) + ( 7 - GiornodiSettimana ( Fr ))+ ( GiornodiSettimana ( To )-1)
)
];
Days + Casi(
Anno ( To ) > Anno ( From ) ; CountWorkingDays ( From ; Data ( 12 ; 31 ; Anno ( To ) - 1 ) ) ;
0
)
)
Sbaglio io qlc? Ho messo come data da cercare in un campo calcolato:
CountWorkingDays ( Data (5;1;2014); Data (15;9;2015))
ma da come risultato 37

Dichiara (
[
To = RicavaComeData ( To ) ;
Fr = Casi(
Anno ( To ) > Anno ( RicavaComeData ( From) ) ;Data ( 1 ; 1 ; Anno ( To ) );
RicavaComeData ( From)
) ;
Days = Casi (
GiornodiSettimana ( Fr ) = 1 and GiornodiSettimana ( To ) = 1 ;( ( SettimanaAnno ( To-1 ) - SettimanaAnno ( Fr ) +1 ) * 5 ) ;
GiornodiSettimana ( Fr ) = 1 and GiornodiSettimana ( To ) ≠ 1 ;( ( SettimanaAnno ( To -7 ) - SettimanaAnno ( Fr ) +1 ) * 5 )+ ( GiornodiSettimana ( To )-1) ;
GiornodiSettimana ( Fr ) ≠ 1 and GiornodiSettimana ( To ) = 1 ;( ( SettimanaAnno ( To-1 ) - SettimanaAnno ( Fr + 7 ) + 1) * 5) + ( 7 - GiornodiSettimana ( Fr ));
( ( SettimanaAnno ( To-7 ) - SettimanaAnno ( Fr + 7 ) +1 ) * 5) + ( 7 - GiornodiSettimana ( Fr ))+ ( GiornodiSettimana ( To )-1)
)
];
Days + Casi(
Anno ( To ) > Anno ( From ) ; CountWorkingDays ( From ; Data ( 12 ; 31 ; Anno ( To ) - 1 ) ) ;
0
)
)
Sbaglio io qlc? Ho messo come data da cercare in un campo calcolato:
CountWorkingDays ( Data (5;1;2014); Data (15;9;2015))
ma da come risultato 37

