0

Bug? Skript nach Änderung bei Trigger wird nicht ausgeführt.

Liebe Ninox Profis!

 

Ich habe die ganze Nacht getüftelt und bin mit folgendem Problem auf keinen grünen Zweig gekommen.

 

Folgende Aufgabe funktioniert:

let myID := this;
let creAuftrag := (create 'Aufträge');
creAuftrag.(
Auftragstitel := myID.Angebotstitel;
Kunde := myID.Kunde; );

for a in myID.Angebotsposition do
let cre := (create Auftragspositionen);
cre.(
Auftrag := creAuftrag;
Artikel := a.Artikel;
Titel := creAuftrag.Auftragstitel;
Menge := a.Menge;
'Zeit einzel' := a.'Zeit einzel';
'Material einzel' := a.'Material einzel';
'Werkzeugpauschale einzel' := a.'Werkzeugpauschale einzel';
Stundensatz := a.Stundensatz
)
end

 

--> Dieser Code in einem Button in der Tabelle Angebote erstellt aus einem Angebot einen Auftrag. Dabei werden alle Angebotspositionen als Auftragspositionen angelegt. Das läuft.

 

PROBLEM: Mit dem selben Buttonklick sollen der Unter-Untertabelle 'Aufträge.Auftragspositionen.Aufgaben' bestimmte zugehörige Datensätze hinzugefügt werden und zwar aus einer anderen (Unter)Tabelle: 'Artikel.Tätigkeiten'.

Zugehörig insofern, weil die Auftragspositionen im Grunde Artikel sind (dh. die Artikel.Titel und Auftragspositionen.Titel stimmen immer 100% überein).

 

Mein Ansatz war folgender:

Beim Buttonklick wird der 'Trigger 1' in der Untertabelle Auftragspositionen ausgelöst:

Trigger 1: Ja/Nein Feld nach Änderung folgendes Skript:

let myID := this;
for a in myID.Auftragspositionen do
a.(Trigger 2 := true)
end

 

'Trigger 1' löst also den in den Auftragspositionen befindlichen 'Trigger 2' aus:

Trigger 2: Ja/Nein Feld (Standardwert: Nein) nach Änderung folgendes Skript:

let myID := this;
if not myID.Aufgaben then
for a in select 'Tätigkeiten' where myID.Artikel = Artikel do
let creA := (create Aufgaben);
creA.(
'Tätigkeit' := a.'Tätigkeit';
Auftragspositionen := myID
)
end
end

 

--> Hier liegt das Problem: alle 'Trigger 2' werden von Standard Nein auf Ja umgeschaltet, führen aber das Skript nicht aus!

 

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt - wäre SEHR dankbar für einen Hinweis...

 

Libe Grüße,

Josef

1 Antwort

null
    • Josef
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Problem gelöst!

     

    Die oben genannte for... in... do... Schleife im Button hatte ich mit do as server ausführen lassen, was ich der Einfachheit halber hier anders gepostet hatte. Jetzt habe ich das gestrichen.

     

    Außerdem habe ich den Trigger 1 ebenfalls gestrichen und spreche jetzt direkt aus dem Button den Trigger 2 an. Der wird jetzt bei jedem Schleifendurchgang mit Trigger := true vom Standarwert Nein auf Ja umgeschaltet und führt seine Aktion interessanterweise auch aus!

     

    Der Ablauf ist also:

    Button schaltet Trigger 2 um --> Trigger 2 erstellt Datensätze in Untertabelle

     

    Was ich aber noch immer nicht verstehe - wenn der Vorgang so aussieht:

    Button schaltet Trigger 1 um --> Trigger 1 schaltet Trigger 2 um --> Trigger 2 erstellt Datensätze in Untertabelle

    werden alle Trigger 2 zwar umgeschaltet, erstellen aber keine Datensätze!!

     

    Danke fürs mitdenken!

     

    Liebe Grüße,

    Josef

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 1Antworten
  • 681Ansichten