我有一个通用的查询和终结点来获取INTran的所有行和字段,它工作得很好。
INTran行中的哪些字段是唯一的键?
我正在用这些数据在另一个服务器上填充一个DB,所以我可以做一些详细的分析。
我正在使用LastModified字段获取更新,我需要设置本地DB键,以便更新正确的行,并且不会插入新行(除非其键是新的)。
我没有访问Acumatica服务器的登录权限,所以我必须通过API来实现这一点。
2019R1版
发布于 2020-03-03 16:03:04
如果您可以访问Acumatica网站,您可以使用INTran页面SM204570查找Source Code DAC (类SM204570)。

DAC表示主键为字段:
您还可以从同一个INTran DAC推断DAC属性中的DB类型和长度。
例如DocType,长度为1的IsFixed映射为DB类型char(1):
#region DocType
public abstract class docType : PX.Data.BQL.BqlString.Field<docType> { }
protected String _DocType;
[PXUIField(DisplayName = INRegister.docType.DisplayName)]
[PXDBString(1, IsFixed = true, IsKey = true)]
[PXDefault(typeof(INRegister.docType))]
[INDocType.List()]
public virtual String DocType
{
get { return this._DocType; }
set { this._DocType = value; }
}
#endregionPXDBString不带IsFixed映射为varchar类型。
PXDBString与IsUnicode映射到nvarchar。
PXDBInt映射到int。
DAC属性应该始终匹配DB类型,但DB是真相的最终来源。
在DB中,这些字段是如何声明的:
[DocType] [char](1) NOT NULL
[RefNbr] [nvarchar](15) NOT NULL
[LineNbr] [int] NOT NULLhttps://stackoverflow.com/questions/60510769
复制相似问题