Acumatica - 将REPORTS下拉列表添加到商机屏幕

时间:2017-10-09 18:44:48

标签: acumatica

希望这将是一个简单的问题!

我已经为Acumatica商机屏幕创建了一个新报告,我想将其添加到屏幕本身。我之前在现有的REPORTS下拉列表中添加了一个新报告,但是我还没有使用自动化步骤来创建REPORTS下拉列表(如果它尚不存在)。

某人是否可以提供说明或指向相应文档的方向?

编辑:所以,我遇到的是,商机没有已经添加的报告部分;我必须创造它。

我到目前为止在屏幕上显示了一个REPORTS按钮,但它不是一个下拉列表,它似乎没有做任何事情。

public class OpportunityMaint_Extension : PXGraphExtension<OpportunityMaint>
{
    #region Event Handlers

    #endregion

    #region Actions

    public PXAction<CROpportunity> report;
    [PXUIField(DisplayName = "Reports", MapEnableRights = PXCacheRights.Select)]
    [PXButton(SpecialType = PXSpecialButtonType.Report)]
    protected virtual IEnumerable Report(PXAdapter adapter,
        [PXString(8, InputMask = "CC.CC.CC.CC")]
        [PXStringList(new string[] { "IOCR6410" }, new string[] { "Quote" })]
        string reportID)
    {
        List<CROpportunity> list = adapter.Get<CROpportunity>().ToList();
        if (!String.IsNullOrEmpty(reportID))
        {
            Base.Save.Press();
            int i = 0;
            Dictionary<string, string> parameters = new Dictionary<string, string>();

            foreach (CROpportunity opp in list)
            {                   
                if (reportID == "IOCR6410")
                {
                    parameters["CROpportunity.OpportunityID" + i.ToString()] = opp.OpportunityID;                      
                }
                i++;
            }
            if (i > 0)
            {
                throw new PXReportRequiredException(parameters, reportID, string.Format("Report {0}", reportID));                  
            }
        }
        return list;
    }

    #endregion
}

1 个答案:

答案 0 :(得分:1)

对于此类更改,最好不要在自动化步骤中进行更改,但请遵循How to add report to Inventory Transfers dropdown menu for reports

中建议的方法

以下是您的代码段的略微更新版本,应该会产生以下结果:

enter image description here

#include <stdio.h>

extern const char pyxxd[];
extern const size_t pyxxd_len;

int main()
{
    fwrite(pyxxd, 1, pyxxd_len, stdout);
}