【问题标题】:How does one access an Extension to a table in Acumatica Business Logic如何访问 Acumatica 业务逻辑中的表的扩展
【发布时间】:2021-10-04 13:20:45
【问题描述】:

如果此问题已在其他地方得到解答,我深表歉意,我无法找到有关此问题的任何资源。 场景是这样的。我在 Tax Preferences 屏幕中创建了一个名为 Usrapikey 的自定义字段。 此值保存在某些自定义业务逻辑中完成的调用的 api 键。 然而,自定义业务逻辑出现在 Taxes 屏幕上。 因此,在事件处理程序中,我需要从另一个屏幕访问该 API 键值。我曾尝试实例化图表并使用 linq 和 bql 但无济于事。 以下是我目前拥有的,我的错误是:方法'GetExtension'没有重载需要1个参数

如果我以错误的方式进行此操作,请告诉我是否有更文明的方式来执行此操作

protected virtual void _(Events.FieldUpdated<TaxRev, TaxRev.startDate> e)

   {

  var setup = PXGraph.CreateInstance<TXSetupMaint>();
  var TXSetupEX = setup.GetExtension<PX.Objects.TX.TXSetupExt>(setup);

  var rateObj = GetValues(e.Row.TaxID, TXSetupEX.Usrapikey);
  decimal rate;

  var tryRate = (Decimal.TryParse(rateObj.rate.combined_rate, out rate));
  row.TaxRate = (decimal)rate * (decimal)100;
  row.TaxBucketID = 1;

  }

非常感谢!

【问题讨论】:

    标签: acumatica business-logic


    【解决方案1】:

    嗯,acumatica 支持回来了。看来如果你想访问基页使用:

        TXSetup txsetup = PXSetup<TXSetup>.Select(Base);
    

    获取扩展使用:

        TXSetupExt rowExt = PXCache<TXSetup>.GetExtension<TXSetupExt>(txsetup);
    

    然后你可以像这样访问扩展字段:

        var foo = rowExt.Usrfield;
    

    【讨论】:

      猜你喜欢
      • 2018-10-02
      • 2013-01-12
      • 2023-03-23
      • 1970-01-01
      • 2019-06-21
      • 2020-02-16
      • 2012-04-25
      • 1970-01-01
      • 2013-01-30
      相关资源
      最近更新 更多