【问题标题】:How to custom the screen GL501000 Release Transactions如何自定义屏幕 GL501000 发布交易
【发布时间】:2021-11-15 11:35:08
【问题描述】:

我正在尝试自定义 GL501000 发布交易屏幕,但在处理时它没有输入我的代码,它可能指示我应该使用什么事件来实现这一点。

提前致谢

    using System;
    using System.Text;
    using PX.Data;
    using System.Collections;
    using System.Collections.Generic;
    using PX.Objects.BQLConstants;
    using PX.Objects.CS;
    using PX.Objects.CM;
    using PX.SM;
    using System.Linq;
    using PX.Objects;
    using PX.Objects.GL;
    
    namespace PX.Objects.GL
    {
        public class BatchRelease_Extension : PXGraphExtension<BatchRelease>
        {
            public override void Initialize()
            {
                base.Initialize();
    
                PXGraph.InstanceCreated.AddHandler<JournalEntry>((JournalEntry graphGL) =>
                {
                    graphGL.GetExtension<JournalEntry_Extension>().ModifyBatchFrom = true;
                });
            }
        }
    }

【问题讨论】:

    标签: acumatica acumatica-kb


    【解决方案1】:

    您似乎想知道这是从处理屏幕而不是一次性用户条目调用的。我建议您查看 Acumatica OpenUni 网站上的免费 T240 处理表格 培训。他们通过包含一个参数来表明这一点,以表明这项工作源自一种可以简化您的工作并提高性能的处理形式。训练示例显示:

    public void AssignOrder(RSSVWorkOrder order, bool isMassProcess = false)
    {
        ...
        if (isMassProcess)
        {
            ...
        }
    }
    

    或者,您可能需要将添加的事件处理程序向下移动到 PostGraph 而不是 JournalEntry。它们都在代码存储库的同一个文件中。不过,如果您的目标是知道它是从处理屏幕调用的,我建议您考虑修改方法以匹配 T240 中的示例。

    由于是静态方法,返工会很“有趣”,但你想替换:

    pg.ReleaseBatchProc(copy);
    

    与:

    pg.ReleaseBatchProc(copy, isMassProcess: true);
    

    并添加签名以支持:

    public virtual void ReleaseBatchProc(Batch b, bool unholdBatch = false, bool isMassProcess = false)
    

    接下来,您将在批量处理时针对您的特殊情况使用 isMassProcess bool 值,然后调用原始签名:

    public virtual void ReleaseBatchProc(Batch b, bool unholdBatch = false)
    

    通过:

    ReleaseBatchProc(b);
    

    例子:

    public virtual void ReleaseBatchProc(Batch b, bool unholdBatch = false, bool isMassProcess = false)
    {
        MyMethod(isMassProcess);
        ReleaseBatchProc(b);
    }
    

    【讨论】:

    • 感谢您的帮助,它帮助了我
    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    相关资源
    最近更新 更多