2016-06-08 4 views
0

매우 간단한 계산을 Sales Order 그리드에 추가하려고합니다. 필드가 생성되는 동안 아무 것도 표시하거나 계산하지 않습니다. 여기에 내가 무슨 짓을 :Acumatica : 판매 주문 그리드의 이익 계산

  1. (TotalProfit라고 함) SOLine DAC
    • 유형에 추가 된 사용자 정의 필드 : INT, 열
  2. 게시 사용자 정의 사용자 SO에
  3. 추가 TotoalProfit 필드 주문 문서 세부 격자
  4. 맞춤 속성 :

    [PXDBCurrency(typeof(SOLine.curyInfoID), typeof(SOLine.extCost))] 
    [PXUIField(DisplayName = "LineProfit")] 
    [PXFormula(typeof(Sub<SOLine.curyLineAmt, SOLine.curyExtCost>))] 
    [PXDefault(TypeCode.Decimal, "0.0")] 
    

게시 된 필드는 공백입니다. 그리드의 두 필드의 차이를 간단히 계산하려고합니다. CuryLineAmt - CuryExtCost

또한 화면 레벨에서 아무런 문제없이 무시하려고했습니다. 내가 뭘 놓치고 있니?

+0

죄송합니다 :

다음은이 개 필드에 대한 코드입니다. 나열된 구문은 내가 가진 것입니다. 위의 변경했습니다. 감사! –

답변

1

통화를 사용하는 필드를 사용 중이므로 항상 데이터베이스에 2 개의 열을 만들어야합니다. 첫 번째 필드는 통화가 적용되지 않은 필드입니다. 두 번째 통화에는 통화가 적용됩니다.

PXDBCurrency 속성을 사용할 때 설명서에 설명 된 것처럼 통화 정보를 전달하는 데 첫 번째 매개 변수가 사용됩니다. 두 번째 매개 변수는 통화가 적용되지 않은 채 필드를 전달하는 데 사용됩니다. TotalProfitCuryTotalProfit : 당신이 SOLine의 총 이익을 갖고 싶어

enter image description here

그래서, 당신은 SOLine DAC 확장 2 개 필드를 작성해야합니다. 자동으로 몇 가지를 변경 그래서 위의 게시물에 잘못된 코드를 포맷,

#region CuryTotalProfit 
public abstract class curyTotalProfit : PX.Data.IBqlField 
{ 
} 
protected Decimal? _CuryTotalProfit; 
[PXDBCurrency(typeof(SOLine.curyInfoID), typeof(totalProfit))] 
[PXUIField(DisplayName = "Total Profit")] 
[PXFormula(typeof(Sub<SOLine.curyLineAmt, SOLine.curyExtCost>))] 
[PXDefault(TypeCode.Decimal, "0.0")] 
public virtual Decimal? CuryTotalProfit 
{ 
    get 
    { 
     return this._CuryTotalProfit; 
    } 
    set 
    { 
     this._CuryTotalProfit = value; 
    } 
} 
#endregion 

#region TotalProfit 
//This field has no Display UI 
public abstract class totalProfit : PX.Data.IBqlField 
{ 
} 
protected Decimal? _TotalProfit; 
[PXDBDecimal(4)] 
[PXDefault(TypeCode.Decimal, "0.0")] 
public virtual Decimal? TotalProfit 
{ 
    get 
    { 
     return this._TotalProfit; 
    } 
    set 
    { 
     this._TotalProfit = value; 
    } 
} 
#endregion 
+0

그게 효과가! 정말 고마워! –

+0

그레이트, 답변을 대답으로 표시해주십시오. – billybob