您好,我的自定义项目仍然存在问题,我正在使用 acumatica,我需要在 pxselect 或字段更新上获取相应的字段,您可以向我展示一种执行此操作的方法吗?我已经尝试了我在这里学到的所有内容。这是我创建的代码public class APTranExt : PXCacheExtension<PX.Objects.AP.APTran> { #region UsrWholdingATC [PXDBString(10)] [PXUIField(DisplayName = "WholdingATC")] [PXSelector( typeof(Search<withholdingtaxx.atc>), typeof(withholdingtaxx.taxRate))] public virtual string UsrWholdingATC { get; set; } public abstract class usrWholdingATC : PX.Data.BQL.BqlString.Field<usrWholdingATC> { } #endregion #region UsrWholdingrate [PXDBDecimal] [PXUIField(DisplayName = "Wholdingrate")] public virtual Decimal? UsrWholdingrate { get; set; } public abstract class usrWholdingrate : PX.Data.BQL.BqlDecimal.Field<usrWholdingrate> { } #endregion #region UsrWholdingamount [PXDBDecimal] [PXUIField(DisplayName = "WholdingAmount")] public virtual Decimal? UsrWholdingamount { get; set; } public abstract class usrWholdingamount : PX.Data.BQL.BqlDecimal.Field<usrWholdingamount> { } #endregion这里的一切工作正常我成功创建了一个自定义表格,来自 pxselector 的显示表格所以我需要的是,当我选择 atc value 时,我还需要拉动税率并将其放在 wholdingrate 字段中,谢谢您的帮助顺便说一句,我尝试在此处放置一些代码,但当我在调试模式下运行时,它不会命中字段更新protected void APTran_UsrWholdingATC_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e) { var row = (APTran)e.Row; }
1 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
当我在调试模式下运行时,它不会命中字段更新
通常发生这种情况是因为字段编辑器控件没有将属性CommitChanges
设置为True
:
当在编辑器控件上CommitChanges设置为时,当用户更改值后控件失去焦点时将调用该事件:TrueFieldUpdated
protected void APTran_UsrWholdingATC_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
APTran tran = e.Row as APTran;
if (tran != null)
{
APTranExt tranExt = tran.GetExtension<APTranExt>();
if (tranExt != null)
{
decimal? value = [...];
cache.SetValue<APTranExt.usrWholdingrate>(tran, value);
}
}
}
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消