51
Taller Reporteador Windows Nivel Básico

01_ReporteadorWindowsNivelBasico

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

  • ComparadoresEncontroMientras se encuentren registrosIgualdada = bDesigualdada != bNegacin!aMayor Quea > bMenor Quea < bMayor Igual Quea >= bMenor Igual Quea
  • 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