0

Terminserie an bestimmten Wochentagen

Ich versuche mich seit einiger Zeit diese Aufgabe zu lösen.
Leider reichen meine Programmierkenntnisse nicht aus.
Kann mir jemand behilflich sein.

Ich möchte für einen gewissen Zeitraum z.B. vom 01.10. bis zum 31.10 Termine mit gleichem
Zeitfenster automatisiert im voraus anlegen.
Dies sollte nach Vorwahl der einzelnen Wochentage und Eingabe eines Enddatum geschehen.

 

Ich bedanke mich schon mal im Voraus

12 Antworten

null
    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hi, Michael. Sind die Wochentage Ja/Nein-Felder?

    • schami58
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo Mirko,
    ich dachte man könnte es in dieser Form lösen.

    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Das geht auch damit, ich hätte nur ein Mehrfachauswahlfeld benutzt. Ansichtssache. Ich schicke Dir am Nachmittag eine Beispiel-DB für Deinen Fall. Muß erst noch etwas erledigen.

    • schami58
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Mirko,

    habe auch ein Mehrfachauswahlfeld eingesetzt. Wie es für dich einfacher ist.
     

    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hi, Michael. Ich nehme an, dass Du die Terminserie in die Tabelle Arbeiten schreiben willst. Sicher mußt Du hier noch Code anpassen, wenn andere Feldinhalte übertragen werden sollen. Aber die DB kann Dir als Vorlage dienen für Deinen eigenen Code. Mirko

    • schami58
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo Mirko,

    Danke für die schnelle Hilfe.

    Tatsächlich schreibe ich die Daten in die Tabelle Termine!
    Deinen Code kann ich auch soweit anpassen- alles kein Problem.

    Aber es fehlen mir dann die "Zeit von" und die "Zeit bis".

    Das Datum(Tag soll sich ändern), Zeiten bleiben wie sie sind.
    Die Felder "Auswahl" und "Kontakt" sollen genau übernommen werden.

    Vielleicht hast Du noch eine Idee.

    Besten Dank nochmal.

    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    In welcher Tabelle liegt denn der Button? Soll denn ein Terminfeld beschrieben werden, oder sind es ein Datumfeld und zwei Uhrzeitenfelder? Bisher dachte ich du schreibst aus einer Tabelle in eine andere. Oder liegt der Button in der gleichen Tabelle, die er auch beschreiben soll?

    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Was solls. Hier eine Tabelle für beide Versionen.

    • schami58
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo Mirko,

    dieser Code passt:

    let me := this;
    let von := time(start(me.Termin));
    let bis := time(endof(me.Termin));
    let dayRange := range(number(date(start(me.Termin))), number(me.'Ende Serie') + 86400000, 86400000);
    let weekdayRange := numbers(Wochentage);
    if Terminserie then
        for i in dayRange do
            if contains(weekdayRange, weekday(date(i)) + 1) then
                (create Termine).(
                    Auswahl := me.Auswahl;
                    Termin := appointment(datetime(i, von), datetime(i, bis));
                    Kontakt := me.Kontakt
                )
            end
        end
    end

     

    Habe getestet und alles funktioniert. 
    Ich bedanke mich bei dir recht herzlich. Du hast mir unheimlich geholfen.

    • schami58
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo Mirko,

    ich habe doch noch etwas entdeckt. Kann ich aber mit leben!

    Termin am 01.11.2024........... (Freitag) als erster Termin angelegt.

    Wähle ich nun einen "Freitag" in "Wochentage" für eine Terminserie an, ist der Datensatz am "Freitag" doppelt.

    Nochmals besten Dank.

    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Ändere Zeile 4:

    let dayRange := range(number(date(start(me.Termin)) + 1), number(me.'Ende Serie') + 86400000, 86400000);
    
    • schami58
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Funktioniert einwandfrei 👍