einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von Tom » 20.11.2018, 19:52

Hallo Liebe Gemeinde,

in meinem Formular(Tabelle) werden Arbeitszeiten erfasst immer für den Monat. Es funktioniert soweit auch. Im Datumsfeld nur einen Tag auswählen und schon erscheinen die Tage in der Tabelle. Mit meinem Zeit-Button fülle ich die Wochenarbeitstage im Standardzeiten aus.

Zukünftig soll möglich sein:
1. Einen weiteren Tag einfügen, falls die Arbeitszeit gesplittet wird für den Tag. (Plus-Button) Hier wird nicht übernommen das Datum der vorgegebenen Zeiten.
2. Mit dem Button "zwei Zeiten pro Tag" möchte ich gerne zu den Tagen Montag bis Donnerstag weitere Zeile hinzufügen und mit Zeiten füllen.

Freue mich über Tip's, wo mein Fehler liegt. :D

Viele Grüße
Tom

Tabelle2.pdf
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von armine » 21.11.2018, 17:58

Hallo Tom,

eine weitere Zeile einfügen und ggf. Werte zu übernehmen ist kein Problem. Aber warum lässt du dich auf das Gezerre ein, wenn du es mit 2 weiteren Spalten für Arbeitsbeginn bzw. -ende vermeiden kannst?
Die beiden angefragten Änderungen habe ich eingebaut. Wenn du mit den zusätzlichen Zeilen weiterarbeiten möchtest, kann ich dir die Daumen drücken. Da kommt noch ein Rattenschwanz an zusätzlichem Code, bis das lauffähig wird, auf dich zu.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von Tom » 22.11.2018, 19:55

Hallo armine,


vielen Dank für die Hilfe.

In den meisten Fällen wird nur eine Zeile pro Tag gebraucht oder an ein oder zwei Tagen im Monat wird eine zweite Zeile benötigt für den Tag. Es gibt nur ganz wenige Mitarbeiter die von Montag bis Donnerstag zwei Zeilen benötigen für den Tag. Die Arbeitszeit(von-bis) bedarf einer Begründung, wenn eine andere Zeit eingegeben wird und diese Zeit abweicht von den Standardzeit die zur Auswahl stehen.

Ja, ich bin mir bewußt, dass es kein leichter Weg werden wird. Es ist für mich eine Herausforderung besser zu werden. Wobei ich bereits Versionen habe, wo die Feiertage(Osterformel) berechnet werden und diese Feiertage dann einen grauen Texthintergrund haben.

VG Tom

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von Tom » 25.11.2018, 19:03

Guten Abend,

nun bin ich mit meinem Formular schon recht zufrieden. Aber es kann ruhig noch besser werden. Zwei Widrigkeiten hat mein Formular noch.
- etwas sonderbar verhalt sich es mit dem Oktober. Der letzte Sonntag ist immer doppelt drin beim der Auswahl von Oktober
- gerne würde ich die Zeilenhöhe größer haben. (nicht Kopf und Fußzeile) Passe ich die Zeilenhöhe an meine Wunschhöhe an (0,7) so steht auf der zweiten Seite die Kopf- und Fußzeile. Bräuchte eigentlich nicht, da auf der ersten Seite noch genügend Platz ist.

Schaut euch mal das Formular an und teilt mir mit, was ich noch verbessern kann!!! Meine beiden oben genannten Punkte meine ich nicht.

Viele Grüße Tom
Tom_Tabelle3.pdf
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von armine » 26.11.2018, 10:30

Hallo Tom,

man sieht, dass du dich gründlich in die Materie eingelesen hast. Manchmal gibt es aber einfachere Wege zum Ziel. Das Allermeiste in meinem Ansatz stammt aus meinem Fundus und es kann sein, dass ich in der Menge deines Codes nicht alle Ansätze und Ziele aufgespürt habe. Die Ausführung:

Die Zeilenhöhe folgt deiner Vorgabe von 7 Millimetern (6 reichen aber aus).
Den Monaten wird die korrekte Anzahl an Tagen zugewiesen.
Das Kalendarium bleibt fortlaufend erhalten, d.h. man keine Tage löschen.
Bei jedem Tag kann eine zusätzliche Zeile eingefügt und auch wieder gelöscht werden.
Wochenenden und Feiertage (richtig, die wolltest du doch haben) sind grau hinterlegt.
Die Feiertage sind leicht an deine Gegebenheiten anzupassen.
Bei Sonn- und Feiertagen ist die Schrift rot.
Funktionen, die nur aus einem Feld aufgerufen werden, stehen auch dort.
Weil’s so üblich ist, werden die errechneten Tagesarbeitszeiten am Tabellenfuß zusammengezählt.
Stimmt es übrigens, dass jede angefangene Viertelstunde (1 bis 14 Min.) als Viertelstunde zählt?
Für die bei Bedarf eingeforderte „Begründung“ habe ich die Form des Pflichtfelds gewählt.
Das Pflichtfeld lässt sich nicht mit einem oder mehreren Leerzeichen abspeisen.

Beim ersten Öffnen wird der aktuelle Monat aufgebaut. Andere Monate (das laufende Jahr sowie je 3 Monate davor und danach) sind aus einer DDL auszuwählen.
Weil es mir nicht gefällt, dass nach Eingabe des Monats weiter oben Buttons auftauchen, habe ich deren Funktionalität in eine weitere DDL gepackt. Da sieht man auch besser, um was es geht.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von Tom » 26.11.2018, 16:55

Hallo armine,

sprachlos bin ich einfach. Vielen Dank für die Mühe. Mit wie wenig Code es möglich ist so ein Ergebnis zu bekommen. Es gibt viele Stellen im Code bei dem ich nachschlagen werde, da ich einiges umständlich gelöst habe.

Ja es stimmt, jede angefangene Viertelstunde zählt als Viertelstunde.
Die Auswahl des Monats macht optisch viel mehr her mittels DDL.
Die Lösung mit der DDL und darin die vorgegebenen Zeiten ist super.

Wäre es vielleicht noch möglich, bei den Arbeitstagen die zwei Zeiten haben auch diese zweite Zeit vorab einzutragen, wie im meinem obigen Beispiel?

vg Tom

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

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von armine » 27.11.2018, 10:28

Hallo Tom,

eine zweite Arbeitszeit in der zusätzlichen Zeile einzutragen sollte kein Problem sein.
Und weil ich schon mal die Finger im Code hatte, werden nun an Feiertagen weder zusätzlichen Zeilen noch Arbeitszeiten eingetragen.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von Tom » 27.11.2018, 16:19

Hallo Armine,

vielen Dank. Ich hab das Formular ausprobiert und alle funktioniert super.

vg Tom

Tom
Beiträge: 61
Registriert: 21.08.2007, 13:54

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von Tom » 27.11.2018, 17:38

Hallo armine,

beim Drucken wird die berechnete Arbeitszeit mit ausgedruckt. Wie kann ich das verhindern?
Mein bisheriger Ansatz war um das Textfeld ein Teilformular zulegen und diesem einen Rand zu geben. Das Dezimalfeld habe ich gesetzt auf nur sichtbar am Bildschirm und schon ist die Optik erhalten von der Tabelle.

vg Tom

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

Re: einfügen von Zeilen an bestimmter Stelle in Tabelle und Werte übergeben

Beitrag von armine » 28.11.2018, 11:05

Hallo Tom,

so ist das nach deinen Vorstellungen umgesetzt.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten