Acumatica - 在待批准状态下启用 AP 账单中的字段
Acumatica - Enable field in AP Bill while in Pending Approval status
当发票处于待批准状态时,我一直在尝试启用 AP 帐单输入屏幕中的 APTran.tranDesc 字段。我尝试了以下方法(不起作用)
public void APTran_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
{
APTran line = (APTran)e.Row;
APInvoice invoice = Base.Document.Current;
if (invoice == null || line == null || Base.IsExport) return;
if (invoice.Status != APDocStatus.Open)
{
PXUIFieldAttribute.SetEnabled<APTran.tranDesc>(sender, line, true);
}
}
我相信这是因为 APInvoiceEntry 中的这一行:
Transactions.Cache.SetAllEditPermissions(allowEdit: false);
是否有一种简单的方法来仅覆盖一个 tranDesc 字段以允许在网格内进行编辑?
试试这个:
protected void APTran_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
var row = (APTran)e.Row;
if (row == null) return;
APInvoice invoice = Base.Document.Current;
if (invoice.Status == APDocStatus.PendingApproval)
{
cache.AllowUpdate = true;
PXUIFieldAttribute.SetEnabled(cache, row, false);
PXUIFieldAttribute.SetEnabled<APTran.tranDesc>(cache, row, true);
}
}
您必须启用缓存才能进行更新。禁用所有字段。然后重新启用您想要编辑的字段。
当发票处于待批准状态时,我一直在尝试启用 AP 帐单输入屏幕中的 APTran.tranDesc 字段。我尝试了以下方法(不起作用)
public void APTran_RowSelected(PXCache sender, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
{
APTran line = (APTran)e.Row;
APInvoice invoice = Base.Document.Current;
if (invoice == null || line == null || Base.IsExport) return;
if (invoice.Status != APDocStatus.Open)
{
PXUIFieldAttribute.SetEnabled<APTran.tranDesc>(sender, line, true);
}
}
我相信这是因为 APInvoiceEntry 中的这一行:
Transactions.Cache.SetAllEditPermissions(allowEdit: false);
是否有一种简单的方法来仅覆盖一个 tranDesc 字段以允许在网格内进行编辑?
试试这个:
protected void APTran_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
var row = (APTran)e.Row;
if (row == null) return;
APInvoice invoice = Base.Document.Current;
if (invoice.Status == APDocStatus.PendingApproval)
{
cache.AllowUpdate = true;
PXUIFieldAttribute.SetEnabled(cache, row, false);
PXUIFieldAttribute.SetEnabled<APTran.tranDesc>(cache, row, true);
}
}
您必须启用缓存才能进行更新。禁用所有字段。然后重新启用您想要编辑的字段。