在情况屏幕上将按钮添加到顶部工具栏上



我正在尝试在屏幕上添加一个新的工具栏按钮(CR306000)。我已经自定义了Crcasemaint DAC,但仍然没有显示按钮。任何人都可以建议。

复制了这一点,问题和解决方案是pxAction应该是公开的。在上面的样本中标记为私人。

代码如下:

public class CaseExtension : PXGraphExtension<CRCaseMaint>
{
    public PXAction<CRCase> Change2;
    [PXButton(CommitChanges=true)]
    [PXUIField(DisplayName="Change Me")]
    protected virtual void change2()
    {
    }
}

这是另一个原因。在基础图中有代码

public PXAction<CRCase> takeCase;
        [PXUIField(DisplayName = "Take Case", MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Select)]
        [PXButton]
        public virtual IEnumerable TakeCase(PXAdapter adapter)

Acumatica本身具有button takecase,可以阻止您的按钮takecase。您需要了解,为什么需要另一个按钮采用Case,因为Acumatica团队已经实施了它。您确定要替换它吗?

您需要以下步骤:
1.创建类库(CL)。
2.从px开始的Acumatica文件夹中创建的Cl dll中的参考。*
3.在CL添加新类crcasemaintext中,具有这样的成员takecase:

public class CRCaseMaintExt : PXGraphExtension<CRCaseMaint>
{
        private PXAction<CRCase> TakeCase2;
        [PXButton]
        [PXUIField(DisplayName = "Take Case")]
        public virtual IEnumerable takeCase2(PXAdapter adapter)
        {
            //your custom code
            return adapter.Get();
        }
}

4。请注意,该案例在Bakecase和Bakecase Matter中。也很重要
5.构建Cl
6.将CL引用到您的Acumatica项目中。

最新更新