Wochentage im Tabellenkopf

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Weaver
Beiträge: 7
Registriert: 31.08.2008, 17:45

Wochentage im Tabellenkopf

Beitrag von Weaver » 22.05.2012, 22:48

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! :-)

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Wochentage im Tabellenkopf

Beitrag von armine » 24.05.2012, 17:59

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Weaver
Beiträge: 7
Registriert: 31.08.2008, 17:45

Wochentage im Tabellenkopf

Beitrag von Weaver » 25.05.2012, 22:00

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

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Wochentage im Tabellenkopf

Beitrag von armine » 29.05.2012, 16:56

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Leonidas
Beiträge: 7
Registriert: 05.06.2012, 12:05

Wochentage im Tabellenkopf

Beitrag von Leonidas » 05.06.2012, 14:35

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.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Wochentage im Tabellenkopf

Beitrag von armine » 05.06.2012, 16:00

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

Leonidas
Beiträge: 7
Registriert: 05.06.2012, 12:05

Wochentage im Tabellenkopf

Beitrag von Leonidas » 05.06.2012, 16:17

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?)

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Wochentage im Tabellenkopf

Beitrag von armine » 05.06.2012, 16:48

Kannst du, das Zauberwort ist »getDay()«.

Leonidas
Beiträge: 7
Registriert: 05.06.2012, 12:05

Wochentage im Tabellenkopf

Beitrag von Leonidas » 05.06.2012, 17:07

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.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Wochentage im Tabellenkopf

Beitrag von armine » 05.06.2012, 18:01

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.

Antworten