Suchergebnisse

Suchergebnisse 1-16 von insgesamt 16.

  • Benutzer-Avatarbild

    Zitat von MSDN: „TimeSpan can be coerced to and from String and itself only. “Von daher: wohl eher nicht. Ggf. alternativ im Code-Behind, also in der tDS.VB-Datei als Erweiterung des bestehenden tDS-Codes.

  • Benutzer-Avatarbild

    Nochmal kurz zu tDS und CodeBehind. Arbeitszeiterfassung ist ja normalerweise nicht nur Dauer, sondern (auch) Anfang und Ende, z.B. wenn man einen Dienstplan erstellt o.ä. Diese Zeitpunkte müssen also erfasst werden. Ob man die Arbeitsdauer mit erfasst, bleibt da optional. Angenommen Du hättest also eine Tabelle mit 2 DateTime-Spalten und einer TimeSpan-Spalte: vb-paradise.de/index.php/Attac…17e5fcd82e4c21a29c2e753e6 Dann machst Du einen Doppelklick auf den Tabellenkopf und VS erstellt eine Part…

  • Benutzer-Avatarbild

    Dass der Code scheinbar nicht funktioniert, ist eingabeabhängig. Wenn man ne DataTable-Zeile mit korrekten DateTime-Werten anlegt, kommt auch was Sinnvolles raus: VB.NET-Quellcode (3 Zeilen) vb-paradise.de/index.php/Attac…17e5fcd82e4c21a29c2e753e6 Man muss also sicherstellen, dass die DGV-Eingaben auch zu passenden Date-Werten umgewandelt werden. Wenn man also 08:00 eingibt und 08:00 des heutigen Tages da rausbekommen will, muss man schreiben (Umwandlung der Eingabe erfolgt in Zeile#5): VB.NET-Q…

  • Benutzer-Avatarbild

    Das geschieht im DGV selbst. Gib der entsprechenden Spalte bei DefaultCellStyle das Format "hh:\mm". Das Standard-Zeitformat "t" funktioniert interessanterweise nicht. Zuerst dachte ich, dass es doch klappt, aber nach Projektbereinigung ging es wieder nicht. Nur "hh\:mm" kann ich bestätigen.

  • Benutzer-Avatarbild

    ...ist nur die Frage, ob das sinnvoll ist. m.E. gehört sowas dann schon wieder in den Business-Logic-Teil des Programms. Denn dann kommt noch diese Regelung dazu und jene ... Dann besser die TimeSpan-Spalte nicht automatisch in der Tds.vb berechnen lassen, sondern im Hauptprogramm nach Abschluss der DGV-Bearbeitung. Dann kann der Berechnungsteil problemlos auch auf weitere Faktoren zugreifen. Wenn ich mir vorstelle, dass das tDS plötzlich alles mögliche über die Mitarbeiter, Betriebsstruktur, Ar…

  • Benutzer-Avatarbild

    @VB1963: Oh, das sollte kein Konter sein, sondern nur eine Fortsetzung, da ich damit aufzeigen wollte, dass der TE da noch einiges beachten muss, wenn er diesen Weg gehen will. Aber wie geschrieben - seine Entscheidung. @MR_NMS: Wenn das mal nicht Extensions aus @ErfinderDesRades helper projects sind, dann weiß ich auch nicht auf Anhieb weiter. Da müssten wir wohl die betroffenen Zeilen selber sehen. Oder Du versuchst den Sinn der angemarkerten Zeilen zu verstehen und schreibst sie um. Null und …

  • Benutzer-Avatarbild

    Zitat von MR_NMS: „das ist eine Nummer zu schwer für mich“Was genau? EdRs Code? Oder TimeSpan? Oder die Thematik an sich? m.E. ist es insofern einfach: Du hast nen Arbeitsbeginn, Du hast ein Arbeitsende. Beides als Date, da dort Datum+Zeit drin gespeichert werden. Dann würde ich ohne Expressions weiterarbeiten. In ne Extratabellenspalte kommt die effektive Arbeitszeit. Die rechnest Du Dir in ner Extraprozedur aus. Diese Prozedur kennt die ganzen Sonderregeln. Vielleicht sind diese Sonderregeln a…

  • Benutzer-Avatarbild

    Tja, wie ich es machen würde, schrieb ich bereits. Ich werde mich jetzt allerdings nicht mit EdRs Code beschäftigen, um herauszufinden, ob weitergehende rechtliche Regelungen wie einbaubar sind oder ob das überhaupt bei ihm vorgesehen ist. Da wird sich der Autor bestimmt selber dazu äußern.

  • Benutzer-Avatarbild

    Zitat von MR_NMS: „Kann ich es dort auch berechnen?“Gut. Damit hast Du also eine Entscheidung getroffen, nämlich für EdRs Weg*, alles im tDS-Code zu machen. Das ist doch mal ein Anfang. Klar kannst Du. Jetzt geht's eben los, dass Du nach Zeile#3 Deine ganzen Regelungen reinschreibst. Stichwort If. Also z.B.: Wenn e.Row.MonSum (sicher, dass Du es bei derartigen Namen belassen willst?) > 6, dann ziehe von e.Row.MonSum zwei Stunden ab. Wenn es jedoch nur > 4 sind, dann nur eine. Und so weiter. *Übr…

  • Benutzer-Avatarbild

    Bitte sei nicht zu schockiert. VB.NET-Quellcode (1 Zeile) Aber hey, Deine Variante geht auch: VB.NET-Quellcode (1 Zeile)

  • Benutzer-Avatarbild

    Es kommt nicht 3 Stunden raus, sondern 9h + 9h + 9h = 27h = 24h + 3h = 1 Tag und 3 Stunden. @MR_NMS: Wenn Du keine Zeitpanne haben willst, sondern eine Stundenzahl, dann: VB.NET-Quellcode (1 Zeile) Das ist dann aber kein TimeSpan-Wert mehr, sondern ein Double-Wert.

  • Benutzer-Avatarbild

    Derzeit erstelle ich mithilfe von VB eine entsprechende Exceltabelle. Ob die dann ausgedruckt wird oder versendet, kann der User dann selber aussuchen. Aber ich gestalte gerade das Programm um und werde dem User so ermöglichen auch Excel-unabhängige Varianten zu erzeugen, z.B. mithilfe des PrintDocument-CEs dann eine PDF erstellen. Ggf. auch mit ITextSharp, aber das kommt drauf an, was mein Kunde will. Bei ihm ist es ein Kleinbetrieb, sodass sein Schichtplan noch auf eine A4-Seite passt

  • Benutzer-Avatarbild

    Das kommt jetzt drauf an. An sich ist das, ich glaub im Parent-Child-View zu sehen: Schau mal bei EdRs VVV rein. Du ziehst also aus dem Datenquellenfenster nicht die SchichtenTabelle als DGV auf's Form, sondern wenn Du die MitarbeiterTabelle anklickst, kommen da die mitarbeiterabhängigen Schichten: vb-paradise.de/index.php/Attac…17e5fcd82e4c21a29c2e753e6 Ich mach es allerdings anders. Ich erstelle für alle MA gleichzeitig in einem DGV einen Plan. Da kann ich besser schauen, ob genügend Personal …

  • Benutzer-Avatarbild

    Ein DGV kann immer nur 1 (Haupt)Datenquelle haben. Einer ComboBox-Spalte kann man noch eine eigene geben. Aber das ist m.E. bei den VVVs bei Joining-View dabei. Wenn Du aus Post#41, Bild#1 die markierte Tabelle auf Dein Form als DGV ziehst, erhältst Du im DGV all die Schichten, die dem aktuell gewählten Mitarbeiter zugeordnet sind. Aber woher weiß das Programm, wer der aktuell gewählte Mitarbeiter ist? Indem Du ein 2. DGV auf Dein Form ziehst, welches die Mitarbeiter anzeigt. Das schaffst Du, in…

  • Benutzer-Avatarbild

    Nun, das ist eine gute Frage, auch an unsere tDS-Experten wie @ErfinderDesRades und @VB1963. Ich habe das DGV komplett per Code befüllt. Also: Mitarbeiter durchgehen, sich die Schichten für einen bestimmten Tag aus der Schichtentabelle raussuchen, ins DGV reinschreiben (Ausschnitt aus dem Datenmodell anbei). Und beim Speichern alles wieder aus dem DGV rauszerren.* Mit einer Zwischentabelle und DataBinding hier komplett zu arbeiten habe ich gedanklich versucht, habe ich aber nach wenigen Minuten …

  • Benutzer-Avatarbild

    Ah, ok. Aber was hat es mit der IF-Bedingung auf sich? Ist der Mitarbeiter mit der ID Null ein besonderer? Und nur zur Sicherheit: Hast Du AutoIncrementSeed und AutoIncrementStep abgeändert, sodass positive IDs entstehen? Und wozu fügst Du dem DGV IDs hinzu? Die sollten in nem DGV nirgends zu sehen sein. Zur späteren Identifikation? Ist die ID-Spalte im DGV unsichtbar?