在2012年的Common
表中,RecIds是唯一的吗?我读到这是依赖于版本的,但我没有找到任何关于AX 2012的信息。
如果没有,那么是否会破坏AX中表的多态设计,其中所有AX表都从Common
延伸? Common
声明RecId
...
答案 0 :(得分:4)
当Microsoft Dynamics AX将记录插入SQL表时,a unique RecId is assigned将记录到每条记录,而不管每条记录与哪个公司相关联。该字段长64位,每个表都是唯一的。
在Axapta 3.0及以下版本中,RecIds每个公司帐户都是唯一的,长度为32位。因此,一家公司的记录不会超过40亿,因为RecId可能是负面的。
多晶型设计?我不确定你在这种情况下的意思,但鉴于RecId,你不知道它属于哪个表,你需要这些信息才能找到记录:
public Common findRecord(TableId _tableId, RecId _recId)
{
Common record = new DictTable(_tableId).makeRecord();
select record where record.RecId == _recId;
return record;
}
在SQL中,没有一个表称为Common。这是一个AX概念,您可以将其视为仅包含方法的界面。