Значение сетки по умолчанию из предыдущей строки в Acumatica - PullRequest
0 голосов
/ 19 сентября 2019

Как бы вы написали код для установки значения по умолчанию для сетки со значением поля из строки над ним?

1 Ответ

0 голосов
/ 19 сентября 2019

Одним из способов было бы это.Предположим, вы хотите задать количество по умолчанию на экране Счета и корректировки с количеством из предыдущей строки.Рассмотрите возможность использования шаблона ниже.

public class APInvoiceEntry_Extension : PXGraphExtension<APInvoiceEntry>
{
    #region Event Handlers
    protected void APTran_Qty_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
    {
        var row = (APTran)e.Row;
        if (row == null) return;

        // get prior qty and default it here, unless it is already set.
        if (row.Qty == null)
        {
            decimal? priorQty = GetPriorQtyInGrid(row);
            if (priorQty != null)
            {
                e.NewValue = priorQty;
            }
        }
    }
    #endregion

    #region Functions
    public decimal? GetPriorQtyInGrid(APTran currentRow)
    {
        APTran lastline = null;
        foreach (APTran line in Base.Transactions.Select())
        {
            if (currentRow == line)
            {
                break;
            }
            lastline = line;
        }

        if (lastline != null)
            return lastline.Qty;
        else
            return null;

    }
    #endregion
}

enter image description here

...