2017-07-13 56 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

你只是想一个递增的整型数字?如果答案中提到您需要将计数器存储在父DAC中,否则只需使用身份字段(如果父代不存在或实现具有自动编号的编号序列)。 – 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培训,但仍然无法正常工作。这就是为什么我想知道我是否错过了什么,谢谢你 –