0

Löschung Eintrag im Kalender durch eine Bedingung

Hallo, ich habe folgende Frage:

Durch eine Anfrage habe ich ein Datumsfeld ausgefüllt und mit Eintrag ja für den Kalender freigegeben. Nun möchte ich bei Eintreten einer Bedingung z.B. Absage etc. diesen Eintrag als Anzeige im Kalender löschen. Kann mir jemand Hilfestellung geben. D A N K E

Viele Grüße René

10 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo René,

    leider kann man diese Funktion nicht per Skript ändern. Als Workaround würde ich zwei Datumsfelder benutzen. Ein mit Kalendereintrag und ein - ohne. Das Feld mit Kalendereintrag verstecken und beim Feld ohne Eintrag einen Trigger nach Änderung:

    ...

     'FELD MIT EINTRAG':='FELD OHNE EINTRAG'

    ...

    Jetzt kannst du bei der Bedingung (Absage) das Feld mit Eintrag löschen und somit den Kalendereintrag entfernen. Nicht sehr elegant, aber funktioniert.

     

    Leo

    • Rene
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke Leonid. Habe noch eine Frage zum Kalendereintrag bzw. Terminvereinbarung. Bei dem Feld Termin kann man ja einen Eintrag von / bis generieren. Kann man hier auch die Zeiten ausblenden und nur das Datum von / bis anzeigen lassen und wie wird es dann im Kalender eingetragen oder würdest Du bei einer Einsatzplanung die Zeiten so stehen lassen, damit dies im Kalender besser zu sehen / eingetragen ist. Zum Bsp. bei fahrzeugvermietung vom 20.11. 08:00 Uhr bis 21.11. 17:00 Uhr.

    ;-)

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Das ist Geschmacksache. Die Terminfelder nehmen im Kalender bei Wochenansicht die gesamte Fläche ein und wenn du wirklich nur die Tage brauchst würde ich zwei Datumsfelder "Von" "Bis" empfehlen. Jetzt wird es aber komplizierter. Um alle Tage im Kalender anzuzeigen, braucht man eine Zusatztabelle mit einem Datumsfeld und einer Verknüpfung zu der Tabelle Einsatzplannung. Nennen wir Diese Tabelle z.B. Kalendertabelle. Dann wäre eine Formel als Trigger nach Änderung bei Beiden Felder Von und Bis:

    ...

    if Von and Bis then
    let my := this;
    let myVon := Von;
    delete Kalendertabelle;
    for i in range(days(Von, Bis) + 1) do
    let new := (create Kalendertabelle);
    new.(Einsatplanung := my);
    new.(Datum := date(year(myVon), month(myVon), day(myVon) + i))
    end
    end

    ...

    Das Datumsfeld in der Kalendertabelle sollte natürlich als Kalendereintrag markiert werden und die Von Bis Felder - nicht. So kriegst du eine übersichtliche Tagesdarstellung für die Einsätze.

    Leo

    • Rene
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke Leo. Dann werden alle Einträge oben bei jeweiligen Tag angezeigt ? Wenn man es so lassen würde nimmt der Eintrag tatsächlicch die ganze Fläche ein. Wie verhält es sich dann bei mehreren Einträgen als Terminfeld. Sind diese Einträge dann überlagert oder nebeneinander ? ;-)

    VG René

    • pbosch
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo René!
    Es geht auch ein bisschen einfacher: Du hast 2 Datumsfelder Von und Bis und 1 Teminfeld "Termin Von Bis'

    Das Terminfeld lässt du im Kalender anzeigen, die beiden Felder Von und Bis nicht.

    Das Terminfeld versteckst du: Nur Anzeigen wenn: false

    Bei den beiden Feldern Von und Bis hinterlegst du Nach Änderung folgendes Skipt

    if Von and Bis then
    'Termin Von Bis' := number(Von) + "/" + number(Bis - Von)
    end

    Damit brauchst du keine extra Tabelle.

    LG, Peter

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

    Hallo Peter, hallo René,

     

    ich würde das Skript der Einfachheit halber in die Tabelleneigenschaften zu "Nach Änderungen folgendes Skript ausführen" packen - warum den gleichen Code zweimal pflegen. Das Terminfeld fülle ich zudem so:

     

    if Von and Bis then
    'Termin Von Bis' := appointment(Von,Bis)
    end

     

    lg, Torsten

    • pbosch
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke Torsten für den Tipp! Es wird immer einfacher! :-)

    LG, Peter

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ist es nur bei mir so? Auf dieser Weise erstellte Termine haben in der Wochenansicht keine Texte. Bug?

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

    Hallo Leo,

     

    bei mir haben die so erstellten Termine einen Text (MacApp).

     

    lg, Torsten

    • Thomas_siegsoehne
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo, das Thema ist zwar schon etwas älter aber ich habe dazu eine erweiterte Frage.

    Ich habe durch einen Ja/Nein Button die Eintragung des Kalenders gesteuert. Nun gibt es bei mir mehrere Terminfelder, z.B. Aufbau, Veranstaltungstag 1, Veranstaltungstag 2 usw.

    Ich habe für jedes Terminfeld einen verstecktes Terminfeld erstellt, welches dann den Kalendereintrag steuert (wie oben beschrieben). Leider funktioniert die Verbindung nicht und es wird immer nur das 1.Feld (Liefertermin | Aufbau) abgeglichen. (siehe Formel)

     

    if Kalender = true then
    ('Kalendereintrag Liefertermin | Aufbau' := 'Liefertermin | Aufbau') and
    ('Kalendereintrag VTag 1' := 'Veranstaltungstag 1') and
    ('Kalendereintrag VTag 2' := 'Veranstaltungstag 2') and
    ('Kalendereintrag VTag 3' := 'Veranstaltungstag 3')
    else
    ('Kalendereintrag Liefertermin | Aufbau' := null) and
    ('Kalendereintrag VTag 1' := null) and
    ('Kalendereintrag VTag 2' := null) and
    ('Kalendereintrag VTag 3' := null)
    end

     

    Als Erweiterung würde ich gern noch ein Statusfeld (Auswahlfeld) erzeugen, womit z.B. bei Auftragsbestätigung der Kalendereintrag automatisch auf JA switcht. Leider funktioniert dies auch nicht. (siehe Formel)

     

    if Auftragsstatus = 4 then Kalender = true end

     

    Über einen kleinen Denkanschupser wäre ich sehr dankbar.

    Danke & Grüße Thomas