0

Tage zwischen Daten in Untertabelle

Hallo zusammen,

 

ich hab ein Start Reisedatum Start (mit Uhrzeit) und ein Reisedatum Ende (mit Uhrzeit).

Ich hätte gerne, dann wenn die beiden Daten ausgefüllt wurden, dass eine Untertabelle entsteht mit allen Tagen die eben zu dem Intervall gehören, aufgelistet werden.

 

Also 12.01.2021 - 14.01.2021

 

Dann entsteht eine Untertabelle:

12.01.2021

13.01.2021

14.01.2021

 

Kann man das irgendwie umsetzen?

 

Vielen Dank!

16 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo, man könnte das bspw. mit einer Schaltfläche machen (Trigger ginge wahrscheinlich auch, wäre aber aufwändiger):

     

    if Start and Ende then
       let me := this;
       let vDat := date(Start);
       while vDat <= Ende do
          let newDate := (create UNTERTABELLE);
          newDate.(HAUPTTABELLE := me);
          newDate.(Datum := vDat);
          vDat := date(year(vDat), month(vDat), day(vDat) + 1)
       end
    end

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo,

     

    ich hab das für die Erfassung von Reisekosten-Abrechnungen auch schon umgesetzt -  zudem dynamisch, d.h. wenn ich die Daten ändere, werden bereits angelegte Reisetage außerhalb des Reisezeitraums automatisch gelöscht. Jeweils als Änderungstrigger bei Start- und Enddatum:

     

    let my := this;
    let myStart := date(year('Datum Abfahrt'), month('Datum Abfahrt'), day('Datum Abfahrt'));
    let myEnd := date(year('Datum Rückkehr'), month('Datum Rückkehr'), day('Datum Rückkehr'));
    for d in select Reisetag where Reisekosten = my do
    if d.Reisetag < my.'Datum Abfahrt' or d.Reisetag > my.'Datum Rückkehr' or my.Reisedauer = 1 then
    delete d
    end
    end;
    if Reisedauer > 1 then
    for i from myStart to myEnd + 1 step 1000 * 60 * 60 * 24 do
    let myDate := first(select Reisetag where Reisetag = i and Reisekosten = my);
    if not myDate then
    let newDate := (create Reisetag);
    newDate.(
    Reisekosten := my;
    Reisetag := i
    )
    end
    end
    end

     

    Anmerkung: Ich lege Reisetage nur an, wenn die Reise länger als 1 Tag ist - anderenfalls genügt der rudimentäre Reisekosten-Datensatz. Und: Da ich gerade auf dem Sprung bin direkt mein Code an mein Datenmodell angepasst, müsste also auf das vorhandene Datenmodell angepasst werden.

     

    lg, Torsten

    • Kalberg
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,

     

    genau darum geht es bei mir auch. Ich suche eine Lösung für eine Reisekostenabrechnung.

    Ich denn dabei auch berücksichtigt, dass bei z.B. 3 Tagen Abwesenheit, der erste/letzte Tag als Anreise/Abreise gezählt wird und nur der Zwischentag die vollen 28€ in DE erhält?

     

    Wäre es möglich, dass du mir dein Datenmodell als Download zur Verfügung stellst?

     

    Liebe Grüße

    Sebastian

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo,

     

    ja, ist es. Außerdem pflege ich Reiseziele (je Reisetag) mit jeweils gültigen Verpflegungspauschalen.

     

    Datenmodell muss ich mal schauen, wie ich das funktional aus meiner Datenbank "herausoperiert" bekomme. Bin gerade unterwegs, schau's mir später an.

     

    lg, Torsten

    • Kalberg
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Das wäre super. Schon einmal vielen Dank!

    • DV digital vereinfacht GmbH
    • Sebastian_Kalberg
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,

     

    entschuldige die "Störung", hast du nochmal nachgesehen?

     

    Vielen Dank!

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Örgs,

     

    nein und beinahe vergessen - Danke für die Erinnerung, ich bemühe mich, das noch heute Nachmittag zu erledigen.

     

    lg, Torsten

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Sebastian,

     

    sooooo, ich hab mich mal ran gemacht. War in der Tat nicht ohne, weil beim Import die internen Indizes neu aufgebaut werden und so manche Funktion in's Nirwana zeigt. Ich hoffe, ich hab alles so erwischt, dass die Funktion gewährleistet oder zumindest nachvollziehbar ist.

     

    https://www.dropbox.com/s/db93nowins1m9u7/Reisekosten.ninox?dl=0

     

    Viel Erfolg!

    • Kalberg
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Wow! Vielen vielen Dank! 

     

    Ich versuche es gerade für mich in meiner Gesamt-Datenbank nachzubauen... wenn ich das datum der Rückkehr eingebe dann erscheinen die Tage auch in der Untertabelle allerdings übernimmt er die pauschalen Beiträge für VMA und Übernachtung nicht... Ich finde den Haken nicht.

     

    Hast du eine Idee? Spielt der Status eine Rolle? Weil den habe ich erstmal weggelassen...

     

    Lieben Dank

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo,

     

    aus der Ferne schwer zu beurteilen. In jedem Fall spielt der Status für das Heranziehen der Pauschalen keine Rolle. Vielmehr habe ich das Umbiegen der Feldbezüge in Funktionen beim Import im Verdacht. :-/

     

    Schade, dass es das Mittwochs-Webinar bei Ninox nicht mehr gibt. Wäre wohl ein gut lösbares Problem, wenn man auf die DB schauen könnte.

     

    lg, Torsten

    • Kalberg
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hi Torsten,

     

    bei der "nach Änderung" war als fixer Wert die 13 eingetragen, weil Deutschland die 13 bei den Pauschbeträgen war. Bei mir habe ich nur Deutschland aktuell, sodass ich die 13 zu einer 1 ändern musste. Jetzt funktioniert es! Vielen Dank!

    • Tempera Strings GmbH
    • Jan.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Torsten Stang Ich wollte mich auch grade mal daran machen das umzusetzen, allerdings wäre es natürlich klasse nicht das Rad neu erfinden zu müssen. Leider ist der Dropbox Link nicht mehr aktuell. Wärest du bereit das nochmal hochzuladen?

    • Torsten_Stang.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Jan,

     

    hier nochmal der Link zur DB:

    https://www.dropbox.com/s/zizf5hf78numb4z/Reisekosten.ninox?dl=0
     

    • Kruna
    • vor 10 Monaten
    • Gemeldet - anzeigen

    Hallo zusammen,

    auf der Suche nach einer Lösung zum Thema Reisekostenabrechnung, bin ich hier fündig geworden.

    Torsten Stangzunächst vielen DAnk für Deine Mühe und Bereitstellung der Datenbank.👍

    Ich habe diese nun improtiert und versuche die anzupassen. Dabei sehe ich gerade, dass ich der Tabelle 'Mitarbeiter' in zwei Feldern, Fehler aufgetaucht sind.

    Ich kann diese leider nicht so genau zuordnen. Könntest Du mir bitte evtl helfen?

    zB Feld 1 (fx) - Resturlaub 31.12. aktuelles Jahr:

    let myDate := date(year(today()), 12, 31);
    sum(B1[B = 1 and D <= myDate].Benutzer) - sum(B1[B = 2 and D <= myDate].Benutzer)

     

    Feld 2 (Button) - Urlaubsanspruch aktuelles Jahr:

    let my := this;
    let myAnspruch := Q;
    let myYear := year(today());
    let myCom := "Urlaubsanspruch " + myYear;
    let myDate := date(myYear, 1, 1);
    let new := ERR("Eine Tabelle wurde nicht gefunden: S");
    new.(Reisekosten := my);
    new.(Nachname := 1);
    new.(Vorname := myDate);
    new.('Geburts-Datum' := myDate);
    new.(Benutzer := myAnspruch);
    new.('E-Mail' := myCom)

    ps: ich sehe gerade, dass auch in der Untertabelle Reisekosten der Tabelle 'Mitarbeiter' sind einige Button mit Fehler angezeigt.

    Vielen Dank schon mal.

     

    Gruß Kruna

      • Torsten_Stang.1
      • vor 10 Monaten
      • Gemeldet - anzeigen

       Hm, das liegt wohl daran, dass ich die Tabelle aus meinem Kontext herausgerissen habe, das Thema Urlaub jedoch nicht mitgenommen habe, da es hier konkret "nur" um Reisekosten ging.

      Ich schau's mir bei Gelegenheit mal an, kann aber dauern, bin quasi im Aufbruch in den Urlaub (wie passend ;-) ).

      • Kruna
      • vor 10 Monaten
      • Gemeldet - anzeigen

      , ok, kein Problem, das eilt nicht.

      Ja, passend auch hier😀 Bin acuh auf dem Weg in den (Kurz)Urlaub, dabei verbunden mit einer geschäftlichen (Kurz)Reise. Daher kam das Thema gerade bei mir auf.

      Ich wünsche Dir noch einen schönen und vor allem erholsamen Urlaub.

      Gruß Kruna

Content aside

  • vor 10 MonatenZuletzt aktiv
  • 16Antworten
  • 885Ansichten
  • 3 Folge bereits