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
-
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
-
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.
;-)
-
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
-
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é
-
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
-
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
-
Danke Torsten für den Tipp! Es wird immer einfacher! :-)
LG, Peter
-
Ist es nur bei mir so? Auf dieser Weise erstellte Termine haben in der Wochenansicht keine Texte. Bug?
-
Hallo Leo,
bei mir haben die so erstellten Termine einen Text (MacApp).
lg, Torsten
-
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)
endAls 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
Content aside
- vor 4 JahrenZuletzt aktiv
- 10Antworten
- 2509Ansichten