0

do as server / do as transaction

let me := this;
"";
let neueBuchung := (create Buchung);n
eueBuchung.(uniqueId := timestamp(now()));
neueBuchung.(Datum := today());
neueBuchung.(Buchungstext := me.Buchungstext);
neueBuchung.(Betrag := me.Betrag);
neueBuchung.(timestamp := me.timestamp);
"";
let neueSollZeile := (create Buchungszeile);
neueSollZeile.(Buchung := neueBuchung);
neueSollZeile.(Seite := "Soll");
neueSollZeile.(Betrag := me.Betrag);
neueSollZeile.(Kontoklasse := first(me.Buchungszeile[text(Seite) = "Haben"]).Kontoklasse);
neueSollZeile.(Konto := first(me.Buchungszeile[text(Seite) = "Haben"]).Konto);
"";let neueHabenZeile := (create Buchungszeile);
neueHabenZeile.(Buchung := neueBuchung);
neueHabenZeile.(Seite := "Haben");
neueHabenZeile.(Betrag := me.Betrag);
neueHabenZeile.(Kontoklasse := first(me.Buchungszeile[text(Seite) = "Soll"]).Kontoklasse);
neueHabenZeile.(Konto := first(me.Buchungszeile[text(Seite) = "Soll"]).Konto)

Dieser Code funktioniert, solange er nicht in einem "do as server" oder "do as transaction" Böock steht, denn dann funktionieren die Zeilen 

neueSollZeile.(Kontoklasse := first(me.Buchungszeile[text(Seite) = "Haben"]).Kontoklasse);
neueSollZeile.(Konto := first(me.Buchungszeile[text(Seite) = "Haben"]).Konto);

neueHabenZeile.(Kontoklasse := first(me.Buchungszeile[text(Seite) = "Soll"]).Kontoklasse);
neueHabenZeile.(Konto := first(me.Buchungszeile[text(Seite) = "Soll"]).Konto)

nicht mehr, Kontoklasse und Konto bleiben leer. Kann mir bitte jemand erklären, warum das so ist und wie man es machen müsste, damit es auch in einem solchen Blick funktioniert.

1 Antwort

null
    • UweG
    • vor 8 Stunden
    • Gemeldet - anzeigen

    Um welche Feldtypen handelt es sich bei 'Kontoklasse' und 'Konto'.
    Könnten es Verknüpfungen sein?

    Vielleicht dann so:

    neueSollZeile.(Kontoklasse := first(me.Buchungszeile[text(Seite) = "Haben"]).number(Kontoklasse));
    neueSollZeile.(Konto := first(me.Buchungszeile[text(Seite) = "Haben"]).number(Konto));
    
    neueHabenZeile.(Kontoklasse := first(me.Buchungszeile[text(Seite) = "Soll"]).number(Kontoklasse);
    neueHabenZeile.(Konto := first(me.Buchungszeile[text(Seite) = "Soll"]).number(Konto))
    

    Ansonsten würde ich mit debugValueInfo() vergleichen, was die Zeilen im 'do as ...' und clientseitig zurück gibt.

Content aside

  • vor 8 StundenZuletzt aktiv
  • 1Antworten
  • 35Ansichten
  • 2 Folge bereits