Seite 3 von 4

Wochentage im Tabellenkopf

Verfasst: 22.05.2012, 22:48
von Weaver
bin wieder da! :-)

Für Punkt 2.) Zeitberechnung habe ich folgendes im Forum gefunden: http://www.acronaut.de/forum18/1846.html

Funktioniert! :-)
Wenn ich noch ein freien Feld einbauen könnte um meine Pausenzeit einzutragen... diese wird dann beim Total abgezogen... dann wäres Perfekt! :-)

Wochentage im Tabellenkopf

Verfasst: 24.05.2012, 17:59
von armine
Hallo Weaver,

so richtig schlau macht mich die Sache mit den Wochentagen nicht, aber ich habe dafür gesorgt, dass das Formular mit dem Montag der laufenden Woche als Anfangsdatum geöffnet wird. Das Datum kann man ändern – so lange man einen Montag auswählt.
Wenn das Formular Reader-fein gemacht wird, muss man dieses Datum natürlich löschen.
Die tägliche Arbeitszeit wird bei eingegebener Anfangs- und Endzeit berechnet.
Unter den gleichen Bedingungen wird davon eine Pause abgezogen.
Die chronologische Logik wird nicht beachtet, daran kannst du dich austoben, wenn du etwas programmieren geübt hast.
Die Wochenarbeitszeit wird auch berechnet.
Damit das Ganze gelingen kann, habe ich alles passend umbenannt und deinen Code auskommentiert.
Warum steckst du das Feldermeer im unteren Teil nicht in eine Tabelle?

Offenkundig sinnwidrige Eingaben werden abgefangen, unvollstädige ergänzt und statt dem (böden) Doppelpunkt kannst du auch Komma, Punkt, plus und minus eingeben.

War’s das?
vg armine

Wochentage im Tabellenkopf

Verfasst: 25.05.2012, 22:00
von Weaver
Hallo Armine

Vielen Dank! Is ja der Hammer! :-)
So ziemlich genau was wir gesucht haben...!
So können wir nun noch ein paar designtechnische änderungen machen und kommen bei bedarf vielleicht nochmal hier vorbei! Aber mit dem Code kann ich evtl schon mal ein wenig rumspielen!

Ich hatte die Felder aus der Tabelle genommen weil das rechnen mit formcalc in der Tabelle nicht funktionierte...
Du siehst mit Javascript zu wenig am Hut!
Wie lernt man dieses Javascript am besten?

Also vielen Dank und Grüsse aus der Schweiz
Weaver

Wochentage im Tabellenkopf

Verfasst: 29.05.2012, 16:56
von armine
Hallo Weaver,

wenn das schon der Hammer gewesen sein soll? Da schlage ich doch noch ein paar Nägel ein. Will heißen, dass ich als Fingerübung noch dem User auf die Finger schaue und ihn wissen lasse, wo er gerade Unverdauliches oder noch nichts eingegeben hat. Wenn schon etwas berechnet wird, dann soll wenigstens kein Blödsinn ein- und ausgegeben werden können. Solange noch eine (detaillierte) Fehlermeldung angezeigt wird, gibt es keine berechnete Arbeitszeit.

FormCalc: Nichts passt besser zusammen, als FormCalc und Tabellen.

JavaScript: Da steht alles im Internet. Google mal „JavaScript tutorial“.

vg armine

Wochentage im Tabellenkopf

Verfasst: 05.06.2012, 14:35
von Leonidas
Hallo zusammen,

ich habe das gleiche Anliegen wie Weaver.
Ich erstelle einen Wochenbericht. Für den Montag soll das entsprechende Datum eingetragen werden (das kriege ich hin), Dienstag bis Sonntag sollen dann automatisch ergänzt werden (da liegt das Problem).
Genauso eine Lösung wie im PDF von Weaver also, allerdings habe ich nicht gesehen, wie ich die selbst hinbekomme.
Java-Kenntnisse belaufen sich bei mir auf ca. 0,0... ;) Für Hilfe wäre ich sehr dankbar.

Wochentage im Tabellenkopf

Verfasst: 05.06.2012, 16:00
von armine
Hallo Leonidas,

mit dem von dir benannten Kenntnisstand kann es schwierig werden.
Öffne bitte mein Formular, setze bei Fenster > Hierarchie und bei Fenster >Skript-Editor ein Häckchen, ziehe den Skript-Editor auf eine passende Größe und markiere in der Hierarchie den obersten Punkt. Nun kannst du den gesamten Code sehen.

Aus Gründen der Bequemlichkeit habe ich einen Teil in FormCalc geschrieben, mit Javascript ginge es aber auch.

Vielleicht ist dir eher geholfen, wenn du dein Formular hochlädst und dir dann die Änderungen anschaust.

vg armine

Wochentage im Tabellenkopf

Verfasst: 05.06.2012, 16:17
von Leonidas
Danke für die schnelle Antwort.
Ich habe mittlerweile überraschend selbst eine Lösung gefunden, da ich ein passendes Script gefunden habe, dass ich nur leicht anpassen musste:

var d = util.scand("dd.mm.yyyy",this.getField("Datum Mo").value);
d.setDate(d.getDate() + 1); // 1 Tag später
event.value = util.printd("dd.mm.yyyy", d);

Damit hat es einwandfrei hingehauen.

Dafür ist jetzt noch eine andere Frage aufgetaucht.
Kann ich beim eingegebenen Datum überprüfen lassen, ob es sich dabei um einen Montag handelt (und wenn das nicht der Fall ist eine entsprechende Meldung ausgeben lassen?)

Wochentage im Tabellenkopf

Verfasst: 05.06.2012, 16:48
von armine
Kannst du, das Zauberwort ist »getDay()«.

Wochentage im Tabellenkopf

Verfasst: 05.06.2012, 17:07
von Leonidas
Das ist natürlich gut zu wissen.
Leider hilft mir das nicht so viel weiter, weil ich bei Java auf Copy und Paste angewiesen bin. ;) Da komme ich mit dem Ansatz "GetDay" noch nicht ganz so weit.

Wochentage im Tabellenkopf

Verfasst: 05.06.2012, 18:01
von armine
if (this.rawValue) {
    var Wochentag = new Date(this.rawValue.replace(/-/g, "/")).getDay() ;
    if (Wochentag == 1) {
        xfa.host.messageBox("Bravo!\nDas ist ein Montag!", "Das ist ein Montag", 3);
    } else {
        xfa.host.messageBox("Upps,\ndas war kein Montag", "Das ist kein Montag", 3);
        this.rawValue = null
    }
}

Bitte achte darauf, dass Programiersprachen gerne zwischen Groß- und Kleinschreibung unterscheiden. "GetDay" geht also gar nicht.