Subtraktion Decimalzahlen NAV2018 v.11.

22. März 2021 19:18

Hallo zusammen.

Wie subtrahiere ich zwei decimale Felder der selben Tabelle für ein drittes Feld.

Feld3 := Feld1 - Feld2;

sodass in der Page die bestehenden Werte schon eingetragen werden? So wie bei einem Flowfield. Gibt es da nen Trigger?

Ich habe nur ne Berechnung gefunden, wobei bei neuen Eintrag in Feld1 und Feld2, oder bei Änderung in einem der Felder mein Feld3 berechnet wird.
Verwende trigger OnAfterValidate() in modify().

meine Tableext.:
Code:
fields
    {
        field(1;Feld3;Decimal)
        {
            DataClassification = ToBeClassified;                 
           
        }
       
        modify(Feld1)
        {
            trigger OnAfterValidate()
            begin
                SetFeld3();
            end;
        }

        modify(Feld2)
        {
            trigger OnAfterValidate()
            begin
                SetFeld3();
            end;
        }
    }
   
    procedure SetFeld3()
    begin
        Feld3 := Feld1 - Feld2;
    end;


Hierbei bleiben aber meine Werte für die bestehenden Werte leer.
Sowas wie ein Flowfield wäre gut?


Grüße,
Christian
Zuletzt geändert von navCH am 12. April 2021 09:38, insgesamt 3-mal geändert.

Re: Subtraktion Decimalzahlen

22. März 2021 20:40

OnAfterGetCurrRecord ?

Aber wenn das doch für jeden Datensatz gemacht werden soll, warum nicht ein Feld in der Tabelle? Sonst muss es ja immer neu berechnet werden wenn die Page aufgerufen wird bzw. der Datensatz gewechselt wird.

Re: Subtraktion Decimalzahlen

23. März 2021 00:58

Aber wenn das doch für jeden Datensatz gemacht werden soll, warum nicht ein Feld in der Tabelle?

eigentlich habe ich ja mit Feld3 ein neues Feld mit tableextension drin?
Verstehe nicht genau. Meinst du das Feld in der Tabelle berechnen?

Habe jetzt nen OnAfterGetRecord() in der Page gemacht. Damit geht zumindest erstmal was ich machen wollte.

Grüße
Christian

Re: [Gelöst]Subtraktion Decimalzahlen

12. April 2021 08:55

Hallo zusammen,

ich habe nen neues Feld 'Offene Menge kommissioniert' per Tableextension und per Pageextension eingebaut, siehe Quellcode.
Leider stelle ich nun fest, dass das Feld in der Listpage im Filter und erweiterten Filter nicht funktioniert.
Was kann ich tun, damit das Feld auch im Filter funktioniert?

Code:
tableextension 55003 "Ext WR Line" extends "WR Line"
{
    fields
    {
        field(55000;"Open Qty. Picked";Decimal)
        {
           
            CaptionML = DEU = 'Offene Menge kommissioniert', ENU = 'Open Qty. Picked';
            Editable = false;
             
           
        }
       
    }
   
    procedure SetOpenQtyPicked():Decimal
    begin
        exit("Qty. Picked"-"Quantity Shipped");
       
    end;
}


Code:
pageextension 55008 "Ext OWR Lines" extends "OWR Lines"
{
    layout
    {
        addlast(Group)
        {
            field("Open Qty. Picked";"Open Qty. Picked")
            {
                ApplicationArea=All;
                DecimalPlaces=0:0;             
               
            }
        }
    }

    trigger OnAfterGetRecord()
    begin
        Validate("Open Qty. Picked", SetOpenQtyPicked());
    end;   
}





Viele Grüße,
Christian

Re: Subtraktion Decimalzahlen NAV2018 v.11.

12. April 2021 20:26

Ich bleibe dabei, ich würde diese Felder in der Tabelle berechnen und den Inhalt speichern statt jedes Mal beim Öffnen einer Page neu zu berechnen.

Was mir auch nicht klar ist: Du schreibst von NAV 2018, stellst deinen Beitrag aber im D365BC on prem Forum ein. Warum?

Re: Subtraktion Decimalzahlen NAV2018 v.11.

13. April 2021 13:32

Du schreibst von NAV 2018, stellst deinen Beitrag aber im D365BC on prem Forum ein. Warum?

Ja stimmt, eigentlich gehört der Beitrag in NAV2018. Ich wusste nicht genau, ob da der Beitrag auch von den AL Entwicklern Beachtung findet, da ich mit AL und VSC programmiere.

Ich bleibe dabei, ich würde diese Felder in der Tabelle berechnen und den Inhalt speichern statt jedes Mal beim Öffnen einer Page neu zu berechnen.

Ok. Werde das nochmal ändern.

Re: Subtraktion Decimalzahlen NAV2018 v.11.

13. April 2021 14:01

Thema verschoben von Business Central (On-premises) nach NAV 2018.