我知道pxformula可以做到,但是pxformula只接受两个参数参数。如何添加(求和)同一个DAC的多个字段?我能窝吗?
感谢。一些工作实例将不胜感激,其他一些方法也将受到赞赏。
答案 0 :(得分:0)
如果您在PXFormula上进行代码搜索,您应该找到很多示例。如果您有权访问本地站点,我通常会搜索您的站点/ App_data / CpdeRepository目录中的代码。
如果您要执行多字段计算,可以嵌套Add,Sub,Mult,Div等调用。
以下是我搜索“PXFormula”或“Mult<”的一些例子。或“添加<”:
在ARTranRUTROT.CuryRUTROTTotal中找到,此示例将从curyDiscAmt中删除curyExtPrice并添加curyRUTROTTaxAmountDeductible(除非null使用零)
[PXFormula(typeof(Add<Sub<ARTran.curyExtPrice, ARTran.curyDiscAmt>,
IsNull<curyRUTROTTaxAmountDeductible, decimal0>>))]
在GLTaxTran.CuryExpenseAmt中找到。此示例再次使用计算中的多个字段全部嵌套。
[PXFormula(typeof(Mult<Mult<GLTaxTran.curyTaxableAmt,
Div<GLTaxTran.taxRate, decimal100>>, Sub<decimal1,
Div<GLTaxTran.nonDeductibleTaxRate, decimal100>>>), null)]
答案 1 :(得分:0)
如另一个答案所示,PXFormula可用于执行多字段计算。但是,PXFormula始终将计算值分配给它所装饰的字段。
如果您不需要在任何字段中存储计算值,PXUnboundFormulaAttribute可能是更好的方法:
[PXUnboundFormulaAttribute(typeof(Switch<Case<Where<GLTranDoc.debitAccountID, IsNotNull>, GLTranDoc.curyTranTotal>, Sub<GLTranDoc.curyTaxAmt, GLTranDoc.curyInclTaxAmt>>),
typeof(SumCalc<GLDocBatch.curyDebitTotal>))]
有关PXUnboundFormulaAttribute的其他示例,请在Acumatica University或Acumatica Open University
的T200开发人员课程指南中查看示例7.3:添加聚合值的条件计算