Axapta 是否从代码在DirPartyTable上创建记录?

Axapta 是否从代码在DirPartyTable上创建记录?,axapta,dynamics-ax-2012,x++,sequences,Axapta,Dynamics Ax 2012,X++,Sequences,我必须在DirPartyTable上创建一个新记录。 我使用了以下代码: DirPartyTable _myDirPartyTable; myPartyNumber = DirPartyTable::getNewPartyNumber((webSession() == null)); myDirPartyTable = DirPartyTable::createNew(myPartyType , myName, myPartyNumber); //或者没有partynumber myDirPa

我必须在
DirPartyTable
上创建一个新记录。 我使用了以下代码:

DirPartyTable _myDirPartyTable;
myPartyNumber = DirPartyTable::getNewPartyNumber((webSession() == null));
myDirPartyTable = DirPartyTable::createNew(myPartyType , myName, myPartyNumber);
//或者没有partynumber

myDirPartyTable = DirPartyTable::createNew(myPartyType , myName);
但在这两种情况下,标准方法都会生成两个序列ParyNumber。 在Debu模式下,我看到系统获得了PartyNumber的两倍

如何创建记录而不在数字序列中创建孔

我尝试使用另一个代码:

select forupdate myDirPartyTable;
myDirPartyTable.name = ....;
//etc
myDirPartyTable.insert();
但不会创建记录

谢谢,
享受吧

DirPartytable是通讯簿框架的基础表,是表继承层次结构的顶层,请参见中的参考资料

您不应该尝试直接创建一个party,而是从实现DirParty框架的实体创建。当您创建一个供应商时,您不会创建一个DirParty(带有herited表),然后创建一个VendTable并将它们链接在一起。创建一个供应商将直接完成这项工作

然后,如果您仍然遇到两次对方号码呼叫,请在Microsoft支持部门记录一个案例

ulisses:我解决了问题,我必须在PartyType(组织或个人等)之前创建,在更新我创建的DirPartyTable之后创建。

请尝试以下方法:

可以在此处找到示例:

AxDirPartyTable       axDirPartyTable;

axDirPartyTable = AxDirPartyTable::construct();
axDirPartyTable.parmName(myName);
axDirPartyTable.parmPartyNumber(myPartyNumber);
axDirPartyTable.save();