Созданная клиентом группа ограничений для каждого класса клиентов и классы клиентов назначены группе ограничений по умолчанию.
Например.Клиентскому классу ABC присвоена группа ограничений по умолчанию All Customer, а также группа ограничений, созданная на имя 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);
}
Обновление
Вышекод не дает никакой ошибки сейчас, но группа ограничений не включена для клиента.