首页
学习
活动
专区
圈层
工具
发布

Acumatica
EN

Stack Overflow用户
提问于 2020-03-03 15:41:46
回答 1查看 73关注 0票数 0

我有一个通用的查询和终结点来获取INTran的所有行和字段,它工作得很好。

INTran行中的哪些字段是唯一的键?

我正在用这些数据在另一个服务器上填充一个DB,所以我可以做一些详细的分析。

我正在使用LastModified字段获取更新,我需要设置本地DB键,以便更新正确的行,并且不会插入新行(除非其键是新的)。

我没有访问Acumatica服务器的登录权限,所以我必须通过API来实现这一点。

2019R1版

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-03 16:03:04

如果您可以访问Acumatica网站,您可以使用INTran页面SM204570查找Source Code DAC (类SM204570)。

DAC表示主键为字段:

  1. INTran.DocType
  2. INTran.RefNbr
  3. INTran.LineNbr

您还可以从同一个INTran DAC推断DAC属性中的DB类型和长度。

例如DocType,长度为1的IsFixed映射为DB类型char(1):

代码语言:javascript
复制
#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; }
}
#endregion

PXDBString不带IsFixed映射为varchar类型。

PXDBString与IsUnicode映射到nvarchar

PXDBInt映射到int

DAC属性应该始终匹配DB类型,但DB是真相的最终来源。

在DB中,这些字段是如何声明的:

代码语言:javascript
复制
[DocType] [char](1) NOT NULL
[RefNbr] [nvarchar](15) NOT NULL
[LineNbr] [int] NOT NULL
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60510769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档