Добавление группы ограничений для нового клиента - PullRequest
0 голосов
/ 31 мая 2019

Созданная клиентом группа ограничений для каждого класса клиентов и классы клиентов назначены группе ограничений по умолчанию.

Например.Клиентскому классу 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);
    }

Обновление

Вышекод не дает никакой ошибки сейчас, но группа ограничений не включена для клиента.

...