0

Wie kann man ein Zahlenfeld ins negativ setzen beim kopieren

Hallo ich nutze ein bereits erstellte Vorlage zur EA

bei der manuellen Eingabe werden die Ausgaben ins Minus gesetzt.

let myValue := Brutto;
Brutto := switch text('Einnahme I Ausgabe I Einzahlung I Entnahme') do
case "Ausgabe":
abs(myValue) * -1
case "Entnahme":
abs(myValue) * -1
case "Einnahme":
abs(myValue)
case "Einzahlung":
abs(myValue)
end

wenn ich aber mit einem Befehl die Daten (Positiv) aus einer anderen Tabelle,

rüber kopiere bleibt diese positiv

 

let myEB := 'OrderNr:' + " " + VollerName;
let myKD := first(select EA where Text = myEB);
if myKD != null then
alert("Diese Auftragsnummer ist bereits vorhanden")
else
let eBay := this;
let newK := (create EA);
newK.(
'Datum + Uhrzeit' := eBay.'1. Creation Date:';
Text := eBay.'OrderNr:' + " " + eBay.VollerName;
Brutto := eBay.'VKArtikel:';
Kategorie := 10;
Steuer := eBay.Mwst
);
openRecord(newK)
end;

 

############
ab hier soll der Betrag ins Minus gebucht werden

############

let myVB := 'OrderNr:' + " " + 'Zahlungsstatus:';
let myVD := first(select EA where Text = myVB);
if myVD != null then
alert("Ebay prov gebucht")
else
let eBay := this;
let newK := (create EA);
newK.(
'Datum + Uhrzeit' := eBay.'1. Creation Date:';
Text := eBay.'OrderNr:' + " " + eBay.'Zahlungsstatus:';
Brutto := eBay.EbayKosten;
Kategorie := 14;
Steuer := eBay.EbayprovMwst
);
openRecord(newK)
end

.

Gruss Wolf

2 Antworten

null
    • Kim_Tischler
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Brutto := eBay.EbayKosten * -1;   ??

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

    Läuft der oberste Code-Block mit "switch" als Trigger "Nach Änderung" im Feld 'Brutto'? Dann könnte die Ursache sein, dass das Auswahlfeld in dem mit "create" neu erzeugten Datensatz noch gar keinen Wert hat, die switch-Abfrage also ins Leere läuft. Ich würde deshalb versuchen, nach dem "create" erst dem Auswahlfeld einen Wert zuzuweisen und danach den Betrag in das Feld 'Brutto' zu übertragen. Also z. B. für "Ausgabe":

     

    newK.(AUSWAHL := 1)

     

    Und beim Trigger würde ich abfragen, ob AUSWAHL überhaupt einen Wert hat:

     

    if AUSWAHL then
       Brutto := if Auswahl < 3 then Brutto * -1 else Brutto end
    end