Pouvez vous si possible m'expliquer ce code. Je dois faire ça le plus rapidement possible et la personne qui a créé ça n'est plus la.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
if cdate({WORK_ORDER.WOWO_REPORT_DATE}) = cdate({WORK_ORDER.WOWO_START_DATE}) then
 
    if datediff("h",{WORK_ORDER.WOWO_REPORT_DATE},{WORK_ORDER.WOWO_START_DATE})> 0 then
 
        datediff("h",{WORK_ORDER.WOWO_REPORT_DATE},{WORK_ORDER.WOWO_START_DATE})
 
    else
 
    0
 
elseif DateDiff ("h",{WORK_ORDER.WOWO_REPORT_DATE} , dateadd("h",18,cdate({WORK_ORDER.WOWO_REPORT_DATE})))<0 then
 
        0 
 
elseif DateDiff ("h",{WORK_ORDER.WOWO_REPORT_DATE} , dateadd("h",18,cdate({WORK_ORDER.WOWO_REPORT_DATE})))+
 
        (datediff("d",{WORK_ORDER.WOWO_REPORT_DATE}+1,{WORK_ORDER.WOWO_START_DATE})-
 
        DateDiff ("ww",{WORK_ORDER.WOWO_REPORT_DATE}+1 ,{WORK_ORDER.WOWO_START_DATE},crsaturday )-
 
        DateDiff ("ww",{WORK_ORDER.WOWO_REPORT_DATE}+1 ,{WORK_ORDER.WOWO_START_DATE},crsunday ))*11+    
 
	       datediff("h",dateadd("h",7,cdate({WORK_ORDER.WOWO_START_DATE})),{WORK_ORDER.WOWO_START_DATE})>0 then
 
        DateDiff ("h",{WORK_ORDER.WOWO_REPORT_DATE} , dateadd("h",18,cdate({WORK_ORDER.WOWO_REPORT_DATE})))+
 
        (datediff("d",{WORK_ORDER.WOWO_REPORT_DATE}+1,{WORK_ORDER.WOWO_START_DATE})-
 
        DateDiff ("ww",{WORK_ORDER.WOWO_REPORT_DATE}+1 ,{WORK_ORDER.WOWO_START_DATE},crsaturday )-
 
        DateDiff ("ww",{WORK_ORDER.WOWO_REPORT_DATE}+1 ,{WORK_ORDER.WOWO_START_DATE},crsunday ))*11+
 
       datediff("h",dateadd("h",7,cdate({WORK_ORDER.WOWO_START_DATE})),{WORK_ORDER.WOWO_START_DATE})
 
else
WOWO_REPORT_DATE est la date prévue.
WOWO_START_DATE est la date de début.

C'est une formule permettant de calculer la réactivité des interventions.

Les plages horaires d'intervention sont 8h-12h et 13h30-19h00

En vous remerciant