[GastForen Programme Web/Internet PDF Grundlagen / Web / eForms PDF Formular Berechnung erster Arbeitstag

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Web/Internet - Webdesign, eForms
Themen
Beiträge
Moderatoren
Letzter Beitrag

PDF Formular Berechnung erster Arbeitstag

Bosbi
Beiträge gesamt: 1

28. Feb 2020, 09:11
Beitrag # 1 von 2
Bewertung:
(6632 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich habe dank der Hilfe dieses Forums folgendes Formular im PDF erstellt und erfolgreich angewandt.


var dStart = util.scand("d.m.yyyy", this.getField("Start").value);
var dEnde = util.scand("d.m.yyyy", this.getField("Ende").value);
/* Textfelder werden apriori als String eingelesen. Damit ein Date
* Objekt entsteht, kann die Methode «scand()» aus dem util» Objekt
* benutzt werden. Das Format des Datums kann durch die Feld-
* Formatierung sichergestellt werden (siehe Annahmen)
*/

var nDifferenzKalendertage = Math.round((dEnde - dStart)/(24*60*60*1000));
/* Wenn mit dem Date Objekt gerechnet wird, wird es dynamisch in
* einen andern Datentyp umgewandelt, hier zum Typ Number.
* In JavaScript wird das Datum in Millisekunden aufgelösst.
* 24 h pro Tag, 60 min. pro Stunde, 60 s pro Minute, 1000 ms pro
* Sekunde
* «Math.round()» ist nötig, um die Effekte der Fliess-Komma-
* Operation zu kompensieren.
*/

var nArbeitstage = 0; // Tageszähler

for (var j = 0; j <= nDifferenzKalendertage + 1; j++) {
var dTag = new Date(dStart*1 + j*24*60*60*1000);
if (dTag.getDay() > 0 && dTag.getDay() < 6) nArbeitstage++;
} //for

/* «nDifferenzKalendertage + 1» ist nötig, um Anfangs- und End-
* Tag mit zu zählen.
* Damit mit den aus dem Date Objekt dStart ein numerischer Wert wird,
* wird es mit 1 multipliziert
*/

this.getField("Arbeitstage").value = nArbeitstage;



Es handelt sich um einen Urlaubsantrag wo die Mitarbeiter Startdatum und Enddatum eintragen können. Automatisch wird die Anzahl der Tage ermittelt.
Nun würde ich gerne noch folgende Ergänzung machen:
Es gibt eine Checkbox Zeitausgleich und eine Urlaub.
Je nachdem was der Mitarbeiter anwählt soll dann entweder im Feld Arbeitstage die Menge der Urlaubstage oder die Menge der Stunden für den Zeitausgleich mit eine Arbeitszeit von 8 Stunden am Tag.
Dafür gibt es dann zwei Felder:
genommene Arbeitstage
genommene Überstunden

Ist es vielleicht möglich auch automatisch den ersten Arbeitstag nach den genommenen Überstunden oder Urlaub mit ein zusätzliches Feld "erster Arbeitstag am" ausrechnen zu lassen?

Woher weiß der Script, wieviel Feiertage und vor allem wann die Feiertage sind?

Danke
bosbi
X

PDF Formular Berechnung erster Arbeitstag

Thomas Richard
Beiträge gesamt: 19334

28. Feb 2020, 15:50
Beitrag # 2 von 2
Beitrag ID: #574360
Bewertung:
(6574 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Woher weiß der Script, wieviel Feiertage und vor allem wann die Feiertage sind?

Garnicht!

Die Auswertung ob ein Tag ein Arbeitstag ist oder nicht, geschieht über diese Zeile:
Code
if (dTag.getDay() > 0 && dTag.getDay() < 6) nArbeitstage++; 


getDay extrahiert den Wochentag aus der Variable dTag.
Liegt der zwischen 1 für Montag (Vorsicht bei sowas, von wegen erster Wochentag = Sonntag im angloamerikanischen Raum) und 5 für Freitag, wird er gezählt, liegt er außerhalb nicht.

Eine Abfrage auf Feiertage müsstest du mit einem konkrete hinterlegten Kalender bewerkstelligen, der für die beweglichen Feiertage wie Ostern und Pfingsten dann noch zu pflegen wäre.


Ich habs noch nie gemacht aber ich stelle mir das so vor:

Abfrage if

dTag = Wochentag 1-5
UND
dTag ungleich einem Mitglied eines Arrays bestehend aus allen Feiertagen.

then
dTag mitzählen

ansonsten nächster Tag der eingegebenen Zeitspanne prüfen.


als Antwort auf: [#574346]

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!