Acumatica编号顺序-铁路超高默认为新符号
我有一个自定义表,用于存储固定资产中的可用组件。使用AssetMaint屏幕上的网格访问列表 我已经设置了一个ID字段,以使用编号顺序填充。我不确定如何设置默认值,以使此字段默认填充为“”,然后在保存组件时按编号顺序进行更新 这是可行的,但也有一些问题。单击“添加”按钮时,ID字段为空,但再次单击“添加”时,它将填充“”符号。但是,如果在单击“保存”之前添加第三条记录,则第二条记录不会填充“”。第二条记录也不会保存,除非我手动在ID字段中输入“” 这是组件表DAC的一部分:Acumatica编号顺序-铁路超高默认为新符号,acumatica,Acumatica,我有一个自定义表,用于存储固定资产中的可用组件。使用AssetMaint屏幕上的网格访问列表 我已经设置了一个ID字段,以使用编号顺序填充。我不确定如何设置默认值,以使此字段默认填充为“”,然后在保存组件时按编号顺序进行更新 这是可行的,但也有一些问题。单击“添加”按钮时,ID字段为空,但再次单击“添加”时,它将填充“”符号。但是,如果在单击“保存”之前添加第三条记录,则第二条记录不会填充“”。第二条记录也不会保存,除非我手动在ID字段中输入“” 这是组件表DAC的一部分: [Serializ
[Serializable]
public class FAServiceComponent : IBqlTable
{
#region AssetID
public abstract class assetID : IBqlField { }
[PXDBInt(IsKey = true)]
[PXDBDefault(typeof(FixedAsset.assetID), DefaultForUpdate = false)]
[PXParent(typeof(Select<FixedAsset, Where<FixedAsset.assetID, Equal<Current<FAServiceComponent.assetID>>>>))]
[PXUIField(DisplayName = "Asset ID", Visible = false, Enabled = false)]
public virtual int? AssetID { get; set; }
#endregion
#region serviceComponentID
public abstract class serviceComponentID : IBqlField { }
[PXDBString(30, IsKey = true, IsUnicode = true)]
[PXUIField(DisplayName = "Component ID")]
[PXDefault(typeof(Search2<Numbering.newSymbol,
InnerJoin<FixedAsset, On<FixedAssetExt.usrServiceComponentNumberingSeq, Equal<Numbering.numberingID>, And<FixedAsset.assetID, Equal<Current<FixedAsset.classID>>>>>>))]
[Numbering]
public virtual string ServiceComponentID { get; set; }
#endregion
#region serviceComponentDescription
public abstract class description : IBqlField { }
[PXDBString(255)]
[PXUIField(DisplayName = "Description")]
[PXDefault(PersistingCheck = PXPersistingCheck.Nothing)]
public virtual string Description { get; set; }
#endregion
public class NumberingAttribute : AutoNumberAttribute
{
public NumberingAttribute():
base(typeof(Search<FixedAssetExt.usrServiceComponentNumberingSeq, Where<FixedAsset.assetID, Equal<Current<FixedAsset.classID>>>>),
typeof(AccessInfo.businessDate)) {; }
}
}
[可序列化]
公共类FAServiceComponent:IBqlTable
{
#阿塞蒂德地区
公共抽象类assetID:IBqlField{}
[PXDBInt(IsKey=true)]
[PXDBDefault(typeof(FixedAsset.assetID),DefaultForUpdate=false)]
[PXParent(typeof(Select))]
[PXUIField(DisplayName=“资产ID”,可见=假,启用=假)]
公共虚拟int?AssetID{get;set;}
#端区
#区域服务组件
公共抽象类serviceComponentID:IBqlField{}
[PXDBString(30,IsKey=true,IsUnicode=true)]
[PXUIField(DisplayName=“组件ID”)]
[PXDefault(typeof(Search2))]
[编号]
公共虚拟字符串ServiceComponentID{get;set;}
#端区
#区域服务组件描述
公共抽象类描述:IBqlField{}
[PXDBString(255)]
[PXUIField(DisplayName=“Description”)]
[PXDefault(PersistingCheck=PXPersistingCheck.Nothing)]
公共虚拟字符串描述{get;set;}
#端区
公共类NumberingAttribute:AutoNumberAttribute
{
public NumberingAttribute():
基本类型(搜索类型),
typeof(AccessInfo.businessDate)){;}
}
}
查看T200课程,可从以下网址获得:。第4部分第8课演示如何使用AutoNumberAttribute
我首先建议删除以下代码,因为不需要使用[PXDefault(typeof(Search2))]
您应该有一个设置屏幕,可以在其中选择要使用的编号顺序。例如,Sales Orders Preferences(销售订单首选项)屏幕(SO101000)具有装运编号序列字段,该字段绑定到SOSetup.ShipmentNumberingID
在图形中,确保您具有设置数据视图,类似于public PXSetup AutoNumSetup代码>。PXSetup DAC应与您的设置屏幕相匹配,例如PXSetup ShipmentSetup
在DAC中,编号字段应具有引用设置表的AutoNumberAttribute。e、 g
[自动编号(typeof(SOSetup.ShipmentNumberingID),typeof(soshipping.shipDate))]
在编号顺序屏幕(CS201010)中,确保未选中手动编号,并且为正在使用的编号顺序设置了新的编号符号。
页面上是否有InitNewRow=“true”?(进入PXGrid内部,类似这样…~是的,我已经启用了它~我现在启用了。我在写了这篇文章后就启用了它。现在创建记录时会填充,但如果不在两个记录之间进行保存,我仍然会遇到第二个记录上不会填充的问题。感谢[PXDefault]属性的提示。我已经在FixedAsset用户字段中定义了编号id。我把这个换成了你的方法,因为它简单一点。清除[PXDefault]位后,该字段填充速度更快。我仍然有问题,只有第一次人口。如果在不保存第一条记录的情况下添加第二条记录,则第二条记录不会填充。