首页 > 解决方案 > Acumatica 操作未在导入方案中执行

问题描述

再会

我有一个执行我编写的操作的导入场景。当我在客户屏幕上单击该操作时,该操作确实有效,但是当我尝试从导入场景中执行它时,它就好像它没有执行一样。我在 C# 中添加了一个断点,以查看它是否曾经执行过,但它不会“中断”。

这是我要执行的代码:

   public PXAction<Customer> UpdateCreditRemaining;

        [PXButton(CommitChanges = true)]
        [PXUIField(DisplayName = "Recalculate Credit details")]
        protected void updateCreditRemaining()
        {
            try
            {
                Customer row = (Customer)this.Base.BAccount.Current;
                BAccountExt curBAccountExt = row.GetExtension<BAccountExt>();

                curBAccountExt.UsrUpdateDateTime = DateTime.Now.ToString();
                Base.BAccount.Update(row);
               // Base.Persist();

            }
            catch(Exception ex)
            { }
        }

这是我的导入场景 在此处输入图像描述

希望有人遇到同样的问题并可以提供帮助。

标签: acumatica

解决方案


您尚未使用 DAC 扩展对象更新记录,也未保存它。尝试这个...

Base.BAccount.Update(curBAccountExt);
Base.Save.Press();

更新代码后,尝试将其作为按钮添加到页面,然后按下按钮查看它是否按预期工作。一般来说,如果它作为一个按钮工作,那么它应该在导入场景中工作。

您的代码已更新:

public PXAction<Customer> UpdateCreditRemaining;

    [PXButton(CommitChanges = true)]
    [PXUIField(DisplayName = "Recalculate Credit details")]
    protected void updateCreditRemaining()
    {
        try
        {
            Customer row = (Customer)Base.BAccount.Current;
            BAccountExt curBAccountExt = row.GetExtension<BAccountExt>();

            curBAccountExt.UsrUpdateDateTime = DateTime.Now.ToString();
            Base.BAccount.Update(curBAccountExt);
            Base.Save.Press();

        }
        catch(Exception ex)
        { }
    }

推荐阅读