【发布时间】:2019-10-14 23:57:43
【问题描述】:
当父帐户更新时,我试图将默认销售人员从父帐户复制到当前客户。由于某种原因,销售人员的记录被复制了。因此,我在“计费设置”选项卡上选择了一个父帐户,然后在“销售人员”选项卡上,有两个从父帐户复制的重复销售人员。父帐户上只有一名销售人员。当我保存客户时,当然会出现错误:
“违反主键约束“CustSalesPeople_PK”。无法在对象“dbo.CustSalesPeople”中插入重复键”
我在我的代码中设置了一个断点,以确认它只运行了一次。关于为什么会发生这种情况的任何想法?
TIA!
public class CustomerMaint_Extension : PXGraphExtension<CustomerMaint>
{
public PXSelect<CustSalesPeople, Where<CustSalesPeople.bAccountID,
Equal<Current<Customer.parentBAccountID>>>> ParentSalesPeople;
#region Event Handlers
protected virtual void Customer_ParentBAccountID_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e)
{
if (e.Row == null)
return;
Customer cust = (Customer)e.Row;
if ((e.OldValue == null) || ((int?)e.OldValue != cust.ParentBAccountID))
{
if (cust.ParentBAccountID > 0)
{
foreach (CustSalesPeople salesPerson in ParentSalesPeople.Select())
{
if (salesPerson.IsDefault == true)
{
CustSalesPeople sp = Base.SalesPersons.Insert();
sp.BAccountID = cust.BAccountID;
sp.CommisionPct = salesPerson.CommisionPct;
sp.IsDefault = true;
sp.LocationID = salesPerson.LocationID;
sp.SalesPersonID = salesPerson.SalesPersonID;
sp = Base.SalesPersons.Update(sp);
//sender.PersistUpdated(sp);
break;
}
}
}
}
}
#endregion
}
【问题讨论】:
标签: acumatica