每个客户类别的客户创建的限制组,并将客户类别分配给默认限制组。
例如。为客户类别ABC分配了默认限制组“所有客户”,以及以ABC名称创建的限制组。
在使用客户类ABC创建新客户时,它会自动添加所有客户限制组。我正在尝试在保存客户的同时向客户添加限制组ABC。
我尝试过的以下代码会引发错误。
public delegate Int32 PersistDelegate(Type cacheType, PXDBOperation operation);
[PXOverride]
public Int32 Persist(Type cacheType, PXDBOperation operation, PersistDelegate baseMethod)
{
Customer cust = Base.CurrentCustomer.Current;
if (cacheType.Name.ToLower() == "customer" && (operation == PXDBOperation.Insert && cust.BAccountID != null))
{
ARAccessDetail grp = PXGraph.CreateInstance<ARAccessDetail>();
grp.Customer.Current = grp.Customer.Search<Customer.acctCD>(Base.CurrentCustomer.Current.AcctCD);
bool bfound = false;
foreach (PXResult<RelationGroup> group in grp.Groups.Select())
{
RelationGroup row = group;
if (row.GroupName == cust.CustomerClassID)
{
row.Included = true;
grp.Groups.Update(row);
bfound = true;
break;
}
}
if (bfound)
grp.SaveCustomer.Press();
}
return baseMethod(cacheType, operation);
}
更新
上面的代码现在没有给出任何错误,但是没有为客户启用限制组。