Seite 1 von 1

Arbeitszeit mit Pausenabzug

Verfasst: 05.09.2018, 15:00
von michl1169
Hallo,

ich bin ganz neu hier und habe leider kein Ahnung von Java Script, aber ich habe es schon fast geschafft mein Formular zu erstellen.
Es ist ein Art Montagebericht mit Fahrzeit und Arbeitszeitberechnung.
Das funktioniert auch alles schon ganz gut dank dem guten Forum hier.
Jetzt möchte ich nur noch das beim Berechnen der Arbeitszeit automatisch 0,5h abgezogen werden.
Ich berechne die Arbeitszeit wie folgt:

Code: Alles auswählen

event.value = Math.round((zuMinuten(this.getField("end1").value) - zuMinuten(this.getField("anf1").value)) / .6) / 100

function zuMinuten(t) {

var arr = t.split(/:/);

if (arr.length == 2)

return Number(arr[0]) * 60 + Number(arr[1]);

else return 0;

}
Vieleich hat jemand einen Tip für mich.
Was muss ich ändern in dem Java Script?

Danke schon mal

michl1169

Re: Arbeitszeit mit Pausenabzug

Verfasst: 05.09.2018, 20:40
von acronaut
Hi Michl,

bin mir jetzt nicht ganz sicher, ob ich Deine Anforderung richtig verstanden habe, weil Du doch nur noch an der richtigen Stelle 30 Minuten (statt 0,5h) abziehen musst, oder:

Code: Alles auswählen

event.value = Math.round((zuMinuten(this.getField("end1").value) - zuMinuten(this.getField("anf1").value) - 30 ) / .6) / 100
Schöne Grüße,
Andi

Re: Arbeitszeit mit Pausenabzug

Verfasst: 06.09.2018, 08:56
von michl1169
Hallo

Danke ich hab es gelöst.
Aber jetzt steht in jedem Ergebnisfeld immer -0,50, da ich aber die gesamt Arbeitsstunden auch noch berechnen will geht das so auch nicht.
Ich hab mal eine Datei angehängt.
Hat da jemand eine Lösung?

Danke

michl1169
Sample1.pdf

Re: Arbeitszeit mit Pausenabzug

Verfasst: 06.09.2018, 22:18
von acronaut
Hi,

Du musst am besten einfach vorher abfragen ob in die beiden Eingabefelder bereits etwas eingetragen wurde, und dann erst den Wert berechnen, bzw. andernfalls einfach den Wert des Feldes "leeren".

Code: Alles auswählen

if(this.getField("end1").value != "" && this.getField("anf1").value != "")
	event.value = Math.round((zuMinuten(this.getField("end1").value) - zuMinuten(this.getField("anf1").value)) / .6) / 100 -0.5
else
	event.value = "";

function zuMinuten(t) {

var arr = t.split(/:/);

if (arr.length == 2)

return Number(arr[0]) * 60 + Number(arr[1]);

else return 0;

}
Schöne Grüße,
Andi

PS: Nur zum besseren Verständnis " !=" im Code ist die Auszeichnung für ungleich

Re: Arbeitszeit mit Pausenabzug

Verfasst: 09.09.2018, 06:57
von michl1169
Hallo

danke genau so soll es aussehen.

Gruß
michl1169