PXSelect不带回最近保留的行

时间:2019-04-19 01:25:30

标签: acumatica

我正在编写CalculateSalesPriceInt()的替代(计算商品销售价格的函数)这是有问题的代码

        [PXOverride]
    public virtual decimal? CalculateSalesPriceInt(PXCache sender, string custPriceClass, int? customerID, int? inventoryID, int? siteID, CurrencyInfo currencyinfo, decimal? quantity, string UOM, DateTime date, bool alwaysFromBaseCurrency,
         Func<PXCache, string, int?, int?, int?, CurrencyInfo, decimal?, string, DateTime, bool, decimal?> del)
    {
        Customer cust =
            PXSelect<Customer, Where<Customer.bAccountID, Equal<Required<Customer.bAccountID>>>>.Select(
                Base, customerID);
        InventoryItem item =
            PXSelect<InventoryItem,
                    Where<InventoryItem.inventoryID, Equal<Required<InventoryItem.inventoryID>>>>
                .Select(Base, inventoryID);
        var itemExt = item.GetExtension<Arctc001InventoryItem>();
        var custExt = cust.GetExtension<Arctc001Customer>();

问题出在InventoryItem,客户选择。过程是这样的:

  • 为客户创建新的销售订单
  • 将项目A插入SOLines
  • 确定我不喜欢项目A的Descr(或任何其他字段),然后单击超链接以弹出打开StockItemMaint页面的实例
  • 编辑Descr字段,使其不同
  • 按保存并关闭StockItemMaint页面
  • 从SOLines删除所说的InventoryItem
  • 中重新添加相同的InventoryItem。
  • 当我重新添加商品时,将触发“计算SalesPriceInt”
  • 在调试模式下,查看PXSelect的结果,即使我在窗口中坚持了所做的更改,仍会出现旧值。

我尝试使用PXSelect或PXSelectReadonly,无论我更改清单项目记录之前的旧值为何,结果仍然会返回

如何使用缓存,以便获得这些持久值?

谢谢

0 个答案:

没有答案