Sie sind auf Seite 1von 51

Taller Reporteador Windows Nivel Bsico

Agenda
Revisin de caractersticas e instrucciones bsicas del reporteador. Desarrollo de reportes de casos prcticos (1a. Parte). Receso Desarrollo de reportes de casos prcticos (2a. parte). Receso Desarrollo de reportes de casos prcticos, (Parte final).

Objetivo

Aprender y/o aumentar el conocimiento de las caractersticas bsicas del Reporteador Windows desarrollando casos prcticos.

Conceptos bsicos
Reporte. Reporteador. Algoritmo. Compilador. Editor.

Caractersticas
Columnar. 400 cm o 255 columnas. Hasta 3000 renglones o instrucciones de cdigo en las nuevas versiones. Cliente de OLE Automation (Excel, Word, etc.). Hoja dinmica interna (similar hoja de Excel). Reportes sensibles al contexto. Sintxis no sensible a minsculas o maysculas.

Compiladores
Compilador
WinRep.exe

Base de Datos
Foxpro 2.5 o superior y CodeBase Foxpro 2.5 o superior y CodeBase Paradox

Sistemas
ContPAQ y MegaPAQ Windows 16 Bits ContPAQ y AdminPAQ (CodeBase) Windows 32 Bits CheqPAQ, NomiPAQ AdminPAQ (Paradox)

Ubicacin
C:\Compacw\Sistemas\ContPAQ C:\Compacw\Sistemas\MegaPAQ C:\Archivos de programa\Compacw\Bin C:\Archivos de programa\Compacw\AdminPAQ

WinRep32.exe

BDERep32

C:\Archivos de programa\Compacw\Bin C:\Archivos de programa\Compacw\AdminPAQ

Proceso para generar cdigo mquina


Archivo Cdigo Fuente Archivo Cdigo Mquina

Compilador

Archivo.RPT

WinRep.EXE Winrep32.EXE BDERep32.EXE

Archivo.RTW

Instrucciones bsicas
Puntos a tomar en cuenta al desarrollar un reporte. Instruccin para comentarios. Instruccin COLUMNAS. Uso de variables.

Puntos a tomar en cuenta


Descripcin de las instrucciones utilizando comentarios. Uso de tabuladores (uso de otrosEditores). Nomenclatura en los nombres (utilizar nombres descriptivos para las variables). Es muy importante definir columnas al inicio de cualquier reporte. Terminar el reporte con una lnea en blanco (dar un <Enter> despus de la ltima instruccin).

Puntos a tomar en cuenta


Diseo del reporte
Encabezado

Detalle

Comentarios
La forma de insertar comentarios en el reporte es con la doble dagonal //.

Ejemplo:
// Archivo: Mi primer reporte.RPT // Descripcin: Reporte de prueba para comprender el uso de // comentarios. // // Fecha: // Autor: //

Instruccin COLUMNAS
Sirve para definir el nmero de columnas y el tamao que tendr el reporte.

Sintxis: COLUMNAS NumColumnas;Ancho1,Ancho2,...

Parmetros: NumColumnas: es el nmero de columas del reporte Ancho1,Ancho2,... : ancho de las columnas en centmetros

Ejemplo:
COLUMNAS 4;10,2,4,1

Uso de variables
Es un espacio que se designa en memoria para almacenar un valor de cualquier tipo.

Una variable tiene N nmero de casillas, dnde N es el nmero de columnas definidos en el reporte.

Sintxis: Variable[NumeroCasilla] = nmero Variable[NumeroCasilla] = Texto Variable = nmero[C<NumeroColumna>]

Uso de variables, continuacin...


Ejemplos:
Para asignar la palabra Hola en la casilla 0 de una variable llamada varDatos se hace de la siguiente manera: varDatos[0] = Hola Para asignar el nmero 45 en la casilla 1 de la variable varDatos se hace de la siguiente manera: varDatos[1] = 45 o tambin de la siguiene manera: varDatos = 45[C1] COLUMNAS 4;2 Hola 0 45 1 12 2 Mundo 3

Uso de variables, continuacin


Ejemplos:
COLUMNAS 6;2 varDatos = Totales: varDatos = 100[C1..C5] varDatos = 500[C7] varDatos[1..5] = 100 varDatos[1,5] = 200 varDatos = 500[1..5]

Uso de variables, continuacin


Ejemplos:
COLUMNAS 6;2 varDatos = Totales: varDatos = 100[C1..C5] varDatos = 500[C7] varDatos[1..5] = 100 varDatos[1,5] = 200 varDatos = 500[1..5] INCORRECTA INCORRECTA INCORRECTA

Interactuando con el usuario


Instruccin LISTA. Instruccin TEXTO. Instruccin PARAMETRO. Instruccin ACEPTA. Instruccin ACEPTA con lista de opciones.

Instruccin LISTA
Manda informacin a pantalla. Puede ser textos, nmeros o valores almacenados en una variable. Sintxis:
LISTA Mensaje texto en Columna 0,Mensaje texto en Columna 1,... LISTA variable_en_Columna_0, variable_en_Columna_1,... LISTA variable;avance_de_lineas

Ejemplos:
LISTA Mi nombre es,Juan Prez varTelefono = 38180900 LISTA ,,,varTelefono varTotal = Total:[C0] varTotal = 200[C1..C6] LISTA varTotal;1

Instruccin TEXTO e IMPRIME


Manda informacin a pantalla. Puede ser textos, nmeros o valores almacenados en una variable. Sintxis:
TEXTO Mensaje texto TEXTO C<NumeroColumna>;Mensaje Texto TEXTO Posicion_en_Centmetros;Mensaje Texto IMPRIME

Ejemplos:
TEXTO Hola TEXTO C1;Mundo TEXTO 6.5;Mi nombre es IMPRIME

Instruccin PARAMETRO
Se utiliza para recibir valores desde un dilogo propio de la aplicacin (ContPAQ, NomiPAQ, etc), cuando no se enva nada del dilogo o se ejecuta el reporte directamente se toma por omisin los valores asumidos en esta instruccin. Sintxis:
PARAMETRO variable = ValorInicial

Ejemplos:
PARAMETRO Ejercicio = 2005 PARAMETRO ProductoInicial = 52011232252 PARAMETRO ImprimirCancelados = FALSO

Instruccin ACEPTA
Se utiliza para recibir valores del Usuario que pueden servir para aplicar filtros. Sintxis:
ACEPTA [Ttulo ventana;]Mensaje;variableReceptora

Ejemplos:
ACEPTA Datos Personales;Introduce la edad;varEdad

Datos Personales
Introduce la edad

X Aceptar Cancelar

Instruccin ACEPTA lista de opciones


Se utiliza para recibir valores, mostrando una lista de opciones de las cuales el Usuario puede seleccionar alguna de ellas. Sintxis:
ACEPTA [Ttulo ventana;]Mensaje;variableReceptora;elemento1,elemento2,...

Ejemplos:
ACEPTA Lista de colores;Seleccione un color;varColor;Rojo,Azul,Blanco,Verde

Lista de colores
Seleccione un color

X Aceptar Cancelar

Rojo Azul Blanco Verde

Conociendo las bases de datos (BD)


Conceptos de Bases de Datos. Ubicacin de las Tablas. Estructura de las Tablas. Proceso para el Acceso a las Bases de Datos.

Conceptos de BD
Dato Campo Registro Tabla Empresa

Proceso para el acceso a BD


Conectarse a la empresa. Definir las tablas a utilizar para el reporte. Definir los ndices a utilizar. Definir los campos a desplegar.

Accesando las BDs


Conectndose a la Empresa. Campos de la Empresa. Definiendo las Tablas. Definiendo los ndices. Buscando Datos. Saltando Registros. Definiendo los campos.

Conectandose a la empresa
La instruccin USAEMPRESA se utiliza para conectarse a la empresa. Esta instruccin declara una variable que ser utilizada para hacer referencia a empresa.

Sintxis: USAEMPRESA variableEmpresa;Sistema[;Ruta]

Ejemplos:
USAEMPRESA empMegaPAQ;MegaPAQ1.00;C:\Compacw\Empresas\Emp1 USAEMPRESA empContPAQ;CONTPAQW USAEMPRESA empAdminPAQ;ADMINPAQW USAEMPRESA empCheqPAQ;CHEQPAQW USAEMPRESA empNomiPAQ;NOMIPAQW

Conectandose a la empresa, cont.


Seleccin de empresa
Seleccione una empresa

X Aceptar

La Gran Empresa, SA de CV Empresa Demostracin

Cancelar

Campos de la empresa
Los campos de la empresa nos sirven para extraer informacin general de la empresa, tales como el Nombre, Direccin, Telefonos, Colonia, etc.

Sintxis: variableEmpresa->Campo

Ejemplos:
COLUMNAS 5;2 USAEMPRESA varEmp1;CONTPAQW TEXTO varEmp1->Nombre IMPRIME

Definiendo las tablas


La instruccin USATABLA declara una variable que ser utilizada en el reporte para hacer referencia a una tabla.

Sintxis:
USATABLA variableTabla = variableEmpresa[NombreTabla]

Ejemplos:
USATABLA tClientes = varEmpAdm[MGW10002] USATABLA tCuentas = varEmpCtw[CTW10001] USATABLA tBenefPag = varEmpChq[BenefPag] USATABLA tEmpleados = varEmpNom[Nom10001]

Definiendo los ndices


La funcin USAINDICE de la variable Tabla se utiliza para ordenar el despliegue de los datos por medio del ndice en conjunto con bsquedas en base a criterios.

Sintxis:
variableTabla.USAINDICE[NombreIndice]

Ejemplos:
tClientes.USAINDICE[CCODIGOCLIENTE] tCuentas.USAINDICE [ICUENTA] tBenefPag.USAINDICE [PRIMARYKEY] tEmpleados.USAINDICE []

Buscando datos
La funcin BUSCA PRIMERO de la variable Tabla se utiliza para buscar el primer registro de la tabla en el orden del ndice activo.

Sintxis:
variableTabla.BUSCA PRIMERO

Ejemplos:
tClientes.BUSCA PRIMERO tCuentas.BUSCA PRIMERO tBenefPag.BUSCA PRIMERO tEmpleados.BUSCA PRIMERO

Buscando datos, continuacin


La funcin BUSCA ULTIMO de la variable Tabla se utiliza para buscar el ltimo registro de la tabla en el orden del ndice activo.

Sintxis:
variableTabla.BUSCA ULTIMO

Ejemplos:
tClientes.BUSCA ULTIMO tCuentas.BUSCA ULTIMO tBenefPag.BUSCA ULTIMO tEmpleados.BUSCA ULTIMO

Buscando datos, continuacin


La funcin SALTAREG de la variable Tabla se utiliza para buscar el siguiente o anterior registro de la tabla en el orden del ndice activo.

Sintxis:
variableTabla.SALTAREG[Numero de registros a saltar]

Ejemplos:
tClientes.SALTAREG[1] tCuentas.SALTAREG[-1] tBenefPag.SALTAREG[1] tEmpleados.SALTAREG[1]

Buscando datos, continuacin


La funcin BUSCA de la variable Tabla se utiliza para buscar un registro en base a un criterio aplicado sobre la llave del ndice activo.

Sintxis:
variableTabla.BUSCA[Llave]

Ejemplos:
tClientes.BUSCA[100] tCuentas.BUSCA[110101] tBenefPag.BUSCA[500] tEmpleados.BUSCA[ROBERTO DEL ALTO TORRES]

Buscando datos, continuacin


Diferencias en el uso de la funcin BUSCA de las diferentes versiones del reporteador.

WinRep32: Ejemplo:
tSaldosCuentas.BUSCA[110101 20051]

BDERep32 Ejemplo:
tEmpleado.BUSCA[campoLlave1 & : & campoLlave2 & ]

Definiendo los campos


Sintxis:
variableTabla.(NombreCampo)

Ejemplos:
tClientes(cNombreCliente) tCuentas.(Codigo) tBenefPag.(Nombre) tEmpleados.(Nombre)

Ciclos
Comparadores Instruccin Mientras Instruccin InicioRepite Terminacin de ciclos

Comparadores
Encontro Igualdad Desigualdad Negacin Mayor Que Menor Que Mayor Igual Que Menor Igual Que Conjuncin Disyuncin Mientras se encuentren registros a=b a != b !a a>b a<b a >= b a <= b aYb aOb

Instruccin MIENTRAS
Sintxis:
MIENTRAS condicin // Instrucciones a repetir mientras la condicin sea verdadera FINMIENTRAS

Ejemplos:
tCliente.BUSCA PRIMERO MIENTRAS tCliente->Encontro LISTA tCliente(cCodigoClienteProveedor,RazSocial) tCliente.SALTAREG[1] FINMIENTRAS

Instruccin MIENTRAS, continuacin


Con iniciacin, condicin e incremento.

Sintxis:
MIENTRAS [ iniciacin; condicin; incremento ] // Instrucciones a repetir mientras la condicin sea verdadera FINMIENTRAS

Ejemplos:
MIENTRAS[tCliente.BUSCA PRIMERO; tCliente->Encontro; tCliente.SALTAREG[1] ] LISTA tCliente(cCodigoClienteProveedor,RazSocial) FINMIENTRAS

Instrucciones INICIOREPITE, REPITE


Sintxis:
INICIOREPITE // Instrucciones a repetir al menos una vez // antes de verificar si no se cumple la condicin REPITE MIENTRAS condicin

Ejemplos:
tCliente.BUSCA PRIMERO Si tCliente->Encontro INICIOREPITE LISTA tCliente(cCodigoClienteProveedor,RazSocial) tCliente.SALTAREG[1] REPITE tCliente->Encontro FinSi

Finalizacin de ciclos
Sintxis:
FINCICLO

Ejemplos:
Numero = 0 tCliente.BUSCA PRIMERO Si tCliente->Encontro INICIOREPITE Numero = Numero + 1 LISTA tCliente(cCodigoClienteProveedor,RazSocial) Si Numero = 10 FINCICLO FinSi tCliente.SALTAREG[1] REPITE tCliente->Encontro FinSi

Condiciones
Instrucciones SI, SINO y FINSI Instrucciones ESCOGE, CASO, FINCASO, FINESCOGE

Instrucciones SI, SINO, FINSI


Sintxis:
SI condicin // Instrucciones a ejecutar si la condicin es verdadera SINO // Instrucciones a ejecutar si la condicin es falsa FINSI

Ejemplos:
SI varEdad > 18 Lista Mayor de edad SINO Lista Menor de edad FINSI

Instrucciones ESCOGE, CASO, FINCASO y FINESCOGE


Se utiliza para ejecutar un bloque de instrucciones dependiendo del valor de una variable.

Sintxis:
ESCOGE NombreVariable CASO 1 // Instrucciones a ejecutar FINCASO CASO 2 // Instrucciones a ejecutar CASO N // Instrucciones a ejecutar FINESCOGE

Instrucciones ESCOGE, CASO, FINCASO y FINESCOGE, cont.


Ejemplo:
ESCOGE variablePais CASO Mxico Nacionalidad = Mexicano FINCASO CASO Estados Unidos Nacionalidad = Estadounidense FINCASO CASO Francia Nacionalidad = Francs FINCASO FINESCOGE

Crear nuevas funciones


Se utiliza para agrupar instrucciones que sern ejecutadas repetidamente y adems estas funciones pueden convertirse en extensin del lenguaje del reporteador.

Sintxis: DEFFUNC nombre_funcion(argumento1;argumento2,...,argumentoN) // Instrucciones... FINFUNC Invocacin de Funciones: variableResultado = NombreFuncion(argumento1;argumento2;...;argumentoN)

NOTA IMPORTANTE: La funcin a invocar debe estar definida previamente al punto de donde ser invocada.

Casos prcticos

Reporteador y Excel
Instrucciones Bsicas
Objeto Excel = @CreaObjeto(Excel.Application) Objeto wb = Excel.Workbooks.Add(-4167) Objeto ws = wb.workSheets(1) Excel.Visible = 1[C0] ws.Range(A1).Value = Hola Mundo

Caso prctico

Das könnte Ihnen auch gefallen