Acumatica-将报告下拉列表添加到Opportunity屏幕
希望这将是一个简单的问题 我已经为Acumatica Opportunity屏幕创建了一个新报告,我想将其添加到屏幕本身。我之前已经在现有的REPORTS下拉列表中添加了一个新的报告,但是我没有充分使用自动化步骤来创建报告下拉列表(如果它还不存在的话) 是否有人可以提供说明或向我指出适当文档的方向Acumatica-将报告下拉列表添加到Opportunity屏幕,acumatica,Acumatica,希望这将是一个简单的问题 我已经为Acumatica Opportunity屏幕创建了一个新报告,我想将其添加到屏幕本身。我之前已经在现有的REPORTS下拉列表中添加了一个新的报告,但是我没有充分使用自动化步骤来创建报告下拉列表(如果它还不存在的话) 是否有人可以提供说明或向我指出适当文档的方向 编辑:所以,我遇到的是,Opportunity没有可添加的报告部分;我必须创造它 到目前为止,我在屏幕上看到了一个报告按钮,但它不是下拉菜单,似乎没有任何作用 public class Opportu
编辑:所以,我遇到的是,Opportunity没有可添加的报告部分;我必须创造它 到目前为止,我在屏幕上看到了一个报告按钮,但它不是下拉菜单,似乎没有任何作用
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
}
对于这种类型的更改,最好不要在自动化步骤中进行更改,而是遵循中建议的方法 下面是代码片段的稍微更新版本,这将导致以下结果:
所以,我遇到的是,Opportunity没有一个报告部分可以添加;我必须创造它。编辑了原始问题。June,你能检查一下我上面更新的答案吗?
public class OpportunityMaint_Extension : PXGraphExtension<OpportunityMaint>
{
public override void Initialize()
{
Report.AddMenuAction(QuoteReport);
Report.MenuAutoOpen = true;
}
public PXAction<CROpportunity> Report;
[PXButton]
[PXUIField(DisplayName = "Reports", MapEnableRights = PXCacheRights.Select)]
protected void report()
{ }
public PXAction<CROpportunity> QuoteReport;
[PXButton]
[PXUIField(DisplayName = "Quote", MapEnableRights = PXCacheRights.Select)]
protected IEnumerable quoteReport(PXAdapter adapter)
{
var reportID = "IOCR6410";
List<CROpportunity> list = adapter.Get<CROpportunity>().ToList();
Base.Save.Press();
int i = 0;
Dictionary<string, string> parameters = new Dictionary<string, string>();
foreach (CROpportunity opp in list)
{
parameters["CROpportunity.OpportunityID" + i.ToString()] = opp.OpportunityID;
i++;
}
if (i > 0)
{
throw new PXReportRequiredException(parameters, reportID, string.Format("Report {0}", reportID));
}
return list;
}
}