I have used a SO_Pick customization to expect a value passed for the ordernum. Saved it under a specific menu to be called by the context menu, where it is launching the report with chosen parameters, then closes. the dates intervals are next 7 days. and it pops up the pdf.
in the load get the passed parameter
if ( SOPickListForm.LaunchFormOptions != null )
{
object ctxValue = SOPickListForm.LaunchFormOptions.ValueIn.ToString();
SearchOptions opts = new SearchOptions(SearchMode.AutoSearch);
opts.DataSetMode = DataSetMode.RowsDataSet;
opts.PreLoadSearchFilter = "OrderNum = '" +
ctxValue.ToString() + "'";
if(ctxValue.ToString().Length > 0)
{
//you got your ordernum passed!
edvReportParam.dataView[0]["OrderList"] = ctxValue.ToString();
LaunchLPC(ctxValue.ToString());
form.Shown += new EventHandler(LPC_CloseOnStart);
form.Visible = false;
}
//then generating the parameters to the report:
private void LaunchLPC(string order)
{
try
{
Erp.Proxy.Rpt.SOPickListReportImpl report = WCFServiceSupport.CreateImpl<Erp.Proxy.Rpt.SOPickListReportImpl>((Ice.Core.Session)oTrans.Session, Epicor.ServiceModel.Channels.ImplBase<Erp.Contracts.SOPickListReportSvcContract>.UriPath);
var ds = report.GetNewParameters();
report.GetDefaults(ds);
ds.SOPickListReportParam[0].ToDate = (DateTime)edvReportParam.dataView[0]["ToDate"]; //DateTime.Now.AddDays(7).Date;
ds.SOPickListReportParam[0].FromDate = (DateTime)edvReportParam.dataView[0]["FromDate"]; //DateTime.Now.Date;
ds.SOPickListReportParam[0].OrderList = order;
ds.SOPickListReportParam[0].ArchiveCode = 1;
ds.SOPickListReportParam[0].AgentID = "SystemTaskAgent";
//ds.SOPickListReportParam[0].PostingStatus = "Both";
ds.SOPickListReportParam[0].AutoAction = "SSRSPREVIEW";
ds.SOPickListReportParam[0].SSRSRenderFormat = "PDF";
ds.SOPickListReportParam[0].WorkstationID = WorkID;
ds.SOPickListReportParam[0].ReportStyleNum = 1001;
ds.SOPickListReportParam[0].DateFormat = "mm/dd/yyyy";
ds.SOPickListReportParam[0].NumericFormat = ",.";
ds.SOPickListReportParam[0].TaskNote = "From context menu of order: " + ds.SOPickListReportParam[0].OrderList + " by " + UserName ;
ds.SOPickListReportParam[0].ReportCultureCode = "en-CA";
if(bKitComponents)
ds.SOPickListReportParam[0].PrintKitComponents = true;
else
ds.SOPickListReportParam[0].PrintKitComponents = false;
string dquote = "\""; string dbakslash = @"\\"; string bakslash = "\\";
ds.SOPickListReportParam[0].RptPageSettings = "Color=True,Landscape=True,Margins=[Left=25 Right=25 Top=25 Bottom=25],PaperSize=[Kind=" + dquote + "Letter" + dquote + " PaperName=" + dquote + "Lettre" + dquote + " Height=1100 Width=850],PaperSource=[SourceName=" + dquote + "Sélection automatique" + dquote + " Kind=" + dquote + "AutomaticFeed" + dquote + "],PrinterResolution=[Kind=" + dquote + "Custom" + dquote + " X=600 Y=600]";
ShowParams(ds);
string info = "";
report.SubmitToAgent(ds, "SystemTaskAgent", ds.SOPickListReportParam[0].AgentSchedNum, 0, "Erp.UIRpt.SOPickListReport");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
//MessageBox.Show("Just before closing... ");
}
private void LPC_CloseOnStart(object sender, EventArgs e)
{
form.Shown -= new EventHandler(LPC_CloseOnStart);
form.Close();
}
````This will launch automatically the report as pdf