我是Acumatica的新手,需要做一些非常简单的事情,但并没有真正理解语法或处理方法。
如果“购买设置”选项卡中的TaxRegistrationID更改,我想将“供应商状态”更新为“保留”。看起来很简单,但我只是没有采取正确的步骤。我从这里开始:
public class VendorMaint_Extension : PXGraphExtension<VendorMaint>
{
#region Event Handlers
protected void LocationExtAddress_TaxRegistrationID_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
cache.SetValue<Vendor.Status>(e.Row, "Hold");
}
#endregion
}
我认为这过于简化了,但不确定应该是什么。有人可以给我一点指导吗?如果我了解这是如何工作的,我将有很长的路要走。
答案 0 :(得分:1)
你做得很好。您还有几个问题。 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”。
因此,更正确的代码版本将如下所示:
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
}