我注意到当你删除一个工人时,Person记录仍然存在于DirPerson,DirPersonName,DirPartyTable(和一堆其他相关表)中。如何删除Ax2012中的DirParty记录?
我认为这是由于整个DirParty工程在Ax2012中的复杂性;可能要确保可能包含数据的相关表格在没有父记录的情况下不会留下。 但是为什么然后DirParty类中有一个函数检查是否可以删除一个参与方(DirParty :: canDeleteParty)。我也尝试过使用DirParty :: autoDeleteParty方法,但没有成功。没有从DirPartyTable中删除。
例子:
static void myLittleDirPartyDeleteJob(Args _args)
{
DirPartyTable dirPartyTable;
DirPerson dirPerson;
Common partyRecord;
DirParty dirPartyClass;
DirPersonRecId personRecId;
;
select firstOnly * from dirPerson where dirPerson.name == "BONANI VIRGINIA NENGWEKHULU";
personRecId = DirPerson.RecId;
//This is after the worker has been deleted on the HcmWorkerListPage form on HRM
dirPartyTable = DirPartyTable::findRec(DirPerson::find(personRecId).RecId);
if (dirPartyTable)
{
partyRecord = dirPartyTable;
dirPartyClass = new DirParty(partyRecord);
if (DirParty::canDeleteParty(dirPartyClass.getPartyRecId(),true))
{
DirParty::autoDeleteParty(dirPartyTable.RecId);
}
}
}
上面的代码不会删除任何东西,也没有击中调试任何错误。我试过把它放在事务块(ttsbegin,ttscommit)中;选择记录forupdate;我甚至试过强迫与DirPartyTable.doDelete()一删除
当试图上述任何我收到以下错误:”您试图添加或减去值创建一个无效utcdatetime”
所以我的主要问题是:是否可以删除DirParty(和关联的DirPerson; DirPersonName等)表,或者即使从HRModule中删除雇员之后,聚会记录是否仍然会保存在Dir *表中?
你确定在通讯录参数下的组织管理中打开参数'没有角色的删除党'?不知道,但检查此[链接](http://technet.microsoft.com/en-us/library/gg731966.aspx) – 2013-05-05 22:29:27
已检查参数,但DirParty记录仍然不会被删除。 – Celeste 2013-06-10 13:07:50