【发布时间】:2016-10-14 03:59:16
【问题描述】:
我正在尝试在 SOLine 级别上进行一些简单的计算 (文档详细信息网格)和 SOOrder 级别(订单摘要区域)。
感谢另一个 stackoverflow 用户,我得到了第一个 SOLine 计算得出(称为总利润的字段(外部价格 - 外部 成本)。现在,我正在尝试计算总数的百分比 利润除以 Ext 价格(在 SOLine 水平上),但我有 问题。这是可能的吗?好像没有这个功能 认识新领域。所以我这样做了,它给出了一个 “不能除以零”错误……这是错的吗?
这是我第一次尝试使用新的自定义字段(TotalProfit 字段已经定义并且 确认工作 - 但我有这个 GP% 的问题):
[PXUIField(DisplayName = "GP %", Enabled = false)] [PXFormula(typeof(Div<SOLine.curyTotalProfit, SOLine.curyLineAmt>))] [PXDefault(TypeCode.Decimal, "0.0")]这是我尝试的第二个采用总利润公式的方法 并将结果除以 Ext 价格 (curylineamt)
[PXUIField(DisplayName = "GP %", Enabled = false)] [PXFormula(typeof(Div<Sub<SOLine.curyLineAmt, SOLine.curyExtCost>,SOLine.curyLineAmt>))] [PXDefault(TypeCode.Decimal, "0.0")]我需要做的第二件事是显示(在订单摘要上 level) 1. 所有 SOLines TotalProfit 的总和 2. 百分比 每条生产线的总利润除以总外部成本。 - 对于这个,我知道我必须定义 pxparent 属性,但是我所有的尝试都失败了。这是我尝试过的:
我创建了两个新字段——(一个用于货币考虑):
**(FIRST FIELD):** [PXParent ( typeof(Select<SOOrder,Where<SOLine.OrderNbr, Equal<Current<SOOrder.OrderNbr>>>>))] [PXDBCurrency(typeof(SOOrder.curyInfoID), typeof(SOOrder.usrOrderTotalProfit))] [PXUIField(DisplayName = "Total Profit", Enabled = false)] [PXFormula(null, typeof(SumCalc<SOLine.usrCuryTotalProfit>))] [PXDefault(TypeCode.Decimal, "0.0")] **(SECOND FIELD):** [PXDBDecimal(4)] [PXDefault(TypeCode.Decimal, "0.0")]当我尝试发布此内容时,我收到错误提示类型名称 不存在,并且说它是一个属性,但用作 输入。
这些似乎应该内置到 Acumatica 中,但事实并非如此。 非常感谢任何帮助。
更新:
您好 Dmitry,非常感谢您的回复。我仍然停留在 GP% 上...我正在尝试计算我的自定义字段 (UsrCuryTotalProfit) 除以 curyLineAmt。这是我的 UsrCuryTotalProfit 字段的属性:
[PXDBCurrency(typeof(SOLine.curyInfoID), typeof(SOLineExt.usrTotalProfit))]
[PXUIField(DisplayName = "Total Profit", Enabled = false)]
[PXFormula(typeof(Sub<SOLine.curyLineAmt, SOLine.curyExtCost>))]
[PXDefault(TypeCode.Decimal, "0.0")]
所以,我将它用于我的 GP% 字段:
[PXUIField(DisplayName = "GP %", Enabled = false)]
[PXFormula(typeof(Div<SOLineExt.usrTotalProfit, SOLine.curyLineAmt>))]
[PXDefault(TypeCode.Decimal, "0.0")]
它发布得很好,但是当我进入销售订单屏幕并尝试在网格中添加一行时,它给了我一个错误:“尝试除以零”。我还是在这里做错了吗?
我想知道这是否与还没有任何成本或价格信息的行有关,但是在我输入任何内容之前,公式会尝试除以...不知道如何解决。
【问题讨论】:
标签: acumatica