2017-07-13 5 views
0

この絵のように、ロット/シリアルクラスのセグメントIDの自動インクリメントに似た自動生成番号を作成したいとします。Acumaticaで番号を自動生成する

Lot/Serial Classes

私はコードをチェックした後、私はそれは私が試してみて、私のコードでそれを適用した後、自動生成された番号が表示されないPXLineNbr

public abstract class segmentID : PX.Data.IBqlField 
    { 
    } 
    protected Int16? _SegmentID; 
    [PXDBShort(IsKey = true)] 
    [PXUIField(DisplayName="Segment Number", Enabled=false)] 
    [PXLineNbr(typeof(INLotSerClass))] 
    [PXDefault()] 
    public virtual Int16? SegmentID 
    { 
     get 
     { 
      return this._SegmentID; 
     } 
     set 
     { 
      this._SegmentID = value; 
     } 
    } 

を使用していることに気づきます。だから、私は何かが恋しくなると私はさまよっていた。事前

+0

はあなただけインクリメントint型の数を望んでいますか?答えに記載されているように、カウンタを親DACに格納する必要がある場合は、親が存在しない場合はIDフィールドを使用するか、自動番号付きの番号付けシーケンスを実装します。 – Brendan

答えて

1

私がPXLineNbrに使用しているパターンは、マスターテーブルの行番号カウンターフィールドと詳細テーブルの行番号フィールドを宣言することです。それは簡単で動作します。 LineNbr値はPXLineNbr属性によってカウンタから自動的に計算されます。

LineCntrフィールド:

public class MasterDAC : IBqlTable 
{ 
    #region LineCntr 
    public abstract class LineCntr : IBqlField { } 

    [PXDBInt] 
    [PXDefault(0)] 
    public virtual int? LineCntr { get; set; } 
    #endregion 
} 

LineNbrフィールド:

public class DetailDAC : IBqlTable 
{ 
    #region LineNbr 
    public abstract class lineNbr : IBqlField { } 

    [PXDBInt(IsKey = true)] 
    [PXDefault] 
    [PXLineNbr(typeof(MasterDAC.LineCntr))] 
    public virtual int? LineNbr { get; set; } 
    #endregion 
} 
1

にありがとうあなたは例7.1 を確認しました:Acumatica Open Universityで利用可能T200トレーニングに詳細データレコードナンバリング? PXLineNbr属性を使用して、詳細データレコードに自動的に番号を付ける方法を詳しく説明します。

+0

はい私はT200トレーニングを既にチェックして試してみましたが、まだ動作しません。それは私が何かが恋しいのかなと思っていた理由です、ありがとう –

関連する問題