Buenas tardes
Acudo a ustedes , porque ya no encuentro una solución a mi problema, espero que alguien pueda ayudarme, explico.
Tengo un codigo donde llama un layout de sap e imprime el valor, el problema es que siempre imprime en la impresora predeterminada del servidor, he probado con varios métodos y con todos tengo el mismo resultado, sabrán ustedes si es posible tomar la impresora del equipo donde el usuario esta conectado a saP?
con MyPrinters.SetDefaultPrinter no me funcionó, tampoco con PrintToPrinter, tampoco con el PrinterName
esta es la parte que llama el layout e imprime
ReportDocument rpt = new ReportDocument();
SAPbobsCOM.ReportLayoutsService oReportLayoutService = (SAPbobsCOM.ReportLayoutsService)Company.GetCompanyService().GetBusinessService(SAPbobsCOM.ServiceTypes.ReportLayoutsService);
SAPbobsCOM.ReportLayoutPrintParams oReportPrintParams = (ReportLayoutPrintParams)oReportLayoutService.GetDataInterface(SAPbobsCOM.ReportLayoutsServiceDataInterfaces.rlsdiReportLayoutPrintParams);
oReportPrintParams.LayoutCode = “RDR20019”;
oReportPrintParams.DocEntry = DocEntry;
oReportLayoutService.Print(oReportPrintParams);
este tampoco funcionó:
System.Drawing.Printing.PageSettings pSettings = new System.Drawing.Printing.PageSettings(printerSettings);
rpt.PrintOptions.DissociatePageSizeAndPrinterPaperSize = true;
rpt.PrintOptions.PrinterDuplex = PrinterDuplex.Simplex;
System.Drawing.Printing.PageSettings pageSettings = new System.Drawing.Printing.PageSettings(printerSettings);
rpt.PrintToPrinter(printerSettings, pSettings, false, PrintLayout);
Agradezco mucho del apoyo que puedan brindarme