Reportes Gambas WebForm


Objetivo: Reportes Gambas WebForm
Saludos amigos.

En esta ocasiona les presento un generador de reportes para aplicaciones con WebForm.

Los reportes por lo general tienen muchas partes repetitivas por lo que se me ocurrió la idea
de crear un generador de reportes con WebForm, de modo que solo se necesite llamar una
función con ciertos parámetros y se genere el reporte. De este modo solo se necesita un
reporte para solucionar la mayoría de los requerimientos de informes.

Les dejo un video para que vean como funciona.
enlace al video.

He utilizado dos tabla en mysql las cuales se definen así:

CREATE TABLE `clientes` (
`codigo` smallint(4) NOT NULL AUTO_INCREMENT COMMENT 'codigo del cliente',
`rnc` char(13) NOT NULL DEFAULT 'n' COMMENT 'rnc o cedula del cliente',
`nombre` char(45) NOT NULL DEFAULT 'n' COMMENT 'nombre del cliente',
`direccion` char(45) NOT NULL DEFAULT 'n',
`telefono` char(12) NOT NULL DEFAULT 'n' COMMENT 'telefono 1 de cliente',
`telefono2` char(12) NOT NULL DEFAULT 'n' COMMENT 'telefono 2 de cliente',
`tiempo` tinyint(3) NOT NULL DEFAULT '0' COMMENT 'tiempo en dias para pagar',
`limite` double(12,2) NOT NULL DEFAULT '0.00' COMMENT 'limite de credito aprobado',
`tipo` tinyint(2) DEFAULT '0' COMMENT '0=cliente normal 1=socio del tecmovildb',
`email` char(45) NOT NULL DEFAULT 'n' COMMENT 'EMAIL del cliente',
`fecha` date NOT NULL DEFAULT '0000-00-00' COMMENT 'Fecha de nacimiento',
`fax` char(12) NOT NULL DEFAULT 'n',
`precio` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'precio por defecto',
`semana` char(3) NOT NULL DEFAULT 'n' COMMENT 'precio por semana',
`provincia` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'nombre de la provincia',
`municipio` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'nombre del municipio',
`barrio` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'nombre del barrio en que vive',
`calle` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'nombre de la calle en la que vive',
`actividad` char(45) NOT NULL DEFAULT 'n' COMMENT 'actividad a la que se dedica',
`fechacumple` date NOT NULL DEFAULT '0000-00-00' COMMENT 'fecha de cumpleaños',
`ruta` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Codigo de la ruta',
`codars` int(8) NOT NULL DEFAULT '0' COMMENT 'codigo de la ars',
`ars` char(40) NOT NULL DEFAULT 'n' COMMENT 'nombre de la ARS',
`tel3` char(12) NOT NULL DEFAULT 'n' COMMENT 'telefono alternativo',
`contacto` char(45) NOT NULL DEFAULT 'n' COMMENT 'nombre de contacto',
`email2` char(50) NOT NULL DEFAULT 'n' COMMENT 'email de contacto',
`tel4` char(12) NOT NULL DEFAULT 'n' COMMENT 'telefono de contacto',
`www` char(50) NOT NULL DEFAULT 'n' COMMENT 'sitio web de cliente',
`cargo` char(30) NOT NULL DEFAULT 'n' COMMENT 'cargo del contacto',
`nota` char(60) NOT NULL DEFAULT 'n' COMMENT 'nota al cliente',
`sucursal` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Numero de sucursal',
`fechai` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`codigo`)
) ENGINE=MyISAM AUTO_INCREMENT=800 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC COMMENT='almacena todos los datos estaticos de los clientes';
;

CREATE TABLE `mov_cliente` (
`codigo` int(4) NOT NULL COMMENT 'codigo del cliente',
`factura` bigint(14) NOT NULL DEFAULT '0' COMMENT 'numero de factura',
`ncf` char(19) NOT NULL DEFAULT 'n' COMMENT 'numero de comprobante',
`fecha` date NOT NULL COMMENT 'fecha de la operacion',
`detalle` char(25) NOT NULL DEFAULT 'n' COMMENT 'detalle de la operacion',
`debito` double(14,2) NOT NULL DEFAULT '0.00' COMMENT 'valor debitado en operacion',
`credito` double(14,2) NOT NULL DEFAULT '0.00' COMMENT 'valor acreditado en operacion',
`transaccion` int(8) NOT NULL DEFAULT '0' COMMENT 'numero de transaccion',
`id` int(8) NOT NULL AUTO_INCREMENT,
`cheque` char(10) NOT NULL DEFAULT '0',
`fechacheque` date DEFAULT NULL COMMENT 'Fecha del cheque retencion',
`banco` tinyint(2) NOT NULL DEFAULT '0' COMMENT '0=Banreservas 1=popular 2=BHD Leon 3=Progreso',
PRIMARY KEY (`id`),
KEY `pac` (`codigo`,`fecha`),
KEY `transaccioncxc` (`transaccion`),
KEY `fecha` (`fecha`)
) ENGINE=InnoDB AUTO_INCREMENT=1467 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC COMMENT='guarda todos los movimientos de cliente';


Faltan algunas cosas, como la impresion en horizontal, reducir y simplificar el codigo, quizas con POO, etc.

Adjunto el fuente.

última edición por alessandri el Domingo, 26 Abril 2020, 03:56; editado 2 veces

reportesweb.tar.gz
Descripción: Fuente del generador de reportes. Su objetivo es generar la mayoría de los reportes
requeridos por un sistema sin necesidad de repetir la programación. 

Descargar
Nombre del archivo: reportesweb.tar.gz
Tamaño: 23.77 KB
Descargado: 131 veces
reportesweb.tar.gz
Descripción: Fuente del generador de reportes. Su objetivo es generar la mayoría de los reportes
requeridos por un sistema sin necesidad de repetir la programación. 

Descargar
Nombre del archivo: reportesweb.tar.gz
Tamaño: 23.77 KB
Descargado: 131 veces
reportesweb.tar.gz
Descripción: Fuente del generador de reportes. Su objetivo es generar la mayoría de los reportes
requeridos por un sistema sin necesidad de repetir la programación. 

Descargar
Nombre del archivo: reportesweb.tar.gz
Tamaño: 23.77 KB
Descargado: 131 veces

Perfil MP  
Objetivo: Re: Reportes Gambas WebForm
alessandri:
Muy interesante tus videos, pero hay uno que falta. Es el nº 7, a ver si puedes resubirlo.

Felicitaciones

Julio


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.638s (PHP: -43% SQL: 143%)
Consultas SQL: 48 - Debug off - GZIP Activado