System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component. at AccpacCOMAPI.IAccpacSession.GetPrintSetup(String menuID, String ProgramID)

accpacPrintSetup = accpacSession.GetPrintSetup(" "," "); on reaching this line application crashed 

  • 0

    You showed the error, but not the code.  This works:

    AccpacCOMAPI.AccpacReport rpt = new AccpacCOMAPI.AccpacReport();
    rpt = session.ReportSelect("OEINV04[" + sReportName + "]", " ", " ");
    AccpacCOMAPI.AccpacPrintSetup rptPrintSetup;
    rptPrintSetup = session.GetPrintSetup(" ", " ");
    rptPrintSetup.OutputName = sOutputName;
    rptPrintSetup.Orientation = 1;
    rptPrintSetup.PaperSize = 1;
    rptPrintSetup.PaperSource = 15;

    rpt.PrinterSetup (rptPrintSetup);
    rpt.SetParam("PRINTED", "1");
    rpt.SetParam("DELMETHOD", "1");
    rpt.SetParam("ECENABLED", "0");
    rpt.SetParam("DIRECTEC", "0");
    rpt.SetParam("SERIALLOTNUMBERS", "1");
    rpt.SetParam ("QTYDEC", "0");
    rpt.SetParam ("SORTFROM", sInvoiceNumber);
    rpt.SetParam ("SORTTO", sInvoiceNumber);
    rpt.SetParam ("SWDELMETHOD", "3");
    rpt.SetParam ("PRINTKIT", "0");
    rpt.SetParam ("PRINTBOM", "0");
    rpt.SetParam ("SWPRINTONHOLD", "1");
    rpt.SetParam ("@SELECTION_CRITERIA", "{OEINVH.INVNUMBER} = \"" + sInvoiceNumber + "\"");
    rpt.NumOfCopies = 1;
    rpt.Destination = AccpacCOMAPI.tagPrintDestinationEnum.PD_FILE;
    rpt.Format = AccpacCOMAPI.tagPrintFormatEnum.PF_PDF;
    rpt.PrintDir = Properties.Settings.Default.OutputFolder + "\\" + sInvoiceNumber + ".PDF";

  • 0 in reply to Wahid Ur Rehman

    accpacSession = new AccpacSession();
    accpacSession.Init("", "XY", "XY1000", "67A");
    accpacSession.Open("ADMIN", "ADMIN", "SAMINC", DateTime.Today, 0, "");
    rpt = accpacSession.ReportSelect("OEINV01[C://Sage300_2020/OE67A/ENG1AGSWMInvoiceOECAD2.rpt", "", "");
    accpacPrintSetup = accpacSession.GetPrintSetup(" "," ");
    accpacPrintSetup.DeviceName = "HP LaserJet P3010 Series UPD PS";
    accpacPrintSetup.Orientation = 1;
    accpacPrintSetup.PaperSize = 1;
    accpacPrintSetup.PaperSize = 1;
    accpacPrintSetup.PaperSource = 15;
    rpt.PrinterSetup(accpacPrintSetup);
    rpt.SetParam("PRINTED", "0");
    rpt.SetParam("QTYDEC", "0");
    rpt.SetParam("SORTFROM", " ");
    rpt.SetParam("SORTTO", "ZZZZZZZZZZZZZZZZZZZZZZ");
    rpt.SetParam("SWDELMETHOD", "3");
    rpt.SetParam("PRINTKIT", "0");
    rpt.SetParam("PRINTBOM", "0");
    rpt.SetParam("@SELECTION_CRITERIA", "(({OEORDH.ORDNUMBER} >= \"\"\"\") AND ({ OEORDH.ORDNUMBER} <= \"\"ZZZZZZZZZZZZZZZZZZZZZZ\"\")) AND(({ OEORDH.COMPLETE} = 1) OR ({ OEORDH.COMPLETE} = 2)) AND({ OEORDH.TYPE} = 4) AND(({ OEORDH.PRINTSTAT} = 1) OR ({ OEORDH.PRINTSTAT} = 0) OR({ OEORDH.PRINTSTAT} = -1))");
    rpt.NumOfCopies = 1;
    rpt.Destination = tagPrintDestinationEnum.PD_FILE;
    rpt.Format = tagPrintFormatEnum.PF_PDF;
    rpt.PrintDir = "c://quote.pdf";
    rpt.PrintReport();*/