0

Automatische Zuweisung Auswahlfeld basierend auf Auswahlfeld

Bin wieder auf Arbeit und habe schon wieder eine Frage für die Spezialisten unter Euch..

gleich ein Bild um das Schema zu verdeutlichen.

 

Ich suche ein Script zur automatischen Zuweisung der Fahrzeuge zu Personen die sich im Dienst befinden und hierarchisch zugewiesen werden (Person 1-x bekommt Fahrzeug 1-x) wenn Person Kriterium „DIENST“ erfüllt ist.

Die Frage die sich stellt wo ich es am besten anlege.. die Tabelle mit Namen enthällt eine Untertabelle mit dem Datensatz für das Datum,Auswahl,Fahrzeug usw.

Als Trigger vermutlich nicht da nach einer manuellen Änderung die Daten wieder laut Script residiert würden..

Ich vermute als Befehlsschaltfläche wärs die bessere Lösung um die Datensätze manipulierbar zu halten.

vlg

7 Antworten

null
    • Martin_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ich komme leider nicht wirklich weiter

    ich wollte zum Test über einen Button die Datensätze wie im Code beschrieben  auslesen und in eine Tabellenspalte Info anzeigen lassen ob das script überhaupt etwas auslöst.. Von der Syntax her wird kein Fehler anzezeigt leider auch kein Ergebnis ..

    let myStat := Diensttabelle.Auswahl;
    let myDate := today() + 2;
    for i in select Diensttabelle where Datum = myDate and myStat = 1 do
    let myInfo := i.Auswahl;
    i.(Infos := text(myInfo))
    end

    ich möchte damit den Status aus "AUSWAHL" im Info anzeigen lassen..

    habe ich da einen Denkfehler..?

    mfg MK

    • Martin_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ich in schon ein wenig weiter habe aber noch einen Fehler den ich nicht da mir die Fahrzeugtype nicht angezeigt wird.

    let myDate := today() + 2;
    let myAuswahl := 1;
    let myFahrzeug := "";
    let myInfo := "";
    let myVers := "";
    for i in select Diensttabelle where Datum = myDate and Auswahl = 1 do
    if i.'Versieht Dienst' = 1 then
    i.Fahrzeug = myAuswahl
    else
    if i.'Versieht Dienst' = 2 then
    i.Fahrzeug = myAuswahl + 6
    else
    if i.'Versieht Dienst' = 0 then
    i.Fahrzeug = 0
    end
    end
    end;
    myFahrzeug := text(i.Fahrzeug);
    myInfo := text(i.Auswahl);
    myVers := text(i.'Versieht Dienst');
    i.(Infos := "versieht " + text(myInfo) + " in " + text(myVers) + " und fährt" + text(myFahrzeug));
    myAuswahl := myAuswahl + 1
    end

    seht ihr da eventuell einen Fehler... mir verschwimmen die Fälle

    • Martin_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    so sieht die Tabelle als Ergebnis aus welche über einen Button aktualisiert wird.

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Nur mal schnell überflogen und auf Syntax geschaut: Bei den Wertezuordnungen "i.Fahrzeug" in den Zeilen 8, 11 und 14 fehlt wohl der Doppelpunkt vor dem Gleichheitszeichen.

    • Martin_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    let myDate := today() + 2;
    let myAuswahl := 1;
    let myFahrzeug := "";
    let myInfo := "";
    let myVers := "";
    for i in select Diensttabelle where Datum = myDate and Auswahl = 1 do
    if i.('Versieht Dienst' = 1) then
    i.(Fahrzeug := myAuswahl)
    else
    if i.('Versieht Dienst' = 2) then
    i.(Fahrzeug := myAuswahl + 6)
    else
    if i.('Versieht Dienst' = 0) then
    i.(Fahrzeug := 0)
    end
    end
    end;
    myFahrzeug := text(i.Fahrzeug);
    myInfo := text(i.Auswahl);
    myVers := text(i.'Versieht Dienst');
    i.(Infos := "versieht " + text(myInfo) + " in " + text(myVers) + " und fährt" + text(myFahrzeug));
    myAuswahl := myAuswahl + 1
    end

    Geändert aber NÖ die Felder bleiben leer...hmmm Danke in jedem Fall für die Info, ich fange schon zu schielen an :)

    • Martin_K
    • vor 5 Jahren
    • Gemeldet - anzeigen

    so, der Code funktioniert..

    let myDate := today() + 2;
    let xl := number(1);
    let xk := number(7);
    let myInfo := "";
    let myVers := "";
    let myTempVers := 1;
    for i in select Diensttabelle where Datum = myDate and Auswahl = 1 do
    if i.'Versieht Dienst' = 0 then
    i.(Fahrzeug := xl);
    xl := xl + 1
    end;
    if i.'Versieht Dienst' = 1 then
    i.(Fahrzeug := xl);
    xl := xl + 1
    end;
    if i.'Versieht Dienst' = 2 then
    i.(Fahrzeug := xk);
    xk := xk + 1
    end;
    myTempVers := number(i.'Versieht Dienst');
    myInfo := text(i.Auswahl);
    myVers := text(i.'Versieht Dienst');
    i.(Infos := "versieht " + text(myInfo) + " in " + text(myVers) + " und fährt " + i.Fahrzeug)
    end

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    👍

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 7Antworten
  • 2273Ansichten