Одним из способов было бы это.Предположим, вы хотите задать количество по умолчанию на экране Счета и корректировки с количеством из предыдущей строки.Рассмотрите возможность использования шаблона ниже.
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
}