я использую этот код для получения нового значения для продукта, но я хочу видеть этот на экране, я использовал:не обновляет значения на экране
«row.UnitPrice», но данные есть, но нет на экране. Так что мне нужно вызвать еще один funtion для его обновления?
protected void SOLine_InventoryID_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
var row = (SOLine)e.Row;
row.UnitPrice = null;
if (row.OrderType == "SO")
{
if (row.InventoryID != null)
{
InventoryItem oItem = PXSelect<InventoryItem,Where<InventoryItem.inventoryID,Equal<Required<InventoryItem.inventoryID>>>>.Select(new PXGraph(), row.InventoryID);
if (oItem != null)
{
decimal? qty = row.Qty;
row.UnitPrice = CalcLinePrice(oItem.RecPrice,qty);
Base.Transactions.Update(row);
}
}
}
}
protected decimal? CalcLinePrice(decimal? unitPrice, decimal? qty)
{
return unitPrice *2 * (qty);
}
вы пробовали, добавив 'yourGrid.View.RequestRefresh()' после обновления данных? – Dispersia