2017-02-07 6 views
0

Ich weiß, pxformula könnte es tun, aber pxformula akzeptiert nur zwei Argumentparameter. Wie kann ich mehrere Felder desselben DAC hinzufügen (summieren)? kann ich es nisten?Wie mehrere Felder in Acumatica (pxformula) zu summieren

danke. einige Arbeitsbeispiele würden geschätzt werden, einige andere Methoden würden ebenfalls geschätzt werden.

Antwort

0

Wenn Sie eine Codesuche auf PXFormula durchführen, sollten Sie viele Beispiele finden. Normalerweise suche ich den Code in Ihrem Verzeichnis site/App_data/CpdeRepository, wenn Sie Zugriff auf eine lokale Site haben.

Wenn Sie eine Mehrfeldberechnung durchführen möchten, verschachteln Sie Ihre Add-, Sub-, Mult-, Div-, usw. Aufrufe.

Hier sind einige Beispiele aus meiner Suche auf "PXFormula" oder "Mult <" oder "Add <":

in ARTranRUTROT.CuryRUTROTTotal gefunden, dieses Beispiel curyExtPrice von curyDiscAmt Subtrack und fügen curyRUTROTTaxAmountDeductible (es sei denn, null Einsatz Null)

[PXFormula(typeof(Add<Sub<ARTran.curyExtPrice, ARTran.curyDiscAmt>, 
    IsNull<curyRUTROTTaxAmountDeductible, decimal0>>))] 

Gefunden in GLTaxTran.CuryExpenseAmt. In diesem Beispiel werden mehrere Felder in der Berechnung erneut verschachtelt verwendet.

[PXFormula(typeof(Mult<Mult<GLTaxTran.curyTaxableAmt, 
    Div<GLTaxTran.taxRate, decimal100>>, Sub<decimal1, 
    Div<GLTaxTran.nonDeductibleTaxRate, decimal100>>>), null)] 
0

Wie in einer anderen Antwort vorgeschlagen, kann mit PXFormula eine Mehrfeldberechnung durchgeführt werden. PXFormula ordnet jedoch immer dem berechneten Feld einen berechneten Wert zu.

PXUnboundFormulaAttribute könnte ein besserer Ansatz sein, falls Sie nicht brauchen, berechneten Wert in jedem Feld zu speichern:

[PXUnboundFormulaAttribute(typeof(Switch<Case<Where<GLTranDoc.debitAccountID, IsNotNull>, GLTranDoc.curyTranTotal>, Sub<GLTranDoc.curyTaxAmt, GLTranDoc.curyInclTaxAmt>>), 
    typeof(SumCalc<GLDocBatch.curyDebitTotal>))] 

Weitere Beispiele auf der PXUnboundFormulaAttribute, überprüfen Sie bitte Beispiel 7.3: Hinzufügen Bedingte Berechnung der aggregierte Werte im T200-Entwicklerklassenführer unter Acumatica University oder Acumatica Open University