如何设置字段更新值

您好,我的自定义项目仍然存在问题,我正在使用 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 的显示表格


http://img2.mukewang.com/64aa72d700010e7906520118.jpg

所以我需要的是,当我选择 atc value 时,我还需要拉动税率并将其放在 wholdingrate 字段中,谢谢您的帮助


顺便说一句,我尝试在此处放置一些代码,但当我在调试模式下运行时,它不会命中字段更新


protected void APTran_UsrWholdingATC_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)

    {


      var row = (APTran)e.Row;


    }


偶然的你
浏览 120回答 1
1回答

慕盖茨4494581

当我在调试模式下运行时,它不会命中字段更新通常发生这种情况是因为字段编辑器控件没有将属性CommitChanges设置为True:当在编辑器控件上CommitChanges设置为时,当用户更改值后控件失去焦点时将调用该事件:TrueFieldUpdatedprotected void APTran_UsrWholdingATC_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e){&nbsp; APTran tran = e.Row as APTran;&nbsp; if (tran != null)&nbsp; {&nbsp; &nbsp; APTranExt tranExt = tran.GetExtension<APTranExt>();&nbsp; &nbsp; if (tranExt != null)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp;decimal? value = [...];&nbsp; &nbsp; &nbsp; &nbsp;cache.SetValue<APTranExt.usrWholdingrate>(tran, value);&nbsp; &nbsp; }&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP