0

Nach Öffnen der DB folgendes Skript (in Tabelle A) ausführen ...

Hallo zusammen,

 

ich habe ein funktionierendes Skript, welches sich in Tabelle A wunderbar mit einem Button auslösen lässt. Jetzt wäre es toll, wenn dieses Skript mit der Opion "Nach Öffnen der DB folgendes Skript ausführen" immer selbstständig laufen würde.

Aber wie sage ich den der Option, dass das Skript für Tabelle A gedacht ist?

 

Dank und Gruß 

Björn

7 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Björn,

    wie lautet denn der Code für die Tabelle A? 

    Leo

    • Bjorn_Burk
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

     

    da meine Folgetermine idR ein Jahr in der Zukunft sind, sieht meine "Terminvorbereitung und Erinnerung" wie folgt aus:

     

    if date(start(Folgetermin)) = today() - 60 then
    let me := this;
    me.(Folgetermin := null);
    let newT := (create Audittermine);
    newT.(

    ...

    newT.('Termin:' := me.Folgetermin);
    openRecord(newT, "Audittermine")
    end

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Björn,

    mir ist nicht klar, warum du den Audittermin nicht direkt beim beim Anlegen des Folgetermins machst. Ich gehe davon aus dass beide Felder (Folgetermin und 'Termin:') sich in der gleichen Tabelle Audittermine befinden. Die Aufgabe ist es, ab 60 Tage vor dem Folgetermin einen Datensatz mit dem neuen Audittermin anlegen und das Feld Folgeterminn zu löschen:

    ---

    let check:=select Audittermine where Folgetermin and date(start(Folgetermin))>=date(year(today()),month(today()),day(today())-60);
    if cnt(check)>0 then
    let news:=for in in check do
    let newT:=create Audittermine;
    newT.(
    ...
    newT.('Termin:' := i.Folgetermin);
    i.Folgetermin:=null;
    newT

    end;
    let myPopup:= dialog ("neue Audittermine","Folgende Aidittermine wurden erstellt:", unique(news.format(start('Termim:'),"DD.MM.YYYY"),"OK"))
    for i in news do
    if i.format(start('Termim:'),"DD.MM.YYYY")=myPopup then
    openRecord(i)
    end
    end

    ---

    Wenn ich keine Tippfehler gemacht habe, sollt eNinox beim Start die Tabelle mit nicht leeren Folgeterminen durchsuchen und dort, wo der Folgetermin weniger als 60 Tage bis zum heute hat, einen neuen Termin anlegen. Dann wird ein Dialog angezeigt wo die Neu erstellete Audittermine mit datum als Button dargestellt werden. Klickt man auf einen Datumsbutton, kandet man im jeweiligen Datensatz.

     

    Leo

    ---

    • Bjorn_Burk
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

     

    an den Terminen hängen Porzesse die während der Vorbereitung und Nachbereitung der Termine zu erledigen sind. D.h. es wäre echt nervig, wenn mich die DB ein Jahr "anmeckert", dass ich was zu erledigen habe.

    Da die "Maschinerie" rund 2 Monate vor dem Folgetermin anlaufen muss, mach das (zumindest in meinen Überlegungen) Sinn.

    Aber ich habe gesehen, dass ich today() - 60 geschrieben habe, der Logik folgend müsste ich hier wohl today()+60 schreiben, damit ich die 60 Tage in die Zukunft gehe.

    Ich teste und berichte - Danke!

    • Bjorn_Burk
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke für Deine Mühe - aktuell bleibt das Skript "folgenlos" ;-)

    Ich muss später mal in Ruhe schauen, ob ich das nachvollzogen bekomme.

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ha, wirklich. Da habe ich auch nicht aufgepast. Dann währe bei mir die erste Zeile:

    ---
    let check:=select Audittermine where Folgetermin and date(start(Folgetermin))<=date(year(today()),month(today()),day(today())+60);

    ---

    Leo

    • Bjorn_Burk
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Läuft mit meinen Testdaten! 
    Vielen Dank für die Hilfe!

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 7Antworten
  • 859Ansichten