如何在 Acumatica 业务逻辑中访问 table 的扩展
How does one access an Extension to a table in Acumatica Business Logic
如果此问题已在其他地方得到解答,我深表歉意,我很难找到与此相关的任何资源。
场景是这样的。我在税收优惠屏幕中创建了一个名为 Usrapikey 的自定义字段。
此值包含一个 api 键,用于在某些自定义业务逻辑中完成的调用。
然而,自定义业务逻辑出现在税收屏幕上。
因此,在事件处理程序中,我需要从另一个屏幕访问 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 支持回来了。看来如果你想访问基本页面使用:
TXSetup txsetup = PXSetup<TXSetup>.Select(Base);
要获取扩展名,请使用:
TXSetupExt rowExt = PXCache<TXSetup>.GetExtension<TXSetupExt>(txsetup);
然后您可以像这样访问扩展字段:
var foo = rowExt.Usrfield;
如果此问题已在其他地方得到解答,我深表歉意,我很难找到与此相关的任何资源。 场景是这样的。我在税收优惠屏幕中创建了一个名为 Usrapikey 的自定义字段。 此值包含一个 api 键,用于在某些自定义业务逻辑中完成的调用。 然而,自定义业务逻辑出现在税收屏幕上。 因此,在事件处理程序中,我需要从另一个屏幕访问 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 支持回来了。看来如果你想访问基本页面使用:
TXSetup txsetup = PXSetup<TXSetup>.Select(Base);
要获取扩展名,请使用:
TXSetupExt rowExt = PXCache<TXSetup>.GetExtension<TXSetupExt>(txsetup);
然后您可以像这样访问扩展字段:
var foo = rowExt.Usrfield;