Вы сделали очень хорошо. У вас все еще мало вопросов.
1. В объявлениях о состоянии полей Acumatica для
[Vendor.status.List]
выглядит так:
public class ListAttribute : PXStringListAttribute
{
public ListAttribute()
: base(new string[5]{ "A", "H", "P", "I", "T" }, new string[5]
{
"Active",
"On Hold",
"Hold Payments",
"Inactive",
"One-Time"
})
{
}
}
}
, как вы можете видеть из декларации статуса для удержания ответственного значения ключа "H".
- Поле TaxRegistrationID в объявлении страницы не имеет для CommitChanges значение true. Если вы хотите немедленной реакции, вам нужно установить для CommitChanges значение true в настройке.
- Вместо обновления объекта кэша необходимо обновить конкретного поставщика.
- На экране продавца используется не класс Vendor, а класс VendorR
Так что более правильная версия кода будет выглядеть так:
public class VendorMaint_Extension : PXGraphExtension<VendorMaint>
{
#region Event Handlers
protected void LocationExtAddress_TaxRegistrationID_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
Base.BAccount.SetValueExt<VendorR.status>(Base.BAccount.Current, "H");
}
#endregion
}