Upload
eduardo-antonio-bravo
View
7
Download
4
Embed Size (px)
DESCRIPTION
Reporteador
Citation preview
TallerReporteador Windows Nivel Bsico
AgendaRevisin de caractersticas e instrucciones bsicas del reporteador.Desarrollo de reportes de casos prcticos (1a. Parte).RecesoDesarrollo de reportes de casos prcticos (2a. parte).RecesoDesarrollo de reportes de casos prcticos, (Parte final).
ObjetivoAprender y/o aumentar el conocimiento de las caractersticas bsicas del Reporteador Windows desarrollando casos prcticos.
Conceptos bsicosReporte.Reporteador.Algoritmo.Compilador.Editor.
CaractersticasColumnar. 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
CompiladorBase de DatosSistemasUbicacinWinRep.exeFoxpro 2.5 o superior yCodeBaseContPAQ y MegaPAQ Windows 16 BitsC:\Compacw\Sistemas\ContPAQ C:\Compacw\Sistemas\MegaPAQ
WinRep32.exeFoxpro 2.5 o superior yCodeBaseContPAQ y AdminPAQ (CodeBase) Windows 32 BitsC:\Archivos de programa\Compacw\Bin C:\Archivos de programa\Compacw\AdminPAQ
BDERep32ParadoxCheqPAQ, NomiPAQ AdminPAQ (Paradox)C:\Archivos de programa\Compacw\Bin C:\Archivos de programa\Compacw\AdminPAQ
Proceso para generar cdigo mquinaArchivo Cdigo FuenteCompiladorArchivo Cdigo MquinaArchivo.RPTWinRep.EXEWinrep32.EXEBDERep32.EXEArchivo.RTW
Instrucciones bsicasPuntos a tomar en cuenta al desarrollar un reporte.Instruccin para comentarios.Instruccin COLUMNAS.Uso de variables.
Puntos a tomar en cuentaDescripcin 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 despus de la ltima instruccin).
Puntos a tomar en cuentaEncabezadoDetalle Diseo del reporte
ComentariosLa 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 COLUMNASSirve 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 reporteAncho1,Ancho2,... : ancho de las columnas en centmetros
Ejemplo:COLUMNAS 4;10,2,4,1
Uso de variablesEs 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] = nmeroVariable[NumeroCasilla] = TextoVariable = nmero[C]
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] = HolaPara asignar el nmero 45 en la casilla 1 de la variable varDatos se hace de la siguiente manera:varDatos[1] = 45o tambin de la siguiene manera:varDatos = 45[C1]
COLUMNAS 4;2
0 1 23
Hola4512Mundo
Uso de variables, continuacinEjemplos:COLUMNAS 6;2varDatos = Totales:varDatos = 100[C1..C5]varDatos = 500[C7]varDatos[1..5] = 100varDatos[1,5] = 200varDatos = 500[1..5]
Uso de variables, continuacinEjemplos:COLUMNAS 6;2varDatos = Totales:varDatos = 100[C1..C5]varDatos = 500[C7]INCORRECTAvarDatos[1..5] = 100INCORRECTAvarDatos[1,5] = 200varDatos = 500[1..5] INCORRECTA
Interactuando con el usuarioInstruccin LISTA.Instruccin TEXTO.Instruccin PARAMETRO.Instruccin ACEPTA.Instruccin ACEPTA con lista de opciones.
Instruccin LISTAManda 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_lineasEjemplos:LISTA Mi nombre es,Juan Prez
varTelefono = 38180900LISTA ,,,varTelefono
varTotal = Total:[C0]varTotal = 200[C1..C6]LISTA varTotal;1
Instruccin TEXTO e IMPRIMEManda informacin a pantalla. Puede ser textos, nmeros o valores almacenados en una variable.
Sintxis:TEXTO Mensaje texto
TEXTO C;Mensaje Texto
TEXTO Posicion_en_Centmetros;Mensaje TextoIMPRIMEEjemplos:TEXTO HolaTEXTO C1;MundoTEXTO 6.5;Mi nombre esIMPRIME
Instruccin PARAMETROSe 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 = 2005PARAMETRO ProductoInicial = 52011232252PARAMETRO 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;varEdadDatos PersonalesIntroduce la edad|AceptarCancelarX
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,VerdeLista de coloresSeleccione un colorRojoAzulBlancoVerdeAceptarCancelarX
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 BDDato CampoRegistroTablaEmpresa
Proceso para el acceso a BDConectarse a la empresa.Definir las tablas a utilizar para el reporte.Definir los ndices a utilizar.Definir los campos a desplegar.
Accesando las BDsConectndose a la Empresa.Campos de la Empresa.Definiendo las Tablas.Definiendo los ndices.Buscando Datos.Saltando Registros.Definiendo los campos.
Conectandose a la empresaLa 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\Emp1USAEMPRESA empContPAQ;CONTPAQWUSAEMPRESA empAdminPAQ;ADMINPAQWUSAEMPRESA empCheqPAQ;CHEQPAQWUSAEMPRESA empNomiPAQ;NOMIPAQW
Conectandose a la empresa, cont.Seleccin de empresaSeleccione una empresaAceptarCancelarXLa Gran Empresa, SA de CVEmpresa Demostracin
Campos de la empresaLos 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;2USAEMPRESA varEmp1;CONTPAQWTEXTO varEmp1->NombreIMPRIME
Definiendo las tablasLa 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 ndicesLa 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 datosLa 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 PRIMEROtCuentas.BUSCA PRIMEROtBenefPag.BUSCA PRIMEROtEmpleados.BUSCA PRIMERO
Buscando datos, continuacinLa 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 ULTIMOtCuentas.BUSCA ULTIMOtBenefPag.BUSCA ULTIMOtEmpleados.BUSCA ULTIMO
Buscando datos, continuacinLa 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, continuacinLa 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, continuacinDiferencias en el uso de la funcin BUSCA de las diferentes versiones del reporteador.
WinRep32:Ejemplo:tSaldosCuentas.BUSCA[110101 20051]
BDERep32Ejemplo:tEmpleado.BUSCA[campoLlave1 & : & campoLlave2 & ]
Definiendo los camposSintxis:variableTabla.(NombreCampo)
Ejemplos:tClientes(cNombreCliente)tCuentas.(Codigo)tBenefPag.(Nombre)tEmpleados.(Nombre)
CiclosComparadoresInstruccin MientrasInstruccin InicioRepiteTerminacin de ciclos
Instruccin MIENTRASSintxis:MIENTRAS condicin// Instrucciones a repetir mientras la condicin sea verdaderaFINMIENTRAS
Ejemplos:tCliente.BUSCA PRIMEROMIENTRAS tCliente->EncontroLISTA tCliente(cCodigoClienteProveedor,RazSocial)tCliente.SALTAREG[1]FINMIENTRAS
Instruccin MIENTRAS, continuacinCon iniciacin, condicin e incremento.
Sintxis:MIENTRAS [ iniciacin; condicin; incremento ]// Instrucciones a repetir mientras la condicin sea verdaderaFINMIENTRAS
Ejemplos:MIENTRAS[tCliente.BUSCA PRIMERO; tCliente->Encontro; tCliente.SALTAREG[1] ]LISTA tCliente(cCodigoClienteProveedor,RazSocial)FINMIENTRAS
Instrucciones INICIOREPITE, REPITESintxis:INICIOREPITE// Instrucciones a repetir al menos una vez // antes de verificar si no se cumple la condicinREPITE MIENTRAS condicinEjemplos:tCliente.BUSCA PRIMEROSi tCliente->EncontroINICIOREPITE LISTA tCliente(cCodigoClienteProveedor,RazSocial)tCliente.SALTAREG[1]REPITE tCliente->EncontroFinSi
Finalizacin de ciclosSintxis:FINCICLOEjemplos:Numero = 0tCliente.BUSCA PRIMEROSi tCliente->EncontroINICIOREPITENumero = Numero + 1LISTA tCliente(cCodigoClienteProveedor,RazSocial)Si Numero = 10FINCICLOFinSitCliente.SALTAREG[1]REPITE tCliente->EncontroFinSi
CondicionesInstrucciones SI, SINO y FINSIInstrucciones ESCOGE, CASO, FINCASO, FINESCOGE
Instrucciones SI, SINO, FINSISintxis:SI condicin// Instrucciones a ejecutar si la condicin es verdaderaSINO// Instrucciones a ejecutar si la condicin es falsaFINSI
Ejemplos:SI varEdad > 18 Lista Mayor de edadSINOLista Menor de edadFINSI
Instrucciones ESCOGE, CASO, FINCASO y FINESCOGESe 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 ejecutarFINESCOGE
Instrucciones ESCOGE, CASO, FINCASO y FINESCOGE, cont.
Ejemplo:ESCOGE variablePais CASO MxicoNacionalidad = Mexicano FINCASO CASO Estados UnidosNacionalidad = Estadounidense FINCASO CASO FranciaNacionalidad = Francs FINCASOFINESCOGE
Crear nuevas funcionesSe 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...FINFUNCInvocacin 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 ExcelInstrucciones 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