Как включить поле сетки в Acumatica - Настройки - PullRequest
0 голосов
/ 03 апреля 2019

Это мой код для включения сетки и ввода данных, но он не работает.

   protected void ARAdjust_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
    {

        ARInvoice rInvoice = Base.Document.Current;

        if (rInvoice.DocType == ARDocType.DebitMemo)
        {
            Base.Adjustments_2.AllowInsert = true;

        }
    }

Это изображение, которое еще не включает сетку.

enter image description here

1 Ответ

2 голосов
/ 04 апреля 2019

Представление «Корректировки» устанавливается в выбранном событии строки основного представления (DAC APInvoice).Я бы переопределил это событие и добавил бы ваше изменение после вызова базового метода.Примерно такой пример:

public class APInvoiceEntryTestExtension : PXGraphExtension<APInvoiceEntry>
{
    public virtual void APInvoice_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected del)
    {
        del?.Invoke(cache, e);
        var row = (APInvoice)e.Row;
        if (row?.DocType != ARDocType.DebitMemo)
        {
            return;
        }

        Base.Adjustments.AllowInsert = true;

        //  FROM BASE CALL:
        //    Adjustments.Cache.AllowInsert = false;
        //    Adjustments.Cache.AllowDelete = false;
        //    Adjustments.Cache.AllowUpdate = !invoiceState.IsRetainageDebAdj &&
        //    invoiceState.IsDocumentRejectedOrPendingApproval || invoiceState.IsDocumentApprovedBalanced
        //        ? !invoiceState.IsDocumentRejected
        //        : Transactions.Cache.AllowUpdate && !invoiceState.IsDocumentPrebookedNotCompleted;
        }
}
...