0

Ahoi, kann Ninox auf Terminkollisionen prüfen bzw hinweisen ?

... und klar, wenn ja, wie ?

lg, Matthias

11 Antworten

null
    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ja klar, innerhalb der Datenbank...

    Welchen Namen hat die Tabelle, die Felder?

    • Matthias_Schneider
    • vor 5 Jahren
    • Gemeldet - anzeigen

    die Tabelle heisst Materialdispo

    die Felder:

    Anzahl; Artikel;Baustelle;Start;Ende

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    if Start != null and Ende != null then

       let ASD := Start;
       let BSD := Ende;
       let DDD := 0;

    count(select 'Materialdispo' where  (ASD > 'Start' and ASD < 'Ende' + DDD or BSD + DDD > 'Start' and BSD < 'Ende'    or ASD <= 'Start' and BSD >= 'Ende')) = 0;

     

    end;

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    und hier trägst Du den Code ein, bei Dir in den Felder Start und Ende

    die Funktion gibt Wahr oder Falsch zurück..., kann man dann noch belibig mit Farben oder so weiter gestallten

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Wenn du Eine App benutzt dann kann die Lösung so aussehen:

    ---

    let my := this;
    if Start and Ende then
    let myTab := (select Materialdispo)[Nr != my.Nr and (Start > my.Start and Start <= my.Ende or Ende >= my.Start and Start < my.Ende)];
    if myTab then
    alert("Terminkollision" + "
    " + join(myTab.(Artikel + " " + Baustelle + " " + Start + "-" + Ende), "
    "))
    end
    end

    ---

    Die Formel solltest du als Trigger nach Änderung bei Start UND bei Ende eindtragen.

    Wenn du mit Webversion oder Server  arbeitest, kann man dort keine Alerts als Trigger erzeugen. Dann entwerder die Terminfelder löschen oder ein Textfeld mit den Ergebnissen befüllen.

     

    Leo

    • Matthias_Schneider
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ein Träumchen !

    tausend Dank

    • Matthias_Schneider
    • vor 5 Jahren
    • Gemeldet - anzeigen

    sorry, wie kann ich filtern, daß die Meldung nur erscheint, wenn es um den gleichen Artkel geht ?

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    let my := this;

    if Start and Ende then
    let myTab := (select Materialdispo)[Artikel=my.Artikel and Nr != my.Nr and (Start > my.Start and Start <= my.Ende or Ende >= my.Start and Start < my.Ende)];
    if myTab then
    alert("Terminkollision" + "
    " + join(myTab.(Artikel + " " + Baustelle + " " + Start + "-" + Ende), "
    "))
    end
    end

    ---

    Leo

    • Matthias_Schneider
    • vor 5 Jahren
    • Gemeldet - anzeigen

    .... Der Artikel kommt aus ner verknüpfung ... (03 Artikel; hab das unterstrichene eingesetzt),

    weil Fehlermeldung "Eine Tabellenspalte wurde nicht gefunden ...." ??? - die Fehlermeldung bleibt aber ...

     

    let my := this;
    if Start and Ende then
    let myTab := (select Materialdispo)['03 Artikel'.Bezeichnung =my.Artikel and Nr != my.Nr and (Start > my.Start and Start <= my.Ende or Ende >= my.Start and Start < my.Ende)];
    if myTab then
    alert("Terminkollision" + "
    " + join(myTab.(Artikel + " " + Baustelle + " " + Start + "-" + Ende), "
    "))
    end
    end

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    let my := this;
    if Start and Ende then
    let myTab := (select Materialdispo)['03 Artikel'=my.'03 Artikel' and Nr != my.Nr and (Start > my.Start and Start <= my.Ende or Ende >= my.Start and Start < my.Ende)];
    if myTab then
    alert("Terminkollision" + "
    " + join(myTab.(Artikel + " " + Baustelle + " " + Start + "-" + Ende), "
    "))
    end
    end

    • Matthias_Schneider
    • vor 5 Jahren
    • Gemeldet - anzeigen

    danke jetzt ist gut ;-) war noch ne Kleinigkeit in Zeile 7

     

    let my := this;
    if Start and Ende then
    let myTab := (select Materialdispo)['03 Artikel' = my.'03 Artikel' and Nr != my.Nr and (Start > my.Start and Start <= my.Ende or Ende >= my.Start and Start < my.Ende)];
    if myTab then
    alert("Terminkollision" + "
    " + join(myTab.('03 Artikel'.Bezeichnung + " " + Baustelle + " " + Start + "-" + Ende), "
    "))
    end
    end

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 11Antworten
  • 3277Ansichten