Acumatica货币汇率行为

时间:2018-08-06 05:45:11

标签: acumatica

我正在尝试复制Currency Behavior中的APInvoiceEntry BLC

我很困惑,我已经复制了所有事件,但是没有运气, CurrencyInfo_RowUpdated不会触发事件。我可以肯定,当您单击Currency ConversionView Cury时,此事件就是View Base

我设法以某种方式将CuryInfoID信息保存在数据库中。我只是对客户端事件感到困惑。

我想念什么吗?我还复制了Currency Rate并将其设置为我自己的Currency Rate view。所以它正在工作。请赐教。

谢谢!

1 个答案:

答案 0 :(得分:1)

View Base / View Cury (查看基本/查看Cury)操作由ToggleCurrency.Handler()方法处理。 APInvoiceEntry图具有ToggleCurrency<APInvoice> CurrencyView;成员,该成员驱动按钮。以下是有关如何在APInvoiceEntry图形扩展中覆盖它的示例:

using PX.Data;
using PX.Objects.CM;

namespace PX.Objects.AP
{
    public class APInvoiceEntry_Extension : PXGraphExtension<APInvoiceEntry>
    {
        public CustomToggleCurrency<APInvoice> CurrencyView;
    }

    public class CustomToggleCurrency<TNode> : ToggleCurrency<TNode>
        where TNode : class, IBqlTable, new()
    {
        public CustomToggleCurrency(PXGraph graph, string name)
            : base(graph, name)
        {
        }

        [PXUIField(DisplayName = "Toggle Currency", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]
        [PXButton(ImageKey = PX.Web.UI.Sprite.Main.Money, Tooltip = PX.Objects.CM.Messages.ToggleCurrencyViewTooltip)]
        protected override System.Collections.IEnumerable Handler(PXAdapter adapter)
        {
            return base.Handler(adapter);
        }
    }
}