Como crear un reportes desde mi UDO ?

crystalreport
Etiquetas: #<Tag:0x00007fb6723b5440>

#1

Estimados expertos, espero que me puedan ayudar.
Como puedo generar un reporte desde mi UDO tipo (Document) ya sea desde el administrador de layouts o desde un botón en mi formulario que levante el reporte .??


#2

Hola,

Si conectas la base a crystal reports no levanta la tabla de tu UDO? Otra que puedes hacer es generar la consulta desde el generador de consultas y guardarla en el menú de usuario para usarla como informe.

Saludos,


#4

Hola, si lo que busco es mostrar un crystal report desde algun boton en mi UDO … ya que por lo que lei es mas complicado aun generarlo desde el mismo administrador de layouts !

@chavalito espero me puedas ayudar!


#5

Buenas tardes @FreddyMejia

Una disculpa por no haber contestado antes, me había ausentado un poco del Foro, de hecho espero que ya tengas la solución, solo que no quise dejar sin respuesta tu petición, así que… aquí tienes un ejemplo, de como podrías cargar un RPT desde un botón creado desde UI API

private void Button0_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent) {
            BubbleEvent = true;

            ReportDocument crReporte = new ReportDocument();
            crReporte.Load(@"C:\Ruta\NombreArchivo.rpt");
            crReporte.SetDatabaseLogon("user", "pass", "Servidor", "BD");
            crReporte.SetParameterValue("DocKey@", 100);
            crReporte.PrintOptions.PrinterName = "NOMBRE/DESCRIPCION DE LA IMPRESORA O INTENTAR SIN ESPECIFICARLA, PARA VER SI ENVÍA A LA PREDETERMINADA";
            crReporte.PrintOptions.PaperSize = PaperSize.PaperLetter;
            crReporte.PrintOptions.PaperOrientation = PaperOrientation.Portrait;
            crReporte.PrintToPrinter(nCopies: 1, collated: false, startPageN: 1, endPageN: 999);
            crReporte.Close();
            crReporte = null;

            Application.SBO_Application.SetStatusBarMessage("Impresión exitosa.", SAPbouiCOM.BoMessageTime.bmt_Short);
        }

Espero te sea útil, o al menos para darte otra idea de como realizarlo.

Saludos
SAP B1, v9.2 PL03
México


#6

Hola Freddy
Para imprimir mediante el SDK un formato importado en SAP , lo puedes hacer de esta manera.

            SAPbobsCOM.CompanyService oCmpSrv = oCompany.GetCompanyService();
            SAPbobsCOM.ReportLayoutsService oReportLayoutService = (SAPbobsCOM.ReportLayoutsService)oCmpSrv.GetBusinessService(SAPbobsCOM.ServiceTypes.ReportLayoutsService);
            SAPbobsCOM.ReportLayoutPrintParams oPrintParam = (SAPbobsCOM.ReportLayoutPrintParams)oReportLayoutService.GetDataInterface(SAPbobsCOM.ReportLayoutsServiceDataInterfaces.rlsdiReportLayoutPrintParams);

            oPrintParam.LayoutCode = "PKG10011"; //codigo del formato importado en SAP
            oPrintParam.DocEntry = 1; //parametro que se envia al crystal, DocEntry de la transaccion

            oReportLayoutService.Print(oPrintParam);

Otra opcion, es importar el layout como un informe y buscarlo en el menú e ingresar el DocNum o DocEntry manualmente.

Saludos,
Andres Ramirez Jaramillo :colombia:


#7

Hola estimado espero me pueda ayuda. Lo probaré mañana … Saludos.


#8

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.