Calcolo orario lavoro di una commessa

Come utilizzare i campi. Differenze tra campi calcolati, testo, numero, multipli, contenitori.

Moderatore: Moderatori

Rispondi
akela79
Messaggi: 14
Iscritto il: mercoledì 10 gennaio 2007, 1:00

Calcolo orario lavoro di una commessa

Messaggio da akela79 » martedì 3 maggio 2022, 15:20

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..... ;)

Avatar utente
fabio.beri
Messaggi: 1958
Iscritto il: sabato 4 ottobre 2014, 16:24
Versione FileMaker: 2023
Sistema operativo: Win/Mac

Re: Calcolo orario lavoro di una commessa

Messaggio da fabio.beri » martedì 3 maggio 2022, 15:31

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

akela79
Messaggi: 14
Iscritto il: mercoledì 10 gennaio 2007, 1:00

Re: Calcolo orario lavoro di una commessa

Messaggio da akela79 » martedì 3 maggio 2022, 17:35

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 :shock: :shock:

Rispondi