Beruflich Dokumente
Kultur Dokumente
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
Compilador
Archivo.RPT
Archivo.RTW
Instrucciones bsicas
Puntos a tomar en cuenta al desarrollar un reporte. Instruccin para comentarios. Instruccin COLUMNAS. Uso de variables.
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.
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.
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
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
Ejemplos:
ACEPTA Lista de colores;Seleccione un color;varColor;Rojo,Azul,Blanco,Verde
Lista de colores
Seleccione un color
X Aceptar Cancelar
Conceptos de BD
Dato Campo Registro Tabla Empresa
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.
Ejemplos:
USAEMPRESA empMegaPAQ;MegaPAQ1.00;C:\Compacw\Empresas\Emp1 USAEMPRESA empContPAQ;CONTPAQW USAEMPRESA empAdminPAQ;ADMINPAQW USAEMPRESA empCheqPAQ;CHEQPAQW USAEMPRESA empNomiPAQ;NOMIPAQW
X Aceptar
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
Sintxis:
USATABLA variableTabla = variableEmpresa[NombreTabla]
Ejemplos:
USATABLA tClientes = varEmpAdm[MGW10002] USATABLA tCuentas = varEmpCtw[CTW10001] USATABLA tBenefPag = varEmpChq[BenefPag] USATABLA tEmpleados = varEmpNom[Nom10001]
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
Sintxis:
variableTabla.BUSCA ULTIMO
Ejemplos:
tClientes.BUSCA ULTIMO tCuentas.BUSCA ULTIMO tBenefPag.BUSCA ULTIMO tEmpleados.BUSCA ULTIMO
Sintxis:
variableTabla.SALTAREG[Numero de registros a saltar]
Ejemplos:
tClientes.SALTAREG[1] tCuentas.SALTAREG[-1] tBenefPag.SALTAREG[1] tEmpleados.SALTAREG[1]
Sintxis:
variableTabla.BUSCA[Llave]
Ejemplos:
tClientes.BUSCA[100] tCuentas.BUSCA[110101] tBenefPag.BUSCA[500] tEmpleados.BUSCA[ROBERTO DEL ALTO TORRES]
WinRep32: Ejemplo:
tSaldosCuentas.BUSCA[110101 20051]
BDERep32 Ejemplo:
tEmpleado.BUSCA[campoLlave1 & : & campoLlave2 & ]
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
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
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
Ejemplos:
SI varEdad > 18 Lista Mayor de edad SINO Lista Menor de edad FINSI
Sintxis:
ESCOGE NombreVariable CASO 1 // Instrucciones a ejecutar FINCASO CASO 2 // Instrucciones a ejecutar CASO N // Instrucciones a ejecutar FINESCOGE
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