Editor de Reportes

Anuncio
Editor de Reportes
Guía Curso
Distribuidor
Elaborada por:
Soporte Técnico
Aspel de México, S. A. de C. V.
Cerrada de Suiza #17 Col. San Jerónimo Aculco
Del. Magdalena Contreras C.P. 10400
México, D. F.
Agosto 2007
ASPEL es una marca registrada de Aspel de México, S. A. de C. V.
Asimismo Aspel de México S. A. de C. V. se reserva el derecho de revisar periódicamente este documento y
hacer cambios en el contenido del mismo, si lo considera necesario.
Todas las marcas comerciales que se mencionan en este documento son marcas registradas por sus
respectivas compañías.
Cualquier duda o comentario al respecto de este documento, favor de notificarlo a: [email protected]
ÍNDICE
1.
INTRODUCCIÓN.............................................................................................................................................. 1
1.1
1.2
2.
Definición .................................................................................................................................................. 1
Objetivo del curso.................................................................................................................................... 1
EDITOR DE REPORTES..................................................................................................................................... 3
2.1
2.2
2.3
2.4
2.5
2.6
Generales ................................................................................................................................................... 3
Editor gráfico de reportes (qr2)............................................................................................................. 3
Conceptos básicos.................................................................................................................................... 3
Estructura general de un reporte........................................................................................................... 4
Barra de herramientas ............................................................................................................................. 6
Propiedades del elemento de un reporte ............................................................................................. 7
2.6.1 ¿Cómo modificar un elemento del reporte?.............................................................................. 8
2.7 Barra de elementos del reporte ............................................................................................................. 8
2.8 Crear un nuevo reporte .........................................................................................................................17
2.9 Campos de la base de datos .................................................................................................................17
2.10
Configuración de base de datos.......................................................................................................18
2.11
Ver una presentación preliminar y grabar el reporte ..................................................................21
Práctica 1: Creación de un reporte de cuentas en Aspel-COI......................................................22
Práctica 2: Creación de un reporte con formato en Aspel-SAE. ..................................................25
2.12
Generación de consultas mediante el lenguaje SQL (query’s) ...................................................26
2.12.1 Sentencias SQL...........................................................................................................................27
2.12.2 Comandos DML ..........................................................................................................................27
2.12.2.1 Instrucciones de consulta ................................................................................................29
2.12.2.2 Predicado en consultas ....................................................................................................31
2.12.2.3 Funciones de Agrupación .................................................................................................33
2.12.2.4 Operadores especiales .....................................................................................................35
2.13
Parámetros en las consultas.............................................................................................................35
2.14
Exportación de un reporte o documento a formato PDF ............................................................36
2.15
Modificar un reporte..........................................................................................................................37
Práctica 3: Modificación de un reporte de Facturas Digitales utilizando consultas dinámicas......39
3.
EDITOR DE FORMATOS (*.FTO).................................................................................................................43
3.1
3.2
3.3
3.4
Definición ................................................................................................................................................43
Conceptos básicos..................................................................................................................................43
Características del editor de formatos...............................................................................................43
Estructura general de los formatos.....................................................................................................44
3.4.1 Parámetros del reporte.............................................................................................................44
3.4.2 Encabezados................................................................................................................................44
3.4.3 Contenido del reporte y/o partidas y ciclos .........................................................................45
3.4.4 Totales .........................................................................................................................................45
3.5 Edición de formatos ...............................................................................................................................45
3.5.1
Operadores ..............................................................................................................................45
3.5.1.1 Aritméticos ........................................................................................................................46
3.5.1.2 Lógicos ................................................................................................................................46
3.5.1.3 Comparación......................................................................................................................46
3.5.2
Campos .....................................................................................................................................46
3.5.2.1 Campos asignados por el sistema ..................................................................................46
3.5.2.2 Campos libres numéricos y alfanuméricos ...................................................................46
3.5.3
Comandos con sintaxis ..........................................................................................................47
3.6 Ciclos de lectura .....................................................................................................................................55
3.7 Generación de formatos (*.fto) ...........................................................................................................58
Práctica 4: Elaboración de un formato para factura en fto..........................................................58
Práctica 5: Elaboración de un formato para recibos con copia en Aspel-NOI. .........................62
Práctica 6: Modificación de formato para Balance General.........................................................68
Simbología:
t
†
1
Tips de uso.
Tipo de reporte.
Ruta de acceso.
Advertencia.
Práctica
Requisitos:
; Conocimientos del sistema operativo MS-Windows® NT4.0, 2000, XP, 2003 o superior.
; Conocimientos de por lo menos un sistemas Aspel.
; Conocimientos básicos de programación
yPara el instructor.
Software a utilizar:
; Aspel-SAE 4.0
; Aspel-COI 5.x
; Aspel-NOI 4.x
; Bloc de Notas de Windows
Bases de datos:
; Se utilizarán bases de datos de ejemplos de los sistemas de Aspel-SAE, Aspel-COI y Aspel-NOI.
Nombre del participante:
Centro de capacitación:
Nombre del instructor:
Correo electrónico:
Fecha:
1.
INTRODUCCIÓN
1.1
Definición
Una característica muy importante de los sistemas informáticos son los Reportes mediante los cuales se brinda
información veraz y oportuna al personal operativo, administrativo, gerencial y accionistas de la empresa,
facilitando así la ejecución de sus actividades, la toma de decisiones, la definición de los objetivos y en general
datos que permitan conocer la situación financiera de la empresa.
Los sistemas Aspel, dependiendo del sistema y número de versión cuentan con diferentes editores de Reportes
que permiten al usuario obtener la información que se requiera de acuerdo a las necesidades de la operación y
los procesos administrativos de la empresa. Dado que los sistemas Aspel han ido evolucionando, las versiones
más recientes como Aspel-CAJA 1.0, Aspel-SAE 4.0, Aspel-COI 5.0, y Aspel-BANCO 3.0 cuentan con un editor de
Reportes gráfico que proporciona al usuario una herramienta para realizar adecuaciones sobre los formatos, el
ordenamiento de la información, ejecutar filtros específicos, obtener informes más elaborados, los reportes
generados con esta herramienta tienen la extensión *.qr2. Por otro lado, tanto las versiones anteriores a las
mencionadas, como las nuevas -incluyendo Aspel-NOI 4.0 y Aspel-PROD 2.0-, incluyen un Editor de reportes
propio, el cual mediante un conjunto de instrucciones (pseudo lenguaje de programación) permite realizar la
edición de los reportes con extensión *.fto.
1.2
Objetivo del curso
Al término de este curso el Asistente podrá modificar o diseñar nuevos reportes en los sistemas de la línea Aspel
en cualquiera de sus versiones, conocerá las ventajas, características y condiciones para utilizar los diferentes
Editores de formatos y podrá obtener finalmente, los reportes e informes de acuerdo a las necesidades de
información de la empresa.
Notas del asistente:
Guía Curso Editores
1
Notas del asistente:
Guía Curso Editores
2
2.
EDITOR DE REPORTES
2.1
Generales
Dado que los sistemas Aspel ofrecen diferentes Editores de reportes, es necesario identificar la versión del
sistema Aspel desde el cual se desea generar o modificar un reporte ya que de ello depende la herramienta que
se tendrá disponible para obtener el documento o reporte con las características deseadas. La correcta elección
del editor dependerá de la versión del sistema y las características del reporte deseado.
Sistema.versión
Aspel-SAE 3.0
Editor tradicional (fto)
2.2
Editor gráfico (qr2)
√
Aspel-SAE 4.0
√
Aspel-COI 4.0
√
Aspel-COI 5.x
√
Aspel-NOI 3.x
√
Aspel-NOI 4.x
√
Aspel-BANCO 2.5
√
Aspel-BANCO 3.0
√
Aspel-PROD 1.7
√
Aspel-PROD 2.0
√
Aspel.-CAJA 1.0
Editor de notas
√
√
√
√
√
Editor gráfico de reportes (qr2)
Ruta de acceso: En Aspel-SAE 4.0 desde cualquier módulo a Reportes/Administrador de Reportes, en AspelBANCO 3.0 en el menú Reportes/Administrador de reportes. En Aspel-COI 5.0 desde el menú Reportes/ Reportes
del usuario. En Aspel-CAJA 1.0 en le menú Archivo / Editor de Reportes ó desde el Administrador de Catálogos /
Tiendas, seleccionar la tienda y la caja y dar clic derecho sobre la caja “Editar el formato de la nota de venta de
esta caja”.
El Editor gráfico de reportes es una herramienta que permite tener gran flexibilidad y mayores alcances en la
edición y personalización de reportes. Entre las características principales que hacen de este un editor flexible,
está la generación de consultas en lenguaje SQL que permiten la obtención de información de las bases de datos
de los diferentes sistemas, de esta manera se podrá incluir o formar un reporte con la información de las
diferentes tablas que componen cada módulo. Un formato o reporte diseñado por este medio genera un archivo
con la extensión *.qr2.
2.3
Conceptos básicos
Antes de empezar con la edición de estos reportes, se revisarán algunos conceptos generales.
Base de Datos: Es un conjunto de información organizada en estructuras lógicas llamadas Tablas, las cuales a su
vez, se encuentran relacionadas entre sí.
Tablas. Son archivos compuestos por campos y registros, por ejemplo: un archivo con información de
direcciones, números de partes o facturas.
Notas del asistente:
Guía Curso Editores
3
Campos
Clave
Registros
Dirección
Teléfono
1
Juan Hernández Soto
Nombre
Av. De las Torres 53
53-96-85-78
2
Alejandra Márquez Torres
Calle Xola 14
56-84-96-10
3
Karina Cevallos García
Calz. Morelos 5214
58-43-31-44
Figura 2.3-1 Estructura de una tabla
Query. Es un conjunto de instrucciones que permite mostrar una serie de registros provenientes de una tabla
que cumplen con determinado criterio.
Conjunto de Datos (Dataset). Está compuesto de comandos, cláusulas, operadores y funciones, estos
elementos se combinan en las instrucciones para actualizar y manipular la base de datos. Almacenan datos en
una memoria caché desconectada. La estructura de un conjunto de datos es similar a la de una base de datos
relacional; expone un modelo jerárquico de tablas, filas y columnas. Además, contiene restricciones y relaciones
definidas para el conjunto de datos.
Alias. Los “Alias” son nombres o identificadores alternos para las rutas de acceso o bases de datos.
Etiqueta. Conjunto de caracteres unido a un grupo de datos que sirve para identificarlo.
Maestro. Es la tabla principal y de mayor importancia, de la cual se extrae la información que se está definiendo.
La definición de una tabla como maestro se realiza en las propiedades de las tablas disponibles o al generar un
nuevo query, el maestro está asociado en el valor del parámetro desde otra Tabla de datos.
2.4
Estructura general de un reporte
Conocer la estructura general de un reporte es de suma importancia, pues siempre que se modifique alguno de
ellos se debe identificar en qué sección del reporte se está trabajando. Las diferentes secciones que forman un
reporte se muestran en la Figura 2.4-1 y son:
•
•
•
Encabezado del Reporte: Ésta sección se utiliza para colocar datos como el nombre de la empresa,
títulos del reporte, entre otros y las bandas que regularmente se agregan son, la banda de título,
encabezado de página, y encabezado de columna, estas se diseñan por medio de una banda estándar, en
donde se puede configurar los datos generales que ayuden a identificar el reporte.
Detalle del Reporte: Esta sección se utiliza para colocar la información detallada que conformará el
reporte como listado de productos, partidas de una factura, lista de cuentas, artículos, etc. En ésta
sección se pueden insertar las bandas siguientes: Bandas de subdetalle, Grupo de bandas, Banda hija.
Pié del reporte: Se utiliza para colocar la información final del reporte como totales y datos finales, las
bandas más comunes para ésta sección son sumas, pié de página, entre otras.
Notas del asistente:
Guía Curso Editores
4
Como se puede observar las secciones de un reporte se manejan por medio de bandas, cada una de ellas tienen
una función diferente.
Encabezado
del reporte
Detalle
Pié del
Reporte
Figura 2.4.-1 Estructura general de un reporte
Ahora bien, para generar un reporte se requiere conocer los elementos de un formato, estos se muestran en la
Figura 2.4.-2
Notas del asistente:
Guía Curso Editores
5
Etiquetas
Bandas
Campos de datos
Figura 2.4-2 Elementos del formato
Los tres elementos más importantes de un formato son las "Etiquetas", los "Campos de datos" y las “Bandas”. Las
etiquetas (Label) son usadas para imprimir texto, por ejemplo, un título o datos que no tienen conexión con la
base de datos. Los campos de datos (Datafield) son un punto de referencia para que el "Reporteador" obtenga su
información de un "Conjunto de datos" (Dataset) y la coloque en el área del reporte donde se estableció el
"Campo de datos". Usualmente las etiquetas son colocadas para referenciar a los campos de datos, con el
objetivo de hacer que el reporte sea más entendible, mientras que las bandas, son las áreas donde se colocan las
etiquetas mencionadas.
2.5
Barra de herramientas
La barra de herramientas se conforma por botones que al dar clic en ellos, ejecutan de inmediato las funciones
más importantes del Editor de reportes, estos se muestran en la Figura 2.5-1.
Figura 2.5-1 Barra de herramientas.
Se pueden cambiar algunas propiedades de los elementos del reporte que se esté utilizando, directamente con
los botones de la barra de herramientas, al hacer clic sobre cada botón y se desplegará el diálogo donde se
definen las propiedades de los elementos.
Notas del asistente:
Guía Curso Editores
6
Botones
Función
Estos botones se utilizan para crear un reporte en blanco, guardar los cambios y abrir un
reporte existente.
Para guardar el reporte con un nombre y ubicación diferente, imprimir y mostrar una vista
preliminar.
Con estos botones los elementos de reporte pueden ser cortados, copiados o pegados
desde el portapapeles del diseñador de reportes.
Estos botones son usados para colocar un elemento de reporte atrás o arriba de otros
elementos de reporte, en el caso de elementos sobre puestos.
Estos botones se utilizan para configurar la impresión del reporte, para modificar y/o
generar un nuevo query, además de mostrar las tablas disponibles en el reporte.
Los elementos (como etiquetas o valores de campos) del reporte, pueden ser alineados en la presentación del
reporte con los botones de la barra que se muestra en la figura 2.5-2. Algunos de ellos sólo están disponibles
cuando varios elementos están seleccionados.
Figura 2.5-2 Barra de herramientas auxiliar par modificar presentaciones.
Para utilizar estas funciones, se debe seleccionar los elementos, figuras, imágenes, etc., con la tecla u y
haciendo clic sobre los elementos que se desea modificar su ubicación en el reporte, ya sean: figuras, imágenes,
etc., se pueden seleccionar varios elementos al mismo tiempo mientras estos formen parte de la misma banda, o
se trate de los elementos que formen parte del reporte en general. Una vez seleccionados los elementos se debe
elegir el tipo de alineación requerida con los botones de la barra anterior.
En algunas ocasiones, se requiere de cambiar la presentación de los textos (tipo de letra, tamaño, alineación,
etc.) para una mejor apariencia del reporte, para ello será de gran ayuda la barra de formato de texto que se
muestra en la figura 2.5-3:
Figura 2.5-3 Barra de herramientas para dar formato al texto.
Con ésta banda se puede cambiar la fuente del texto, tamaño, color, atributo, alineación o bien, agregar un
marco alrededor de la etiqueta.
2.6
Propiedades del elemento de un reporte
Después de editar las propiedades del elemento de reporte de acuerdo a los requerimientos, se debe presionar el
botón "Aceptar" para cerrar el diálogo y aceptar los cambios. Si en lugar de Aceptar se da clic en "Cancelar",
todos los cambios serán ignorados, si por ejemplo, se estaba insertando un nuevo elemento, éste no será
agregado al reporte.
La descripción acerca de las diferentes propiedades de cada elemento de reporte se localiza en la descripción
individual de cada elemento.
Notas del asistente:
Guía Curso Editores
7
2.6.1 ¿Cómo modificar un elemento del reporte?
Las propiedades de un elemento del reporte pueden ser cambiadas en cualquier momento durante el diseño del
reporte. Para ello se selecciona el elemento deseado y al hacer doble clic con el botón izquierdo del ratón, o
presionar el botón derecho y seleccionar la opción "Editar" del menú flotante, el diálogo de propiedades para el
elemento de reporte seleccionado aparecerá y es el mismo diálogo que aparece cuando se inserta un nuevo
elemento de reporte. La imagen 2.6.1-1 muestra el diálogo de propiedades para una "etiqueta".
Figura 2.6.1-1 Modificación del elemento de un reporte.
2.7
Barra de elementos del reporte
Los botones para agregar los “Elementos del reporte” se encuentran en la parte superior de la ventana del
diseñador.
2.7-1 Barra de elementos.
Para agregar un elemento al reporte se debe presionar el botón y después hacer clic en el reporte en el lugar
donde se quiere que sea insertado el elemento. Después se podrá mover el elemento de reporte a cualquier otro
lugar.
Cuando se agregue nuevas bandas de reportes no importará donde se haga clic, ya que la posición de cada banda
se determina automáticamente dependiendo el tipo de cada una de ellas (Encabezado, Título, Pie de página, etc).
A continuación se muestra la función de cada uno de los elementos del reporte.
Seleccionar / mover elemento. Se utiliza para seleccionar elementos, cambiarlos de posición o
modificar su tamaño.
Banda estándar. Una banda es el elemento de un informe que representa una sección en la cual se
pueden agrupar campos que tienen alguna característica en común
Todas las bandas del reporte son agregadas mediante el mismo botón ubicado dentro de la barra de
herramientas. Por cada banda, se deben definir ciertas características:
Notas del asistente:
Guía Curso Editores
8
Figura 2.7-2 Propiedades de una banda estándar.
1.
Tipo: El tipo de banda es seleccionado en el diálogo de propiedades de la banda que se despliega.
Dependiendo el tipo de banda que se defina, es la presentación de la mismas en el cuerpo del
reporte, los tipos de banda con los que se cuentan son:
• Título: La banda de título se imprimirá en la primera página del reporte como un título de
reporte.
• Encabezado de página: La información definida en la banda se imprimirá en la parte superior de
cada página del reporte.
• Encabezado de columna: El encabezado de columna es utilizado con reportes que tienen varias
columnas, en este caso, el sistema en cada página del reporte imprimirá el encabezado de
columnas.
• Detalle: La banda de detalle es la más importante de un reporte. Se imprime una vez por cada
registro de datos de la tabla principal del reporte.
• Encabezado de grupo: El encabezado de grupo se refiere al formato o título que se le dará a
cada columna de datos para identificarlos, el encabezado de grupo no se imprime.
• Pie de grupo: El pie de grupo se imprime al final de cada grupo, antes de que un nuevo grupo
comience a imprimirse. Para mayor información sobre grupos, se debe consultar la sección
donde se describe el Grupo de bandas.
• Sumas: Las sumas se refieren a los totales de las expresiones especificadas dentro de la banda
en el reporte. Se pueden definir etiquetas para identificar los totales.
• Pie de página: La banda definida de esta manera, se imprime en la parte inferior de cada página
del reporte.
• Banda de Repetir: Permite repetir los elementos que se encuentren dentro de dicha banda el
número de veces que se indique en las propiedades.
Notas del asistente:
Guía Curso Editores
9
2.
Opciones de impresión de una banda: Uno de los datos que se definen por banda son las opciones
de impresión, (Figura 2.7-3) con ellas se puede definir cada cuando se imprime la banda que se está
modificando, por ejemplo, el total de un reporte sólo se debe imprimir el final del reporte, en
cambio los encabezados de columnas se deben imprimir en cada página del reporte.
Figura 2.7-3 Opciones de impresión de una banda estándar.
A continuación se describen las diferentes opciones de impresión:
• Descartar en página Inicial: Al marcar esta opción la banda se omite en la primer página del reporte.
• Descartar en página Final: Al marcar esta opción la banda se omite en la última página del reporte.
• Numerar páginas: Con esta opción se numeran las páginas tantas veces como se imprima la banda.
• Páginas Impares solamente: Solamente se imprimirá la banda en páginas Impares.
• Numerar al final de la Página: Sirve para numerar en la parte inferior de la página.
• Forzar nueva página: Cada que se imprima la banda se hará en una hoja nueva.
• Forzar nueva columna: Cuando se llegue a esta banda la impresión comenzará en otra columna.
Además de las opciones anteriores, es posible indicar alguna expresión o condicionante para permitir o
no la impresión de la banda en el reporte, mediante la opción:
Figura 2.7-4 Definición de una condición para indicar que sólo se imprimirá si se cumple la condición.
¿Cuándo es útil esta opción? por ejemplo, dentro de Aspel-SAE 4.0 en el reporte de Acumulados de
Clientes, se desea imprimir únicamente aquellos clientes que tengan Ventas Anuales mayores a
$100,000.00, por lo tanto la expresión quedaría así: dtsClie_Cat.VTAS>100000.
Notas del asistente:
Guía Curso Editores
10
Figura 2.7-5 Ejemplo de banda que sólo se imprime al cumplir con una expresión.
3.
Agregando un marco a la banda: Se puede incluir un marco a la banda, para delimitar información
si así se desea, con diferentes estilos de líneas y colores.
Figura 2.7-6 Definición de las propiedades para la impresión del marco en la banda
4.
Encadenar con la banda: Esta opción relaciona dos bandas para que sus datos estén relacionados,
el sistema mostrará todas las bandas que están en el reporte para que se pueda elegir a la que se
desea encadenar o relacionar.
Notas del asistente:
Guía Curso Editores
Figura 2.7-7 Propiedades de la banda estándar
11
Banda hija
Una banda hija es una banda que es ligada a otra banda de reporte y la cual se imprimirá debajo de su banda
padre. De esta manera, se podrá imprimir una banda adicional después de cada banda de detalle. La ventaja de
utilizar bandas hija en lugar de sólo cambiar el tamaño de la banda padre para hacer que alcancen más elementos
de reporte es que éstas pueden ser, si es necesario, un salto de página entre una banda y su hija, y la banda hija
puede imprimirse independientemente de su banda padre, aún si la banda padre no se imprime.
Se debe usar bandas hija si se tienen elementos de reporte con la propiedad "Ajustar" puesta en verdadero y si se
desea imprimir el elemento abajo como un campo ajustable. En este caso, se deben colocar todos los elementos
que serán movidos hacia abajo automáticamente a causa de los elementos con auto estrechamiento antes de
ellos en la banda hija.
Figura 2.7-8 Propiedades de una banda hija
A diferencia de la banda padre, para una banda hija es forzoso especificar una banda padre.
Banda de subdetalle
Una banda de subdetalle es una clasificación de la banda de detalle, pero es un integrante de la banda de detalle
real. Por ejemplo: Si se quiere imprimir un reporte de los clientes con datos como dirección, correo, teléfono, etc,
y por cada cliente imprimir la lista de los contactos que se tiene, se deberá usar una banda de subdetalle para
imprimir los contactos debajo de cada cliente. Para usar esta tabla, es necesario que se cree una conexión a la
tabla correspondiente (llamada "Tabla maestra") mediante la opción de Configuración de base de datos.
En una banda de subdetalle se debe definir:
•
•
•
Tabla: En este campo se debe definir el Conjunto de datos del cual se tomará la información para la
banda de subdetalle.
Color: Esta propiedad define el color del fondo de la banda del reporte.
Maestro (tabla principal): "Maestra" es la tabla de mayor importancia para la tabla de subdetalle. Por
cada registro de datos en la tabla maestra se imprimirá una lista de subdetalle. Siguiendo con el ejemplo
planteado anteriormente, por cada cliente se imprimirá su listado de contactos, por ello en el campo
Maestro se definió la tabla: dtsClie_Cat.
Notas del asistente:
Guía Curso Editores
12
Figura 2.7-9 Banda de Subdetalle.
Ejemplo de una banda de subdetalle ya asociada a la tabla principal Figura 2.7-10 y una vista previa del reporte de
catálogo de clientes con sus contactos.
Banda de
Detalle
Banda de
Subdetalle
Figura 2.7-10 Vista preliminar del reporte
Notas del asistente:
Guía Curso Editores
13
Grupo de bandas
Un grupo de bandas es utilizado para estructurar información en grupos de registros de datos. Por ejemplo: si
quieres imprimir una lista de direcciones, puedes agregar algunos espacios antes de que inicie cada nueva letra e
insertar algún subtítulo, o puedes agrupar direcciones por ciudad o estado.
Internamente los grupos son manejados de la siguiente manera: antes de imprimir un registro de datos, el
generador del reporte verifica si el resultado de la expresión del grupo es diferente del resultado de la expresión
del último registro de datos. Si esto es así, el grupo se imprimirá, de otra forma no. De esta manera, los datos
pueden ser agrupados con gran flexibilidad, dado que puedes utilizar las expresiones para aproximaciones o
cualquier otro tipo de cálculos.
Cuando se define un grupo de bandas, es necesario especificar un Maestro, así como una banda de pie de grupo.
Figura 2.7-9 Propiedades de la banda de grupo.
A continuación se describirá de manera general cada una de las herramientas que se pueden utilizar dentro de un
Reporte qr2.
Etiquetas / Label
Una etiqueta sirve para imprimir texto estático, por ejemplo, texto que se imprime exactamente igual a como se
despliega durante el diseño del reporte.
Memos
Un memo es usado para imprimir texto que tiene más de una línea. Así como las etiquetas, un memo despliega
texto en un color y tipo de letra. Si quiere usar texto con formato, deberás utilizar un campo de Texto con
formato (Richtext)
Notas del asistente:
Guía Curso Editores
14
Imágenes
Un elemento imagen es un mapa de bits de un archivo en formato *.BMP,*.WMF,*.EMF o *.ICO que se inserta en
el reporte.
Figuras
Este elemento de reporte puede ser utilizado para dibujar (horizontalmente o verticalmente) líneas, círculos y
rectángulos.
Campos del sistema
Este elemento es utilizado para desplegar información del sistema como la hora o la fecha, el número de página,
etc.
Campo de datos
Mediante un campo de datos se puede agregar algún campo obtenido mediante alguna Tabla o Query del
Reporte.
Figura 2.7-10 Propiedades del campo del sistema
Figura 2.7-11 Propiedades de un campo de datos
Notas del asistente:
Guía Curso Editores
15
El campo Formato se utiliza para definir la máscara del dato a desplegar, por ejemplo: ·###,###,###.##
Imágenes desde un campo de datos
Mientras que un campo de datos se utiliza para desplegar texto desde un registro de una base de datos, se puede
utilizar este elemento de reporte para desplegar imágenes que se encuentren almacenadas en una base de datos.
Campo de expresiones
Un campo calculado (campo de expresiones) es utilizado para desplegar texto o datos que son calculados por
medio de una expresión o fórmula. Puedes realizar cálculos numéricos, manipulación de cadenas, concatenación
de campos de datos y mucho más.
Figura 2.7-12 Propiedades de un campo calculado
La posibilidad de Agregar un campo calculado sólo se presenta al utilizar un reporte con formato qr2. Sólo es
necesario indicar la expresión con la cuál se calculará el valor del campo a imprimir.
Texto de comando
El texto con formato es un elemento de reporte que puede desplegar múltiples líneas de texto con diferentes
tipos de letra, colores y formatos. En el diálogo de propiedades del texto con formato presiona el botón "Editar"
para desplegar el editor de texto desde donde se pueden editar las propiedades del texto con formato.
Texto con formato desde un campo de datos
Este elemento de reporte despliega texto con formato de un campo de datos.
Notas del asistente:
Guía Curso Editores
16
2.8
Crear un nuevo reporte
Ruta de acceso: Reportes / Administrador de Reportes / haciendo clic sobre el botón
.
Desde el Administrador de reportes se agrega un nuevo reporte o se modifica alguno que ya está previamente
configurado, para adaptarlo a las necesidades de la empresa.
Si se está creando un nuevo reporte, el sistema mostrará el reporte en blanco, de tal manera, que se podrán ir
agregando: las bandas, etiquetas, base de datos, etc, según se requiera. Para configurar el reporte se deben
considerar los siguientes aspectos:
Figura 2.8-1 Nuevo reporte en Aspel-COI 5.5
2.9
Campos de la base de datos
Se activa al abrirse el reporte o con el botón
y consiste en una lista con todos los campos disponibles y
manejados en tu sistema de Aspel para la base de datos y catálogo seleccionado. Por ejemplo, en la figura 2.9-1
se muestran los campos de la base de datos de Aspel-COI del catálogo de cuentas.
Figura 2.9-1 Campos de la base de datos
Notas del asistente:
Guía Curso Editores
17
Para la edición y modificación de los campos que se listan en esta ventana se podrán realizar desde la opción de
base de datos:
•
•
•
•
Los botones (Editar, Añadir, Borrar, Añadir campos calculados y asociados) en este diálogo estarán
deshabilitados si no se tiene acceso a la edición de los campos de la base de datos.
Se pueden remover (borrar) campos individuales de una base de datos, pero éstos nunca más estarán
disponibles en el diseñador de reportes, o bien se pueden editar las propiedades del campo.
Una etiqueta puede ser asociada a cada campo de dato, la cual es usada como un nombre de alias en el
diseñador de reportes. De esta manera, se pueden tener nombres de campos descriptivos sin que la base
de datos físicamente los tenga, por ejemplo, el campo "NUM_CTA" puede ser reemplazado con
"Cuenta”, esto mediante el botón Editar.
Se utiliza la línea de edición "Formato" dentro del botón Editar, para dar formato a los campos
numéricos (ver Formato de campos numéricos) y la opción "Precisión" determina hasta cuantos dígitos
decimales se desplegarán después del punto decimal.
2.10 Configuración de base de datos
Ruta de acceso: Desde el Diseñador de Reportes, con el botón
En la mayoría de los casos cada reporte necesita de al menos un "Conjunto de datos", el cual proporcionará los
registros de datos para el reporte. Se puede definir todos los "Conjuntos de datos" y sus relaciones mediante el
programa de configuración de bases de datos.
El diálogo que el sistema presenta, muestra la base de datos principal para el reporte, que será la base de datos
que el reporte recorrerá y de la cual imprimirá todos los registros de datos. Debajo de la tabla principal del
reporte se encuentra la lista de todas las bases de datos disponibles para el reporte.
Figura 2.10-1 Configuración base de datos
Notas del asistente:
Guía Curso Editores
18
Nuevo/ Query
Desde aquí se podrá proporcionar una consulta (query) en lenguaje SQL y si la consulta tiene parámetros, se
podrán establecer sus valores.
Figura 2.11-1 Creación de consulta
Propiedades
Muestra un diálogo con la configuración de la consulta (query) seleccionada. Si los campos de este diálogo están
deshabilitados, no se podrá cambiar la configuración de la base de datos. Se debe establecer el nombre de la
consulta, la cual será utilizada por el diseñador del reporte cuando un conjunto de datos necesite ser
seleccionado. Este nombre es como un alias y no afectará físicamente el nombre de la consulta. Por omisión el
nombre propuesto es “Dataset1”, tal vez quieras cambiar el nombre a "Cuentas" para ser un poco más
descriptivo. El nombre no afectará la impresión del reporte, sólo es utilizado durante el diseño.
Figura 2.12-1 Propiedades de la consulta
Notas del asistente:
Guía Curso Editores
19
Campos
Según la tabla seleccionada este botón desplegará todos los campos que contiene dicha tabla.
Figura 2.13-1 Campos de la tabla
Borrar
Este botón permite borrar las tablas que se encuentren agregadas dentro de esta sección, el sistema enviará el
siguiente mensaje antes de eliminar dicha tabla: "Si borra esta tabla, todos los elementos que la usan serán
inválidos. Continuar?"
Figura 2.14-1 Borrado de consulta
Notas del asistente:
Guía Curso Editores
20
Ver datos
El sistema mostrará el resultado de la consulta definida.
Figura 2.15-1 Vista de los datos de la consulta
2.11 Ver una presentación preliminar y grabar el reporte
Durante todo el proceso de creación del reporte, se podrá obtener una Presentación preliminar, con el botón d él
el reporte aparecerá en pantalla tal y como se imprimirá y se podrá verificar la orientación del reporte
Figura 2.16-1 Presentación preliminar del reporte
Notas del asistente:
Guía Curso Editores
21
Práctica 1: Creación de un reporte de cuentas en Aspel-COI.
A continuación se generará un nuevo reporte desde Aspel-COI, el cuál tendrá como finalidad mostrar el catálogo
de cuentas, agregando ciertas características.
a)
b)
c)
d)
Ingresar a Aspel-COI e ingresar al Administrador de Reportes.
En la sección Grupos seleccionar “Cuentas”
Hacer clic en el botón “Nuevo”.
Por default se muestran 2 bandas, la de Encabezado de Página y Título, se debe eliminar la banda de
Título.
e) Agregar las bandas de Encabezado de Columna y Detalle.
f) En la banda de Encabezado de Página, realizar lo siguiente:
• Centrar el nombre de la empresa.
• Agregar una etiqueta con la leyenda “Catálogo de Cuentas”, cambiar el tamaño de letra a 18
pts., color azul y centrado.
• Agregar un campo del sistema con la fecha y colocarlo del lado izquierdo.
• Agregar un segundo campo del sistema con el número de página.
• En la banda de Encabezado de Columna, agregar las etiquetas: Cuenta, Descripción, Total de
Cargos, Total de Abonos y Saldo Final.
• En la banda de detalle, agregar de la lista flotante los campos de: Cuenta, Descripción de la
cuenta, Total de cargos, Total de abonos y Saldo final. El resultado deberá ser similar al
mostrado en la figura 2.16-2.
Figura 2.16-2 Creación del reporte.
g) Guardar el reporte con el nombre de cat_ctas.qr2
h) Generar la presentación preliminar del reporte, la cual será similar a la mostrada en la figura 2.16-3:
Figura 2.16.3 Presentación preeliminar del reporte.
Notas del asistente:
Guía Curso Editores
22
i)
Dentro de la configuración de Base de datos (pulsando el botón
Tabla que será: Catálogo de cuentas.
) seleccionar el Informe de la
Figura 2.16.4 Seleccionando el informe de la tabla.
j)
k)
Agregar líneas a la banda de “Encabezado de columna”, superior e inferior, mientras que el grosor de
la línea será de 2 puntos.
Al hacer la impresión preeliminar verificar que la banda de encabezado de columna se muestre en
cada una de las hojas.
Figura 2.16.5 Presentación preeliminar del reporte.
Notas del asistente:
Guía Curso Editores
23
l)
En la banda de Detalle, dar doble clic en el campo Total de Cargos y en la opción Formato, colocar la
siguiente máscara: ###,###,##0.00 e indicar la alineación Derecha.
m) Mostrar la vista preliminar, ¿Qué efecto tuvo la máscara escrita anteriormente sobre los valores de
la columna?
n) Realizar la misma acción del inciso k en las siguientes 2 columnas.
Figura 2.16.6 Presentación preeliminar del reporte con formato de valores.
o) Agregar la banda de nombre Sumas.
p) Insertar un campo de Expresión con el botón
.
q) En la sección de nombre Expresión, escribir la operación SUM(qryCuentas.DEBECONTAB) como se
muestra en la figura 2.16-7, además del formato y alineación indicados.
Figura 2.16.7 Propiedades del campo calculado o de expresión.
Notas del asistente:
Guía Curso Editores
24
r)
s)
t)
Mostrar la vista preliminar y verificar que se muestre el total final de los cargos
Insertar otros dos campos de operaciones para mostrar el total de las siguientes columnas, además
de agregar una etiqueta con el nombre “Totales” del costado izquierdo. El resultado deberá de ser
parecido al de la figura 2.16-8.
Agregar una línea superior a la última banda.
Figura 2.16-8 Ejemplo del resultado de los campos calculados.
Práctica 2: Creación de un reporte con formato en Aspel-SAE.
A continuación se generará un reporte desde Aspel-SAE en donde se pretende mostrar el monto de crédito
disponible para cada cliente.
a)
b)
c)
d)
e)
En Aspel-SAE, ingresar al Administrador de Reportes desde el catálogo de clientes.
Seleccionar el grupo de Catálogo de Clientes.
Agregar un nuevo reporte.
Insertar las bandas de Encabezado de Columna, Detalle, Sumas y Pié de Página.
En la banda de Encabezado de página, insertar la imagen de nombre empaque_sae2_previa.jpg que
se encuentra en el DAC\Centro de Asistencia, colocar dicha imagen al costado derecho del nombre
de la empresa.
f) En la banda de Título, agregar el texto: Reporte de créditos disponibles.
g) En la banda de Encabezado de Columna, colocar las siguientes etiquetas: Clave, Cliente, Vendedor,
Ultimo Pago, Lim. Cred., Saldo y Cred. Disponible.
h) En la banda de Detalles, colocar los campos de: Clave del Cliente, Nombre, Vendedor, Fecha del
último pago, el límite de crédito y el saldo.
i) Insertar un campo de expresión que permita obtener la diferencia del límite de crédito con el saldo
actual del cliente, utilizando la siguiente fórmula: dtsClie_Cat.LIM_CRED - dtsClie_Cat.SALDO.
j) En la banda de Sumas, colocar con un campo del sistema, el número de registros impresos, la
etiqueta Total de saldos y la suma de los saldos con un campo de expresión y la siguiente fórmula:
SUM(dtsClie_Cat.SALDO).
k) En la última banda colocar la fecha y hora del sistema además del número de página utilizando
campos del sistema.
l) Las cantidades deberán de tener los separadores correspondientes de decimales y millares, además
de estar alineados a la izquierda.
m) Agregar los bordes necesarios para que se muestre el reporte como se observa en la figura 2.16-9.
Notas del asistente:
Guía Curso Editores
25
Figura 2.16-9 Ejemplo del reporte generado en Aspel-SAE
2.12 Generación de consultas mediante el lenguaje SQL (query’s)
Las consultas permiten explotar y manipular la información de una forma extraordinaria, haciendo uso de SQL
proveniente del acrónimo Structure Query Lenguaje (Lenguaje estructurado de Consultas). Este lenguaje
contiene una sintaxis universal en la mayor parte de su diccionario, por lo cual su aprendizaje y aplicación viene
acompañado de muchos beneficios.
Para poder emitir “Reportes resumen” y mostrar la información de manera clara, es necesario seleccionar los
registros que cumplan con las características de la información que se desea obtener, y esto se puede lograr
definiendo ciertos filtros. Para lograrlo, no basta con obtener los campos directamente de las tablas, y es
necesario elaborar query’s o consultas precisas que sólo arrojen los registros que cumplan todas las condiciones
establecidas. El uso de consultas optimiza el tiempo para la emisión de los reportes.
Notas del asistente:
Guía Curso Editores
26
2.12.1 Sentencias SQL
Las sentencias SQL pertenecen a dos categorías principales: Lenguaje de Definición de Datos, DDL y Lenguaje de
Manipulación de Datos, DML. Estos dos lenguajes no son lenguajes en sí mismos, sino que es una forma de
clasificar las sentencias de lenguaje SQL en función de su cometido. La diferencia principal reside en que el DDL
crea objetos en la base de datos y sus efectos se pueden ver en el diccionario de la base de datos; mientras que el
DML es el que permite consultar, insertar, modificar y eliminar la información almacenada en los objetos de la
base de datos.
Cuando se ejecutan las sentencias DDL de SQL, el SGBD confirma la transacción actual antes y después de cada
una de las sentencias DDL. En cambio, las sentencias DML no llevan implícito el commit y se pueden deshacer.
Existe pues un problema al mezclar sentencias DML con DDL, ya que estas últimas pueden confirmar las primeras
de manera involuntaria e implícita, lo que en ocasiones puede ser un problema.
Nota: Cuando un query marca (closed), es debido a que al editar el query se está haciendo referencia a algún
archivo que “No existe”, por lo cual el query no está disponible. Para corregirlo bastará con editar el query e
indicar el nombre de algún archivo que “Si exista”.
Figura 2.17.1-1 Referencias no validas en la consulta.
2.12.2 Comandos DML
Para efectos del Editor gráfico de reportes solo se considerarán los comandos DML:
Comando
Descripción
SELECT
Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.
INSERT
Utilizado para cargar bloques de registros en la base de datos en una única operación.
Notas del asistente:
Guía Curso Editores
27
Existen también una serie de cláusulas las cuales permiten condicionar o filtrar la información que se está
consultando o manipulando.
Cláusula
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Descripción
Utilizada para especificar la tabla de la cual se van a seleccionar los registros.
Utilizada para especificar las condiciones que deben reunir los registros que se van a
seleccionar.
Utilizada para separar los registros seleccionados en grupos específicos.
Utilizada para expresar la condición que debe satisfacer cada grupo
Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
Ascendente o Descendente (ASC/DESC)
Al utilizar condiciones o cláusulas necesariamente se deben utilizar operadores los cuales se encargarán de
evaluar en base aciertos criterios la cláusula específica, los cuales se clasificarán en:
• Lógicos
• Comparación.
Lógicos:
Operador
AND
OR
NOT
Uso
Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son
ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es
cierta.
Negación lógica. Devuelve el valor contrario de la expresión.
Comparación:
Operador
<
>
<>
<=
>=
=
BETWEEN
LIKE
IN
Uso
Menor que
Mayor que
Distinto de
Menor ó Igual que
Mayor ó Igual que
Igual que
Utilizado para especificar un intervalo de valores
Utilizado para comparar de un modelo, solo para cadenas de texto.
Utilizado para especificar registros de una base de datos.
Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para devolver un único
valor que se aplica a un grupo de registros.
Notas del asistente:
Guía Curso Editores
28
Función
AVG
COUNT
SUM
MAX
MIN
Descripción
Utilizada para calcular el promedio de los valores de un campo determinado.
Utilizada para devolver el número de registros de la selección.
Utilizada para devolver la suma de todos los valores de un campo determinado
Utilizada para devolver el valor más alto de un campo especificado
Utilizada para devolver el valor más bajo de un campo especificado
2.12.2.1 Instrucciones de consulta
Son aquéllas instrucciones SQL que nos permiten seleccionar un conjunto de registros estableciendo filtros.
Para verificar el resultado de las instrucciones que a continuación se mencionan, se debe hacer lo siguiente:
a) Abrir Aspel-SAE e ingresar al Administrador de Reportes de cualquier módulo.
b) Crear un nuevo reporte qr2 desde el botón
.
para agregar un nuevo query.
c) En el Diseñador de Reportes, hacer clic en el botón de
d) Colocar la instrucción dentro del campo destinado para ello, como se aprecia en la figura 2.17.2.1-1.
Figura 2.17.2.1-1 Generando un query en el Diseñador de Reportes
e) Al aceptar la consulta, ésta se mostrará en el listado, sólo bastará seleccionarla y pulsar el botón de
“Ver datos” para conocer el resultado.
Notas del asistente:
Guía Curso Editores
29
Seleccionar
la consulta
creada
Pulsar el
botón para
ver los
resultados
Figura 2.17.2.1-2 Ejemplo del query generado
Figura 2.17.2.1-3 Resultado del query generado.
SELECT
Selecciona los registros de una tabla.
Sintaxis:
SELECT * FROM Tabla
SELECT Tabla.Campo1, Tabla.Campo2, Tabla.Campo3,… FROM Tabla
Notas del asistente:
Guía Curso Editores
30
Ejemplos:
SELECT * FROM CLIE01
\* Selecciona todos los registros de la tabla del Catálogo de clientes.
SELECT CLIE01.NUM_REG, CLIE01.CCLIE, CLIE01.NOMBRE, CLIE01.LIM_CRED, CLIE01.SALDO
FROM CLIE01
\* Selecciona explícitamente los campos: CLIE01.NUM_REG, CLIE01.CCLIE, CLIE01.NOMBRE, CLIE01.LIM_CRED,
CLIE01.SALDO del Catálogo de clientes, en vez de mandar llamar todas las columnas con el comodín (*), se
recomienda que en lo sumo posible se use el nombre de la tabla y nombre del campo separados por un punto (.)
ya que es posible que al escribir una consulta donde se haga referencia a dos tablas y en ambas tablas exista un
campo con el mismo nombre se pueda saber a cual se hace referencia.
AS
Es una funcionalidad del lenguaje que permite establecer un alias a un campo u operación es decir, llamar a un
campo por un nombre distinto del que tiene establecido en su estructura.
Sintaxis:
SELECT (Tabla.Campo1) AS Alias FROM Tabla
Ejemplo:
SELECT (CLIE01.LIM_CRED) AS LIMITE_CREDITO FROM CLIE01
\* El campo CLIE01.LIM_CRED se le puede llamar completamente LIMITE_CREDITO.
2.12.2.2 Predicado en consultas
Estas consultas son aquellas donde se le indicará una serie de cláusulas para que la información sea filtrada por
criterios específicos.
WHERE
Se utiliza para indicar criterios de selección en relación a un o más campos, haciendo uso de operadores lógicos y
aritméticos.
Sintaxis:
SELECT Campos FROM Tabla
WHERE Campo [Operador] Criterio
Ejemplo:
SELECT * FROM CLIE01
WHERE Status = ‘A’
\* Devuelve todos los registros del Catálogo de clientes que tengan estatus Activo “A”.
ORDER BY
Este comando ordena los registros por el campo indicado en un orden especifico, que de forma predeterminada
es Ascendente ASC o puede ser Descendente con al indicación DESC.
Sintaxis:
SELECT Campos FROM Tabla
ORDER BY Campo ASC/DESC
Notas del asistente:
Guía Curso Editores
31
Ejemplos:
SELECT * FROM CLIE01
ORDER BY NOMBRE ASC
\* Devuelve el Catálogo de clientes ordenado alfabéticamente.
SELECT * FROM CLIE01
WHERE STATUS = ‘A’
ORDER BY Nombre DESC
\* Devuelve el Catálogo de clientes donde STATUS sea Activo “A”, ordenado alfabéticamente, en orden
descendente. En este caso se utilizo el operador =, sin embargo se pueden hacer evaluaciones mas especificas
con los operadores <,>, <>, <=, >=, etc.
SELECT * FROM CLIE01
WHERE SALDO >= 15000
ORDER BY CCLIE ASC
\* Devuelve el Catálogo de clientes donde el saldo sea mayor o igual a 15,000, ordenado de forma
ascendentemente por la clave. Se pueden hacer búsquedas mas especificas anidándolas por medio de AND.
SELECT * FROM CLIE01
WHERE SALDO >= 15000 AND SALDO <= 50000
ORDER BY CCLIE ASC
\* Devuelve el Catálogo de clientes donde el saldo sea mayor o igual a 15,000 y menor o igual a 50,000, se puede
usar AND para concatenar evaluaciones de campos diferentes. Esta consulta también se puedo haber escrito con
el operador BETWEEN.
BETWEEN
Extrae un rango específico de datos provenientes de algún campo de una tabla.
Sintaxis:
SELECT Campos FROM Tabla
WHERE Campo BETWEEN dato_Inicial AND Dato_Final
Ejemplo:
SELECT * FROM CLIE01
WHERE SALDO BETWEEN 15000 AND 50000
ORDER BY CCLIE ASC
DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de cada
campo listado en la instrucción SELECT se incluyan en la consulta deben ser únicos.
Sintaxis:
SELECT DISTINCT Campos FROM Tabla
Ejemplo:
SELECT DISTINCT CVE_ART FROM FA0TY1
\* Esta tabla almacena las partidas de las ventas y por lo tanto, al ejecutar esta consulta se eliminarán los
valores repetidos y sólo aparecerá uno de ellos, para ver la diferencia, se debe ejecutar la sentencia que mostraría
todos los registros, por ejemplo: SELECT CVE_ART FROM FA0TY1 ORDER BY CVE_ART, dicha sentencia mostrará
todos los registros, incluyendo los que se repitan de forma ordenada y se notará la diferencia.
Notas del asistente:
Guía Curso Editores
32
2.12.2.3 Funciones de Agrupación
Estas funciones permiten agrupar información ya sea por igualdad en los datos de los campos o por la aplicación
de alguna función aritmética. Al ser usadas implica que se deben aplicar a cada uno de los campos que se
invoquen en la consulta, por lo tanto se va hacer omisión del comodín (*).
Algunas de ellas solo son aplicables a campos que tengan algún tipo de datos numérico.
GROUP BY
Combina los registros con valores idénticos, en la lista de campos especificados, en un único registro. Para cada
registro se crea un valor sumario sí se incluyera una función SQL agregada, como por ejemplo Sum o Count, en la
instrucción SELECT.
Sintaxis:
SELECT campos FROM tabla WHERE criterios GROUP BY campos del grupo
Ejemplo:
SELECT FA0TY1.CVE_DOC
FROM FA0TY1
GROUP BY FA0TY1.CVE_DOC
\* Devuelve una lista agrupada de los documentos generados en las partidas, que se podría comparar con la lista
de los encabezados para saber que existen los mismos documentos en un archivo y otro.
GROUP BY es opcional. Los valores de resumen se omiten si no existe una función SQL agregada en la
instrucción SELECT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los
valores Null no se evalúan en ninguna de las funciones SQL agregadas.
Se utiliza la cláusula WHERE para excluir aquellas filas que no se desean agrupar, y la cláusula HAVING para
filtrar los registros una vez agrupados.
AVG
Calcula la media (promedio) de un grupo de registros. La media calculada por Avg es la media aritmética (la
suma de los valores dividido por el número de valores). La función Avg no incluye ningún campo Null en el
cálculo y forzosamente utiliza un alias para el campo.
Sintaxis:
SELECT AVG (CampoX) AS Alias FROM Tabla
Ejemplo:
SELECT AVG(CLIE01.SALDO) AS PROM_SALDO
FROM CLIE01
\* Devuelve la media o promedio del saldo de los clientes.
COUNT
Calcula el número de registros devueltos por una consulta y forzosamente utiliza un alias para el campo.
Sintaxis:
SELECT COUNT (CampoX) AS Alias FROM Tabla
Ejemplo:
SELECT COUNT (FACT01.CVE_DOC) AS CLAVE_DOC
FROM FACT01
WHERE FACT01.TIP_DOC = "P"
\* Devuelve el numero pedidos que existen en el catálogo de facturas.
Notas del asistente:
Guía Curso Editores
33
MIN / MAX
Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo especifico de una consulta,
y forzosamente utiliza un alias para el campo.
Sintaxis:
SELECT MAX (CampoX) AS Alias FROM Tabla
SELECT MIN (CampoX) AS Alias FROM Tabla
Ejemplo:
SELECT MAX (CLIE01.SALDO) AS Max_SALDO
FROM CLIE01
\* Devuelve el registro de clientes que tenga el mayor saldo y se puede hacer lo contrario usando la función MIN.
SUM
Devuelve la suma del conjunto de valores contenido en un campo específico de una consulta y forzosamente
utiliza un alias para el campo.
Sintaxis:
SELECT SUM (campoX) AS Alias FROM tabla
Ejemplo:
SELECT SUM(CLIE01.SALDO) AS TOTAL_SALDO
FROM CLIE01
\* Devuelve la suma del saldo de todos los clientes, en un campo llamado TOTAL_SALDO.
Así como las funciones AVG, SUM, MIN y MAX, también existen algunas otras funciones de tipo estadístico.
HAVING
Especifica qué registros agrupados se muestran en una instrucción SELECT con una cláusula GROUP BY. HAVING
es similar a WHERE, que determina los registros que se seleccionan. Después de que los registros se agrupen con
GROUP BY, HAVING determina qué registros se muestran.
Sintaxis:
SELECT campos
FROM tabla
WHERE criterios
GROUP BY campos
HAVING FUNCION(criteriosdegrupo)
Ejemplo:
SELECT FA0TY1.TIP_DOC, FA0TY1.CVE_DOC, COUNT(FA0TY1.CVE_ART) AS DOCTOS
FROM FA0TY1
GROUP BY FA0TY1.TIP_DOC, FA0TY1.CVE_DOC
HAVING COUNT(FA0TY1.CVE_DOC) = "2"
\* Toma del archivo de partidas, aquellos registros que contienen únicamente 2 partidas, y los agrupa por Tipo
de Documento y Clave del Documento y colocando en una tercera columna el número de partidas que está
contando, si se desea, se puede modificar el valor “2” para verificar los resultados.
Notas del asistente:
Guía Curso Editores
34
2.12.2.4 Operadores especiales
IN
Es ocasiones es necesario la recuperación de información que se encuentra contenida en una tabla que no se
encuentra en la base de datos que ejecutará la consulta o que en ese momento no se encuentra abierta, esta
situación la podemos solventar con la palabra reservada IN.
Sintaxis:
SELECT Campos FROM Tabla
IN Valores/Tabla/Ruta “Tipo”
SELECT * FROM CLIE01 WHERE Nombre In ('Gruas y Maniobras Madrid S.A.')
\* Busca los registros que contengan en el campo nombre cualquiera de las coincidencias indicadas.
2.13 Parámetros en las consultas
En ocasiones es necesario que el usuario proporcione algún dato mediante una ventana de captura que
complemente las condiciones para emitir el Reporte de acuerdo a los requerimientos. Para ello, en la definición
de un query es posible recibir parámetros en base a tres posibles criterios: un valor fijo, un dato capturado por
el usuario o un campo como resultado de otra consulta previa. Para identificar cuando un query hace
referencia a algunos parámetros, al ingresar a la configuración de la Bases de datos, seleccionar un query, y
consultar sus propiedades, un parámetro puede distinguirse por los dos puntos que le anteceden al nombre del
campo.
Ejemplo: Se requiere imprimir un reporte con datos específicos pero por cada cliente, para éste caso, se agrega la
siguiente instrucción:
SELECT * FROM CLIE01 WHERE CCLIE =:CLAVE_CLIENTE
El campo CLAVE_CLIENTE es un campo que se espera adopte su valor de acuerdo a la definición establecida para
dicho parámetros.
Figura 2.18-1 Definición y asignación de valor a los parámetros de un query
Notas del asistente:
Guía Curso Editores
35
Las tres posibilidades para asignar el valor a un Parámetro son:
•
Valor
Al seleccionar Valor, se deberá especificar un valor de acuerdo al tipo de datos que se haya seleccionado.
•
Verificar datos antes de imprimir
El dato será solicitado mediante una ventana al usuario, pidiendo el valor de acuerdo al tipo de datos
seleccionado en los parámetros de la variable.
•
Asignar valor desde el conjunto de datos maestro
El parámetro tomará su valor de acuerdo al conjunto de registros que fueron resultado del otro query
“maestro” asignando el query a que pertenece el parámetro. Es decir, se crea una dependencia del query
en que se utiliza el parámetro de un query anterior o con mayor prioridad.
2.14 Exportación de un reporte o documento a formato PDF
Una característica importante que se incluyó en Aspel-SAE 4.0 mediante el Editor de reportes es la exportación a
formato PDF, el cual permite enviar un Reporte con una mejor presentación. Un ejemplo de su uso puede ser el
envío de una cotización a un cliente.
Para poder hacer uso de esta característica es necesario que se utilice un formato qr2 para la emisión del
documento o reporte., cuando se tenga la vista preliminar, se debe hacer clic en el botón
.
Figura 2.19-1 Exportación a formato PDF de una cotización.
A continuación el sistema presentará el diálogo “Salvar reporte” donde se deberá especificar el directorio y
nombre para guardar el archivo y el tipo, que en éste caso será PDF.
Notas del asistente:
Guía Curso Editores
36
Seleccionar
el tipo PDF
Figura 2.19-2 Seleccionando el tipo de documento.
2.15 Modificar un reporte
Consiste en poder modificar cualquiera de los reportes que ya están previamente configurados y se puede
modificar un reporte de acuerdo a las necesidades de información. Por ejemplo, supóngase que se requiere
modificar el reporte que se utiliza para la impresión de facturas digitales, llamado Emisión de facturas
digitales.qr2 de Aspel-SAE para agregar a los datos del cliente los datos de CODIGO, TELEFONO, COLONIA, los
cuales no se están desplegando en el formato por omisión. Existen dos formas para poder modificar un reporte
qr2:
1.
Generar un query dinámico con un formato para Factura Electrónica
a) En Aspel-SAE, acceder al Administrador de reportes desde el modulo de Facturas y Vendedores, se
elige el reporte Facturas Digitales y con el botón
se podrá modificar.
Figura 2.20-1 Modificación de un formato preestablecido.
b) Ya desde el diseñador de reportes y en la barra de herramientas seleccionar la opción ‘Configuración
de base de datos’
agregar nuevo query.
Notas del asistente:
Guía Curso Editores
37
c)
Indicar la instrucción SQL: SELECT CODIGO, TELEFONO, COLONIA FROM CLIE01 WHERE CCLIE=
:CVE_CLPV, en el botón de parámetros indicar para el campo CVE_CLPV la opción ‘Asignar valor
desde el conjunto de datos maestro’ y para la lista desplegable de la tabla ‘Maestra’ indicar el valor
‘dtsFacturasDeta’.
Se asigna
nombre al
Query.
Se escriben las
instrucciones
del el Query.
Se asigna el
conjunto de
datos maestro.
Figura 2.20-2. Creación nueva consulta y asignación del valor.
d) Guardar el query y desde la nueva tabla disponible de nombre CLIENTES seleccionar los campos
‘COLONIA, CODIGO, TELEFONO’ del nuevo query que se generó en el paso C, y arrastrarlo hasta la
sección de detalle de partidas del reporte qr2 en el lugar campo de descuento.
Notas del asistente:
Guía Curso Editores
38
Figura 2.20-3 Selección de los campos
¿Qué se logra con las acciones anteriores?, al momento de escribir el query SELECT CODIGO, TELEFONO,
COLONIA FROM CLIE01 WHERE CCLIE= :CVE_CLPV, se está indicando que de la tabla CLIE01, se muestren los
campos de CODIGO, TELEFONO y COLONIA, donde el campo CCLIE (que contiene la clave del cliente) tome el
valor del campo CVE_CLPV que proviene del query o tabla llamada dtsFactElec (que es el conjunto de datos
maestro), de tal forma que cuando la factura sea emitida al cliente 8, únicamente se tomarán los datos de dicho
cliente para los campos de CODIGO, TELEFONO y COLONIA.
Práctica 3: Modificación de un reporte de Facturas Digitales utilizando consultas dinámicas.
Modificación del reporte Emisión de facturas digitales.qr2 con la adición de los siguientes elementos adicionales:
•
•
•
•
Datos del consignatario (cuando en el campo CONSIGNAR colocamos una clave de cliente a donde se va
a enviar la mercancía), dichos campos deben ser colocados en la cabecera.
Información aduanera de cada producto, que incluye Nombre de la aduana, Fecha y Número de
pedimento.
Una función para sumar el número de artículos.
Observaciones del documento.
Para ello:
a) Acceder al Administrador de reportes, modificar el reporte de Emisión de Facturas digitales.qr2 y desde
la barra de herramientas seleccionar la opción 'Configuración de base de datos' y agregar un nuevo
query.
En nombre de la consulta se deberá poner Consig.
b) Indicar la instrucción SQL: SELECT * FROM CLIE01 WHERE CCLIE =:CVE_CONS
En el botón de parámetros indicar para el campo CVE_CONS la opción 'Asignar valor desde el conjunto
de datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor 'dtsFactElect'.
c) Guardar el query y agregar uno nuevo.
d) En nombre de la consulta se deberá poner Clientes.
e) Indicar la instrucción SQL: SELECT * FROM CLIE01 WHERE CCLIE =:CVE_CLPV
En el botón de parámetros indicar para el campo CVE_CLPV la opción 'Asignar valor desde el conjunto de
datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor dtsFactElect
f) Guardar el query y agregar uno nuevo.
g) En nombre de la consulta se deberá poner Inventarios
h) Indicar la instrucción SQL: SELECT * FROM INVE01 WHERE CLV_ART =:CVE_ART
En el botón de parámetros indicar para el campo CVE_ART la opción 'Asignar valor desde el conjunto de
datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor dtsParCFD
i) Guardar el query y agregar uno nuevo.
j) En nombre de la consulta se deberá poner Pedimentos
Notas del asistente:
Guía Curso Editores
39
k)
l)
m)
n)
o)
p)
q)
Indicar la instrucción SQL: SELECT * FROM LTPD01 WHERE CVE_ART =:CVE_ART
En el botón de parámetros indicar para el campo CVE_ART la opción 'Asignar valor desde el conjunto de
datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor dtsParCFD
Guardar el query y agregar uno nuevo.
En nombre de la consulta se deberá poner Obs_Fact
Indicar la instrucción SQL: SELECT OBS_FACT FROM FACT01 WHERE CVE_DOC =:CVE_DOC
En el botón de parámetros indicar para el campo CVE_DOC la opción 'Asignar valor desde el conjunto de
datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor dtsFactElect
En nombre de la consulta se deberá poner Observ
Indicar la instrucción SQL: SELECT * FROM OFAC01 WHERE NUM_REG = :OBS_FACT
En el botón de parámetros indicar para el campo OBS_FACT la opción 'Asignar valor desde el conjunto
de datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor Obs_Fact.
Guardar los querys.
Consig
Este query se utiliza para poder colocar los datos del consignatario en la factura, ya que enlaza la tabla
de clientes en el campo de la clave del cliente, con un campo en la tabla de facturas llamado CVE_CONS.
Clientes
Se utiliza para traer datos adicionales del cliente, por ejemplo, datos de los campos libres.
Inventarios
Se utiliza para traer datos adicionales de inventarios por ejemplo, datos de los campos libres.
Pedimentos
Para traer el pedimento correspondiente a cada producto.
Obs_Fact
La razón de colocar ésta consulta, es por que en el query que viene por default de nombre dtsFactElect
no muestra el campo de OBS_FACT, de ésta forma se enlaza dicha consulta con la tabla principal de las
facturas por medio de su clave de documento.
Observ
Se coloco para traer el dato de la observación de la tabla OFAC01 y que se relaciona en la factura.
r)
En la banda Datos adicionales de CFD se debera agregar una etiqueta TOTAL DE ARTICULOS y un
campo calculado con la siguiente expresión SUM(dtsParCFD.CANT), así como el campo X_OBSERV que
se generó en el query del inciso p, arrastrarlo hasta esta sección poniendo como etiqueta Observaciones
del documento.
El reporte debe reflejarse como el que se muestra en la figura 2.20-4.
Notas del asistente:
Guía Curso Editores
40
Figura 2.20-4: Ejemplo del repote modificado para factura electrónica.
Notas del asistente:
Guía Curso Editores
41
Figura 2.20-5: Ejemplo del resultado del reporte.
Notas del asistente:
Guía Curso Editores
42
3.
EDITOR DE FORMATOS (*.FTO)
3.1
Definición
Para la elaboración de un reporte en el editor de formatos, se tiene una serie de comandos, fórmulas, campos y
operadores, cada uno de ellos puede variar dependiendo del sistema en que se esté elaborando dicho formato.
En las versiones Aspel-NOI 4.0 y Aspel-PROD 2.0 se podrán generar reportes con la estructura de los formatos
tradicionales FTO desde la opción reportes del usuario, así mismo desde el administrador de reportes con los
sistemas Aspel-BANCO 3.0, Aspel-COI 5.0, y Aspel-SAE 4.0. Adicionalmente podrás consultar y generar reportes
con formato FTO utilizando los comandos y campos del editor de formatos tradicional.
Dentro de esta guía se explica de manera general el uso del editor en cualquiera de los sistemas, las
particularidades que puedan tener cada uno de los sistemas se explicará en su momento.
3.2
•
Conceptos básicos
Campo. Un campo es un espacio que guarda la información de los archivos de datos del sistema en uso.
•
Ciclo. Permite recorrer los archivos de datos del sistema en uso, con la peculiaridad de que se definen
una sola vez y se ejecutan cuantas veces sea necesario.
•
Formato. Un formato se compone de una serie de instrucciones a través de las cuales se le indica al
sistema que ejecute los comandos, ciclos y campos definidos dentro del mismo y se representa en
pantalla o impresora.
•
Comando: Es una palabra que el sistema reconoce como una orden y la ejecuta.
•
Longitud: Tamaño que tiene cada uno de los campos determinado en número de caracteres. La longitud
puede ser definida de acuerdo al campo, o en campos numéricos se utiliza una longitud definida por una
máscara.
3.3
•
Características del editor de formatos
Los sistemas Aspel reconocen en su editor de formatos a los archivos con la extensión *.FTO ya que
facilita su localización.
•
Existen dos maneras de ejecutar un formato:
a. En línea: Dentro de los módulos de los sistemas, cuando se graba un documento, a continuación
muestra la ventana de: emisión de documentos, nombre del formato (ya sea el sugerido por el
sistema el que se haya diseñado) y la ruta donde se encuentra el mismo. También dentro de
esta ventana de emisión de documentos se tiene la opción de editar un formato.
b. Menú de REPORTES: Al elegir la opción emisión de documentos, muestra la ventana de emisión
de reportes, en la cual se podrá elegir entre varias opciones de filtrado para la emisión, además
el nombre del formato y la ruta donde se encuentra el archivo *.FTO.
•
Permite utilizar la mayoría de los campos que contiene el sistema en la edición de los formatos, algunos
de ellos ya tienen cálculos definidos.
•
Cuenta con campos libres, en los cuales se pueden realizar operaciones de cálculo o de asignación de
valores que facilitan el diseño del formato.
•
Los comandos se encuentran en español, los cuales permitirán controlar y procesar los datos, todos ellos
también reconocidos por el sistema por las tres primeras letras que forman su nombre y aceptando
indistintamente mayúsculas o minúsculas.
Notas del asistente:
Guía Curso Editores
43
•
Se utiliza una aplicación asociada para la edición de cualquier formato, este puede ser cualquier editor
de textos, por ejemplo:
- Bloc de notas
- Edit.com
•
Los campos que se utilizan dentro del editor de formatos, pueden cambiar de una versión a otra, de un
sistema a otro e incluso de un modulo a otro.
•
La estructura que contiene el editor de formatos es igual para todos los sistemas.
•
La razón social se imprime automáticamente en cualquier formato del sistema que este en uso, esto es
por protección del sistema adquirido.
3.4
Estructura general de los formatos
Todos los formatos que instalan los sistemas contienen esquemáticamente la misma distribución, esta es:
a. Parámetros del reporte.
b. Encabezados.
c. Contenido del reporte.
d. Totales.
3.4.1 Parámetros del reporte
Se indica al sistema las características generales que tendrá el reporte, como son: número de caracteres, tipo de
letra, definición de la máscara para las cantidades, dispositivo de salida del formato, etc.
2.4.1.1 Parámetros del reporte
Parámetros
del Reporte
3.4.1-1 Parámetros del reporte.
3.4.2 Encabezados
Define las cualidades del encabezado que lleva el reporte, como la línea divisoria, titulo del reporte, textos,
espacios entre éstos y las líneas, etc.
Encabezados
3.4.2-1 Encabezados del reporte
Notas del asistente:
Guía Curso Editores
44
3.4.3 Contenido del reporte y/o partidas y ciclos
Define los campos que mostrará el contenido del reporte, es decir, los valores a emitir, con los cálculos que se
quieran añadir y las especificaciones o textos complementarios que acompañen a dichas cantidades.
Contenido
del reporte
3.4.3-1 Contenido del reporte y/o partidas y ciclos
3.4.4 Totales
Esta es la última parte de un formato, la definición de los totales en un reporte, muestra las cantidades
correspondientes y las anotaciones finales que se quieran incluir, como una firma, una raya, etc.
Totales
3.4.4-1 Totales
Dentro de esta estructura, existen comandos que se utilizan con mayor frecuencia dentro de cierta parte del
formato, algunos otros se utilizan indistintamente en cualquier parte del formato.
3.5
Edición de formatos
La edición de formatos permite al usuario poder utilizar los campos definidos por el sistema, así como realizar
operaciones utilizando los operadores y campos utilizando los comandos adecuados.
Para ello se procede a realizar una lista de los operadores, y los comandos así como una lista de los ciclos que se
manejan en cada uno de los sistemas.
3.5.1 Operadores
Para realizar cálculos sobre el contenido de ciertos campos, el editor cuenta con los siguientes operadores:
Operadores Aritméticos y Operadores Lógicos.
Notas del asistente:
Guía Curso Editores
45
3.5.1.1 Aritméticos
Nos permiten realizar operaciones numéricas con las variables.
Operadores aritméticos
+
Suma
Resta
*
Multiplicación
/
División
3.5.1.2 Lógicos
Se usan en combinación de los operadores de comparación cuando la expresión de la condición lo requiere.
Operadores lógicos
And
Y
Or
O
!
No
3.5.1.3 Comparación
Se utilizan principalmente en nuestras condiciones para comparar dos variables
y verificar si cumple o no la propiedad del operador.
Operadores de comparación
==
Igualdad
!=
Desigual
<
Menor que
<=
Menor igual que
>
Mayor que
>=
Mayor igual que
3.5.2 Campos
Los campos están organizados por cada sistema, en algunos casos por módulo y están clasificados por número y
con una longitud. Existen dos tipos de campos:
a. Campos asignados por el sistema.
b. Campos libres numéricos y alfanuméricos.
3.5.2.1 Campos asignados por el sistema
Todos los campos asignados por el sistema contienen información específica de los catálogos y funciones, en
algunos sistemas, los campos pueden estar divididos por módulos como seria el caso del sistema Aspel-SAE, esto
tiene como finalidad que las consultas de los campos sea más rápida y sencilla.
3.5.2.2 Campos libres numéricos y alfanuméricos
Los campos libres numéricos se pueden utilizar para poder asignar algún valor o realizar alguna operación y el
resultado se guarde en esa variable o campo.
Los campos libres alfanuméricos además de poder determinar o asignar algún texto y el valor, se pueden utilizar
para solicitar información al momento de la emisión del reporte.
Notas del asistente:
Guía Curso Editores
46
3.5.3 Comandos con sintaxis
A continuación se muestra una lista en orden alfabético de todos los comandos con un ejemplo de cómo se
pueden utilizar, cabe señalar que algunos comandos son específicos de cada sistema y por tal motivo no se
pueden emplear para otros sistemas.
Descripción
Ajusta
Ancho_Carácter
Asigna
Brinca
Caracteres
Centra
Comentarios
Correo
Dato
Define
Disco
Encabezados
Escribe
Fencabezados
Fin
Font
Impresor
Inicia
Mascara
Pantalla
Raya
Redondeo
Salta
Si
Sifón
Sino
Termina
Tipo
Traduce
Ejemplos de Sintaxis
Ajusta 50
Ancho_Caracter 10
Asigna <100>, [100-001F] + <43> /12
Brinca
Caracteres 80
Centra 80, <27>
Comentarios "-BALANCE-"
Correo
Dato <10>, “CUENTA INICIAL ->”
Define
Disco
Encabezados
Escribe 5, “Descripción”, 15, <27>
Fencabezados
Fin
Font “Arial”, 12
Impresor 2
Inicia Factura
Mascara "###,###,###.##"
Pantalla
Raya 4,5, "-"
Redondeo <100>
Salta 1
Si <34> = 0
Sifón
Sino
Termina
Tipo 1
Traduce 45, <101>, "E", "PESO / PESOS"
Notas del asistente:
Guía Curso Editores
47
Fórmulas del editor
@SI[Cond., Verdad, Falso]
@RED[Valor, Redondeo]
@CTA[Cuenta,Subfijo]
@CTA[Cuenta,Subfijo,Dpto]
@CTA[#Campo1>,<#Campo2>,Subfijo]
@CTA[<#Campo1>,<#Campo2>,Subfijo,Dpto]
@CTA[Cuenta1,Cuenta2,Subfijo]
@CTA[Cuenta1,Cuenta2,Subfijo,Dpto]
@RAN[Cuenta1..Cuenta2,Sufijo]
@INPC[Mes,Año]
@RAN[R#rango,Subfijo]
@MFC[campo, "Formato", "Idioma" (E o I)" ]
@SUBCADENA[Cadena,Desde,Cuantos]
@SDIARIO[No.cuenta]
@DEPRECIA[<Clave>,<Finid>,<Ffind>,
<Que>,<Finie>,<Ffine>]{Periodo}
@DEPRECIAC[<Clave>,<Finid>,<Ffind>,
<Que>,<Finie>,<Ffine>]{Periodo}
@EMPRESA[Sufijo]
Ejemplos de Sintaxis
@SI[<34> > <36>, <34>±10, <36> /2±10]
@RED[<34>,1]
@CTA[100-001,F]
@CTA[100-001,F,1]
@CTA[<46>,<47>,F]
@CTA[<46>,<47>,F,1]
@CTA[100-001,500-001,F]
@CTA[100-001,500-001,F1]
@RAN[2100-000..2199-999,F]
@INPC[12,2003]
@RAN[R11,F]
@MFC[ <025>,"dd/mm/aa","E"]
@SUBCADENA[<20>,5,7]
@SDIARIO[100-002]
@DEPRECIA[T1,0199,0199,C,0199,1299]
@DEPRECIAC[T1,0199,0199,O]
@EMPRESA [E]
Abre
Su función es indicarle al sistema el periodo que se va a trabajar, de manera que abra los archivos
correspondientes a dicha fecha. Es muy útil, ya que permite procesar datos de una fecha diferente a la que se
está trabajando.
Sintaxis:
ABRE MMAA
ABRE “DDMMAA”
(sin comillas) ASPEL-COI
(con comillas) ASPEL-NOI
Ubicación:
Parámetros.
Funciona en:
Aspel-NOI y Aspel-COI.
Ajusta
A través de este comando, permite indicarle al sistema que comience a escribir las partidas o movimientos a
partir de determinada línea que indiques. Es útil sobre todo cuando los encabezados difieren en longitud, en
cuanto a líneas de impresión.
Sintaxis:
Ajusta (Renglón de posición del cursor)
Ubicación:
Encabezados y Totales.
Funciona en:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Notas del asistente:
Guía Curso Editores
48
Ancho_Caracteres
Este comando permite delimitar el ancho que tendrá una cadena de caracteres, pero no trunca lo escrito, sino
que continúa en la línea de abajo.
Sintaxis:
Ancho_Caracteres (Número de caracteres)
Ubicación:
Parámetros, Encabezados, Partidas y Totales.
Funciona en:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Asigna
Con este comando se puede asignar un valor a una variable libre, el resultado de la operación, un cálculo o bien
datos alimentados a través de otro comando llamado dato o asignar el contenido de otra variable.
Sintaxis:
Asigna <campo libre>, <campo> o dato o cálculo o “texto”
Ubicación:
Encabezados, Partidas y Totales.
Funciona en:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Brinca
Este comando indica al sistema que cambie hasta el inicio de la siguiente página, es decir, saltar las líneas que
queden entre la última línea impresa y el inicio de la siguiente página.
Este comando se define una sola vez, al final del formato, antes del comando FIN, con la finalidad de que la
impresión no se desfase entre un documento y otro.
Sintaxis:
Brinca
Ubicación:
Totales.
Funciona en:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Caracteres
Este comando le indica al sistema la columna hasta la cual debe imprimir, dependiendo del tipo de letra que se
tenga definido. Es idéntico al de Ancho_Caracteres, con la diferencia de que corta la cadena de caracteres.
Sintaxis:
Caracteres (Número de caracteres)
UBICACIÓN:
Parámetros, Encabezado, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Notas del asistente:
Guía Curso Editores
49
Centra
La función de este comando es la de centrar un texto o contenido de una variable dentro de un documento.
Sintaxis:
Centra (Total de caracteres en que se va a centrar), "Texto" o <Campo a imprimir>
UBICACIÓN:
Encabezado y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Comentarios
Es recomendable que al momento de elaborar un formato, este se vaya documentando de acuerdo a su
estructura; es decir, describiendo para qué sirve cada parte del formato. Al editar un formato, podemos observar
que muestra los pasos en los que esta dividido para la impresión, por ejemplo: Definición de encabezados, Inicio
de partidas, etc. Cuando se documenta un formato, le estamos permitiendo a un futuro usuario entender más
rápidamente el funcionamiento y secuencia que seguirá el sistema para ejecutarlo.
Sintaxis:
Comentarios (Texto) ó \ (Texto)
BICACIÓN:
Parámetros, Encabezados, Ciclos y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Correo
Al definir este comando en un formato, el sistema solicita un nombre para generar un archivo con el resultado
del formato y al mismo tiempo abre la aplicación de correo electrónico que se tiene definida en la PC e incluye
en un e-mail el archivo creado.
Sintaxis:
Correo
UBICACIÓN:
Parámetros
FUNCIONA EN:
Aspel-SAE.
Dato
Permite capturar datos al momento de emitir un formato. Los datos capturados pueden usarse para imprimirlos
directamente o para realizar cálculos u operaciones que realice el sistema de manera interna. Cabe mencionar
que los datos no quedan registrados en el archivo, ni dentro del formato.
Sintaxis:
Dato <Número de campo>, (Longitud del campo) , "Nombre del campo"
UBICACIÓN:
Parámetros, Encabezados y Partidas.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Notas del asistente:
Guía Curso Editores
50
Escribe
El comando escribe tiene como finalidad mandar a impresión el contenido de una variable, texto u operación
realizada dentro del reporte, para ello es muy importante definir la columna donde inicia la impresión de estos
datos para no tener problemas de que se desfase el reporte.
Sintaxis:
Escribe (Número de columna), <Variable o Campo> o Valor o "Texto"
UBICACIÓN:
Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Fencabezados
Este comando indica que se a terminado de definir las instrucciones del contenido del encabezado.
Sintaxis:
Fencabezados
UBICACIÓN:
Encabezados.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Fin
Este comando da por terminada la definición del formato, por lo que se define en la última línea del formato. Si
se definen después de este comando otras instrucciones, el sistema las va a ignorará.
Sintaxis:
Fin
UBICACIÓN:
Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Font
Este comando permite manejar diferentes tipos y tamaños de letra. Permite darle una mejor presentación al
reporte.
Sintaxis:
Font "Tipo de letra", Tamaño
UBICACIÓN:
Parámetros, Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD
Notas del asistente:
Guía Curso Editores
51
Impresor
El comando impresor manda el contenido del formato a papel, es decir, envía el reporte a un impresor.
Sintaxis:
Impresor (Número de Impresor o Nombre del impresor)
UBICACIÓN:
Parámetros.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Inicia
El comando inicia se define dentro de las partidas y tiene como finalidad realizar la lectura del ciclo definido y
con ello ejecutar las instrucciones definidas, por cada inicia que se utilice se debe definir un termina.
Sintaxis:
Inicia (Nombre del ciclo)
UBICACIÓN:
Partidas.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Máscara
Tiene como finalidad que al momento de mandar a impresión cantidades o sus respectivos montos estos sean
definidos después de este comando, se toma en cuenta la distribución de las comas y puntos.
Sintaxis:
Mascara
UBICACIÓN:
Parámetros, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Pantalla
Con este comando también se puede ver el resultado del reporte en una presentación preliminar. Para ello es
recomendable utilizar este comando antes de enviar un reporte a impresión, lo que permite verificar que la
información sea la correcta.
Sintaxis:
Pantalla
UBICACIÓN:
Parámetros.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Notas del asistente:
Guía Curso Editores
52
Raya
La función de este comando es repetir varias veces un carácter al momento de mandar a impresión el formato,
partiendo de la columna que se indico y del número de veces que se especifique.
Sintaxis:
Raya (Número de columna), (# de veces que debe repetirse), "Carácter a
imprimir"
UBICACIÓN:
Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Redondeo
La finalidad es que todas las cantidades o cifras sean redondeadas. Las variables a las que se puede realizar el
redondeo son a todos los campos numéricos definidos por el sistema y las variables numéricas definidas por el
usuario utilizando el comando asigna. No se podrá redondear directamente un cálculo, primero se tiene que
asignar a una variable.
Sintaxis:
Redondeo <Campo o Variable>, (Precisión)
UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Salta
Su función es indicar al sistema que deje un espacio dependiendo del número de líneas de impresión. El sistema
avanza el número de líneas indicado, menos una, es decir, si se especifica “Salta 3”, el sistema solo dejara 2 líneas
en blanco. Se debe de tener cuidado en definir el número de líneas a saltar, de manera que no exceda el tamaño
del reporte.
Sintaxis:
Salta (Número de líneas)
UBICACIÓN:
Parámetros, Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Si
Este comando se utiliza para iniciar un condicional o comparación dentro del formato. Es recomendado cuando
se necesita que una serie de acciones se ejecuten para un cierto número de elementos que cumplan con el
requisito definido, este comando puede ir acompañado por el comando sino y por cada comando si debe de
llevar un sifin.
Sintaxis:
Si <campo a comparar> (operador lógico) <campo de comparación> o (valor a
comparar) u operación
UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Notas del asistente:
Guía Curso Editores
53
Sino
La función del comando sino es para indicar que si no se cumplió la primera condición ejecuta otras.
Sintaxis :
Sino
UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Sifin
Indica el final de las instrucciones que conforman la condicional y es necesario especificarla siempre, para que el
sistema sepa que termina la condicional.
Sintaxis:
Sifin
UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Termina
Concluye con la lectura del ciclo, por lo que junto con las instrucciones y operaciones definidas desde el
comando inicia, con ello termina la impresión e los movimientos.
Sintaxis:
Termina (Nombre del ciclo)
UBICACIÓN:
Partidas.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Tipo
Determina el tipo de letra que va a ser utilizando para la impresión, a diferencia del comando font, este comando
utiliza el tipo de letra que esta definido en las propiedades del impresor.
Sintaxis:
Tipo (1 o 2)
UBICACIÓN:
Parámetros, Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
Notas del asistente:
Guía Curso Editores
54
Traduce
La función de este comando es el de convertir o traducir el contenido de un campos numérico en letra, realizando
esta traducción en dos idiomas que son el Ingles y el español.
Sintaxis:
Traduce (Número de columna), <Campo numérico>, "E"spañol o "I"nglés,
"MONEDA/MONEDAS"
UBICACIÓN:
Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.
3.6
Ciclos de lectura
Cada sistema cuenta con sus propios ciclos, en los cuales permite la lectura de los registros y que estos se vayan
leyendo de acuerdo a los diferentes campos. En algunos sistemas no hay restricción de en cuanto al uso de
manejar varios ciclos.
Ciclos definidos en BANCO
MOV (Movimiento)
Es utilizado dentro de los formatos de reportes de movimientos y representa el ciclo base para la
generación del reporte.
POL (Póliza)
Se utiliza para obtener información de las pólizas con las que se contabilizo el movimiento
bancario y sólo se usa para los formatos de reportes de movimientos.
PAR (Partida de la póliza)
Se utiliza para la impresión de las pólizas de egresos cuando al momento de contabilizar en línea
los cheques y en los reportes de movimientos. Para el segundo caso es indispensable que exista el
ciclo POL.
MOVPAR (Partidas de movimientos)
Este ciclo es empleado para poder obtener un desglose por cada uno de los movimientos que se
hayan realizando, presentando cada uno de los conceptos que se hayan utilizado en el
movimiento.
CHQPAR (Partidad por cheque)
Se puede emitir en el formato de un cheque normal, mostrando además en forma desglosada cada
uno de los conceptos involucrados en él.
Ciclos definidos en COI
AUX (Auxiliar)
Lee el archivo de auxiliares, en cual se encarga de localiza la sub-cuenta que tenga movimientos y
efectúa los procesos indicados y los imprime al final de la última sub-cuenta, o bien, debajo de
cada una de éstas; esto depende de cómo se haya ordenado el ciclo Auxiliares dentro del formato.
Este ciclo presenta únicamente los datos de las partidas, no de la póliza completa.
CTA (Cuenta)
Recorre el catálogo de cuentas, en el cual se ubica en la primera cuenta del catálogo, efectúa los
procesos indicados y prosigue con la siguiente cuenta hasta que llega al final del archivo.
Notas del asistente:
Guía Curso Editores
55
POL (Pólizas)
Lee el archivo de pólizas, ejecuta los procesos para la póliza en que se ubica y prosigue con la
siguiente hasta terminar de leer todo el.
PAR (Partidas-Pólizas)
Al leer una póliza esta se posiciona y lee las partidas posesionándose desde la primera partida de
la póliza, realiza los diferentes procesos solicitados y continúa con las siguientes partidas hasta
que llega al final de la póliza.
DP (Departamento)
El sistema recorrerá el archivo de las cuentas a través de los departamentos, esto siempre y
cuando el sistema esté configurado para el uso de departamento.
ACT (Activos)
Este ciclo lee el catálogo de activos, es posible crear reportes con la información de este catálogo,
el catálogo se recorre en base a la clave del activo.
Ciclos definidos en NOI
TB (Trabajadores)
Su función es recorrer el catálogo de trabajadores; iniciando desde la primer clave y realizando los
cálculos para ese trabajador. Al terminar, pasa a la siguiente trabajador y repite el proceso hasta
recorrer todos los registros.
PD (Percepciones y Deducciones)
Lee el archivo de percepciones y deducciones en la cual se posiciona en el primer concepto de
percepción, ejecuta los cálculos por trabajador y al terminar pasa a la siguiente percepción; ejecuta
los mismos procesos anteriores y al terminar con la lectura de las percepciones inicia con los
conceptos de deducción.
P (Percepciones)
Este ciclo solo lee solo las percepciones que se encuentran definidas en el catálogo de
percepciones y deducciones, ejecutando los cálculos solicitados para cada uno de los trabajadores
pasando al siguiente concepto de percepción hasta terminar con el último concepto definido en
este catálogo.
D (Deducciones)
Al igual que el ciclo anterior este se encargar de leer solo las deducciones desde el primer
concepto registrado en el catálogo de percepciones y deducciones; ejecuta las operaciones
solicitadas por cada uno de los trabajadores y pasa al siguiente concepto de deducción. Este
proceso se repite hasta leer la última deducción.
Ciclos definidos en PROD
Insumos
Como todos los ciclos que leen desde el primer insumos registrado mostrando los datos
solicitados y continuando al siguiente hasta leer el último insumos registrado en el catálogo.
Procesos
Con este ciclo se puede extraer la información de todos los procesos definidos en el sistema
leyendo uno por uno y generando una relación desde el primer proceso hasta llegar al último
proceso registra dentro de este catálogo.
Sustitut
Este es otro de los catálogos que se manejan en Prod por lo que funciona igual que los dos
anteriores, solo que este muestra desde por medio de las claves una lista de los sustitutos
registrados dentro de este catálogo.
Notas del asistente:
Guía Curso Editores
56
Prodterm
La finalidad de este ciclo es recorrer las claves de los productos terminados, recorriendo una a una
las cabezas de los documentos y con ello presentar los registros que conforman al producto
terminado.
Componente (Producto Terminado)
Este ciclo se encarga de leer las partidas o componentes de los productos terminados. Este ciclo va
acompañado del ciclo Prodterm.
Agenda
Este es otro de los ciclos que se debe de definir dentro del ciclo Prodterm, su función es presentar
la planeación de un producto terminado.
Orden
La función de este ciclo es leer el archivo de órdenes de producción y con ello obtener una lista de
todas las órdenes registradas dentro de este archivo.
Seguimiento
Recorre el archivo de seguimiento que se ha empleado en una orden ya que hay que recordar que
esta puede ser de forma directa, por entrada a fabricación, etc. Solo las órdenes que muestran son
la que cuentan con el estatus de activa.
Programación
Este ciclo es parecido al de seguimiento, con la diferencia e que este ciclo obtiene la programación
que se le ha hecho a un orden sin su respectivo seguimiento. Este ciclo debe de ejecutarse dentro
del ciclo de Orden.
Componente (Orden)
Lee las partidas de los componentes de los productos terminados, este ciclo debe de estar definido
dentro del de orden, es igual al de componente ciclo de Orden (producto terminado).
Segxcomp
Con este ciclo se obtiene los movimientos tanto de entrada como de salida al inventario por cada
uno de los componentes, este ciclo debe de ir acompañado de otro ciclo que es componente
(orden).
Ciclos definidos en SAE
Factura, Remisión, Pedido, Cotización y Devolución
Estos cinco ciclos se utilizan dentro del módulo de Facturación dependiendo del documento que se
vaya a utilizar, por ejemplo al definir el ciclo de Inicia Factura el sistema ejecuta las instrucciones
solicitadas en la cabeza de los documentos, este proceso lo recorre uno por uno.
Recepción, Orden y Devolución
Así como el modulo de facturación cuenta con sus ciclos para cada documento de ventas, el
modulo de compras cuenta con sus respectivos ciclos, que operan de igual forma que los ciclos de
facturación leyendo o recorriendo las cabezas de los documentos.
Partida
Este ciclo se define dentro de los ciclos mencionados con anterioridad su función es que vaya
recorriendo cada una de las partidas, comenzando desde el primer movimiento en el documento y
ejecutando las instrucciones solicitadas para que con ello pase a la siguiente hasta llegar a la
ultima.
Notas del asistente:
Guía Curso Editores
57
Serie
El ciclo se utiliza para la lectura de los productos que manejan números de serie por tal motivo
este ciclo se define dentro del ciclo anterior (partida) y su función es leer los números de serie que
corresponden a cada producto de la partida.
CLI_PRO
Este ciclo se encarga de leer los registros de clientes y/o proveedores ejecutando las instrucciones
definidas y como todos los ciclos lo hace registro por registro hasta terminar.
DOCTO
Revisa todos los documentos que están asociados a cada cliente y/o proveedor, ejecutando las
instrucciones solicitadas, este ciclo se recomienda utilizarlo dentro del ciclo CLI_PRO.
Movimiento
Este ciclo consiste en recorrer los movimientos al inventario guiándose por el primer concepto
definido en este catálogo, ejecuta las instrucciones requeridas y pasa al siguiente concepto hasta
llegar al último.
Filtro
Este es un auxiliar del ciclo de movimiento y su función es llevar un control al momento de
cambio del producto, ambos ciclos van a permitir que los documentos sean ordenados por
producto.
3.7
Generación de formatos (*.fto)
Una vez terminado de explicar cada uno de los comandos que se pueden utilizar en el editor de formatos para
poder elaborar reportes que se acoplen a las necesidades de la empresa con ayuda de sus respectivos ciclos se
procede a realizar un ejercicio elaborando un formato.
Los sistemas Aspel permiten utilizar un editor de formatos para modificar o crear los formatos de impresión de
documentos y reportes. Esto permite reportar la información de la empresa satisfaciendo las necesidades más
exigentes.
En la ventana que se presenta se puede escoger entre cualquiera de los formatos que se manejan para
renombrarlos (conservando la terminación .FTO), y así modificar sus parámetros adecuándolos a las necesidades
de la empresa.
Desde el administrador de reportes, con el botón
del editor.
se podrá visualizar la lista de comandos y fórmulas
Práctica 4: Elaboración de un formato para factura en fto.
Elaborar de un formato para facturas con las siguientes características:
•
•
•
•
•
•
•
Debe contener la estructura general del formato.
Agregar contador de partidas.
Agregar observaciones por partida y por documento.
Establecer la impresión de números de serie, lotes y pedimentos.
Adicionar contador de artículos.
Agregar un contador de partidas para totalizar y enumerarlas.
Utilizar el comando Traduce.
Notas del asistente:
Guía Curso Editores
58
a) Para este ejercicio se elabora un formato similar al de una factura, para ello es necesario entrar
al sistema de Aspel-SAE y verificar que dentro de las aplicaciones asociadas esté configurado el
notepad.exe que se encuentra en Utilerías – Configuración – Aplicaciones asociadas – Editor de
textos.
b) Una vez configurado el sistema, se procede a entrar al módulo de Facturación, Menú Reportes,
Administrador de reportes, donde se creará el Archivo *.FTO para la emisión de una factura,
primeramente con la Estructura General que se requiere y posteriormente se agregarán
elementos para el uso de la mayoría de los comandos.
Indicar que
se agrega un
nuevo fto.
3.7-1 Elaboración de formato
3.7-2 Guardar Archivo *.fto
c)
Escribir las siguientes líneas y comandos que conformarán el formato:
Notas del asistente:
Guía Curso Editores
59
com **************************************************
com ***** Definición de los parámetros del reporte ***
\\ ***************************************************
Pantalla
Mascara "###,###,###.##"
Caracteres 250
Ancho_caracteres 132
Asigna <01>, "/"
Asigna <02>, "PESO/PESOS"
Asigna <04>, "E"
Font "arial",8
com **************************************************
com ****** Definicion de encabezados ****************
com **************************************************
tipo 1
Define_encabezado
Escribe 1, "Curso de Editores"
Asigna <106>,0
Asigna <106>, <106>+1
Escribe 1, "No. de ´pagina", 15, <106>
Dato <001>, 20,"Dame tu nombre"
Salta 2
Escribe 1,<001>
Salta 2
tipo 2
Raya 1,100,"="
Ajusta 4.5
Fencabezados
com ***************************************************
com **** Definición de partidas y/o ciclos de lectura**
com ***************************************************
Inicia FACTURA
Encabezado
Ajusta 7
\NUMERO DE LINEAS PARA EL AREA DE PARTIDAS
Asigna <108>,31
\Contador de lineas
Asigna <107>,0
Asigna <199>,0
Asigna <200>,0
\Inicia la impresión de las partidas
Inicia Partida
Asigna <199>,<199>+<072>
Asigna <200>,<200>+1
Si <072> <> 0
\Controla el numero de lineas de la partida
Notas del asistente:
Guía Curso Editores
60
Si <107> < <108>
Asigna <107>, <107>+1
Sino
Asigna <107>,0
Brinca
Encabezado
SiFin
Escribe 1,<72>, 25,<94>, 60,<074>
\Imprime las observaciones de la partida
Caracter 1
Si <092> = ""
\La partida no tiene Observaciones
Caracteres 255
Sino
Caracteres 255
Ancho_caracteres 97
Escribe 17,<092>
Asigna <107>,<107> + <254>
SiFin
com ****************************************************************
com ****** IMPRESION DE NUMEROS DE SERIE, LOTES Y PEDIMENTOS *******
\Columna en la que se imprime el numero de serie
Asigna <110>, 1
Inicia SERIE
Escribe <110>,<091>
Asigna <110>, <110> + 12
Si <110> > 105
Asigna <110>,1
Asigna <107>, <107> + 1
\Controla el numero de lineas de la partida
Si <107> > <108>
Asigna <107>, 0
Salta 1
Escribe 120, "*******>>"
Brinca
Encabezado
SiFin
SiFin
Termina
Si <233>
\Imprime datos del lote del producto
Escribe 1,"Lote del producto :"
Escribe 22,<233>, 35, "Caducidad :"
Escribe 45, @MFC[<235>,"dd/mm/aaaa"]
SiFin
Si <234>
\Imprime clave del pedimento aduanal
\Fecha y Aduana
Escribe 1,"Pedimento Aduanal : "
Escribe 22,<234>, 35, @mfc[<236>,"dd/mm/aaaa"]
Escribe 45, <237>
SiFin
Asigna <107>, <107> + 2
Notas del asistente:
Guía Curso Editores
61
\Controla el número de líneas de las partidas
Si <107> > <108>
Asigna <107>, 0
Salta 1
Escribe 120, "********>>"
Brinca
Encabezado
SiFin
Termina Partida
SiFin
Salta 2
Escribe 10, "Total de Articulos vendidos : ", 40,<199>
escribe 10, "Total de Partidas :", 40,<200>
com ***************************************************
com **** Definicion de totales ************************
com ***************************************************
tipo 2
Ajusta 16
Si <071> = ""
Escribe 2,""
SiNo
Ajusta 17
Escribe 2,<071>
SiFin
Ajusta 18
Escribe 40,<66>/<209>
Asigna <03>, <201> + <01> + <201> + <01> + <02>
Traduce 2, <66>/<209>, <04>, <03>
Brinca
Termina Factura
Fin
Práctica 5: Elaboración de un formato para recibos con copia en Aspel-NOI.
Descripción del caso: Se tiene el caso de una empresa con más de mil trabajadores, a los cuales entrega sus recibos con
formatos de forma continua para impresión en láser. El problema es que cuando imprime sus recibos lo tiene que hacer
dos veces para tener el recibo del trabajador y el recibo de acuse para la empresa, cosa que es muy laboriosa para
estar armando los juegos de recibos. Pues el formato solo permite emitir un solo recibo por trabajador como se
muestra en la siguiente imagen.
La solución es la siguiente:
a) Abrir el Bloc de Notas y escribir el código que se muestra a continuación:
Notas del asistente:
Guía Curso Editores
62
Com ******************************************************************
Com *****
ASPEL MEXICO, S.A. DE C.V.
*****
Com ***** Curso de Editores
*****
Com ***** Formato para la impresión de 2 recibos, sugerido para *****
Com ***** papel de la línea de formas ASPEL. Envía un recibo *****
Com ***** de 4.7 X 8.5 pulgadas.
*****
Com ***** Para la impresion de este formato, es necesario *****
Com ***** que ajuste el tamaño de la hoja en Especificar
*****
Com ***** Impresora / Configurar
*****
Com ***** Las medidas asignadas en centimetros son :
*****
Com ***** Ancho: 21.60
*****
Com ***** Largo: 23.70
*****
Com ***** ASPEL-NOI Windows 4.0
*****
Com ******************************************************************
Com ***** Definición de Máscara, Tipo de Letra, Líneas por hoja *****
Com ***** y Líneas para Partida *****
PAN
Tipo
1
Font "Arial", 9
Asigna <120>, 2
Asigna <121>, 12
Asigna <122>, 0
Asigna <123>, 0
\\ No. de recibos por hoja
\\ Tamaño del recibo, en cms.
\\ Contador de recibos
\\ Contador para partidas
Com ***** Impresión del Encabezado del Recibo *****
DefEncabezado "multiforma"
Caracteres 255
Mascara "###.##"
Ajusta 1.4 + ( <121>*<122> )
Escribe 1, "No.Trab. :", 13, <041>, 54, "R.IMSS:"
Escribe 65, <044>
Escribe 1, "Nombre :", 11, <042>, 54, "Dias Trabajados:"
Escribe 74, <061>
Escribe 1, "R.F.C. :", 11, <043>, 54, "Faltas
:"
Asigna <105>, <062>+<063>+<065>
Escribe 74, <105>
Escribe 1, "Depto. :", 11, <050>, 54, "Periodo Del :"
Escribe 71, <031>
Escribe 1, "Puesto :", 11, <048>, 54, "
Al :"
Escribe 71, <032>
Escribe 1, "C.U.R.P. :", 11, <227>, 54, "Duración de la Jornada:
Ajusta 4.7 + ( <121>*<122> ) \\ram 5 + ...
Mascara "##,###,###.##"
FEncabezado
Completa"
Notas del asistente:
Guía Curso Editores
63
Inicia TB
Si <45> <> 4
\\Inicia el primer Ciclo del recibo
Si <122> > 0
Ajusta <121> * <122>
Sifin
Encabezado
Inicia PD
Asigna <123>,<123> + 1
Si <123> >= 12
Asigna <123>,0
Asigna <122>,<122> + 1
Si <122> > (<120> - 1)
Asigna <122>, 0
Brinca
Sino
Ajusta <121> * <122>
Sifin
Encabezado
Sifin
Si <072> <> 0
Escribe 1, <070>, 7, <071>, 25, <072>
Sino
Escribe 1, "
"
Sifin
Si <077> <> 0
Escribe 43, <075>, 49, <076>, 67, <077>
Sifin
Termina
Asigna <123>,0
Ajusta 10 + ( <121>*<122> )
Escribe 1, "Total Percepciones ", 25, <079>
Escribe 43, "Total Deducciones " , 67, <080>
salto 1
Escribe 1, "Neto Pagado
", 25, <082>
Escribe 1, "Total en Efectivo " , 25, <082>-<081>
Asigna <122>, <122> + 1
Si <122> = <120>
Asigna <122>, 0
Brinca
SiFin
Sifin
\\Termina el Primer ciclo
Si <45> <> 4
\\Inicia el segundo Ciclo del recibo
Si <122> > 0
Ajusta <121> * <122>
Sifin
Encabezado
Inicia PD
Asigna <123>,<123> + 1
Si <123> >= 12
Asigna <123>,0
Asigna <122>,<122> + 1
Si <122> > (<120> - 1)
Asigna <122>, 0
Brinca
Sino
Notas del asistente:
Guía Curso Editores
64
Sifin
Ajusta <121> * <122>
Sifin
Encabezado
Sifin
Si <072> <> 0
Escribe 1, <070>, 7, <071>, 25, <072>
Sino
Escribe 1, "
"
Sifin
Si <077> <> 0
Escribe 43, <075>, 49, <076>, 67, <077>
Sifin
Termina
Asigna <123>,0
Ajusta 10 + ( <121>*<122> )
Escribe 1, "Total Percepciones ", 25, <079>
Escribe 43, "Total Deducciones " , 67, <080>
salto 1
Escribe 1, "Neto Pagado
", 25, <082>
Escribe 1, "Total en Efectivo " , 25, <082>-<081>
Asigna <122>, <122> + 1
Si <122> = <120>
Asigna <122>, 0
Brinca
SiFin
\\Termina el segundo ciclo
Termina
b)
c)
d)
e)
f)
g)
Guardar el archivo con el nombre de Recibo_Edit.fto en el directorio de Ejemplos de Aspel NOI.
Ingresar a Aspel-NOI al periodo 31/Ene/06 en el directorio de la base de datos de Ejemplos.
Activar la opción Reportes/Recibos de Nómina
Seleccionar a 2 trabajadores
En la opción Nombre del Formato, indicar el archivo generado anteriormente.
Verificar los resultados del recibo.
Notas del asistente:
Guía Curso Editores
65
Figura 3.7-3 Ejemplo del reporte original de recibos de nómina
Notas del asistente:
Guía Curso Editores
66
Figura 3.7-4 Resultado del reporte modificado
Notas del asistente:
Guía Curso Editores
67
Práctica 6: Modificación de formato para Balance General.
A continuación, se desea que el balance general se obtenga de forma detallada, es decir, que incluya cuentas
tanto del segundo como tercer nivel, para ello, se iniciará con el siguiente procedimiento:
a)
b)
c)
d)
e)
f)
Ingresar a Aspel-COI al periodo de Diciembre de 2004.
Activar el menú Reportes/Balance General/Moneda Contable.
Con el botón de “?” localizar el formato bgralw.fto en el directorio de Datos.
Hacer clic en el botón “Editar”
Indicar
Localizar las líneas asignadas para imprimir el Activo Circulante como se muestra a continuación.
\\Inicia [<46>, <47>] \\ Inicia ciclo de cuentas
Inicia SRAN[1]
Si <29> = 1 \\ Si la cuenta es de primer nivel
Si <96> = 0
Asigna <96>, 1
Escribe 5, "ACTIVO CIRCULANTE :"
Salta 2
Sifin
Escribe 5, <27>, 80, <36> \\ Escribe la descripción
Asigna <92>, <92> + <36> \\ Acumula los totales
Sifin
Termina
g) Agregar las siguientes instrucciones entre los comandos SIFIN y TERMINA.
Inicia SRAN[1]
Si <29> = 1 \\ Si la cuenta es de primer nivel
Si <96> = 0
Asigna <96>, 1
Escribe 5, "ACTIVO CIRCULANTE :"
Salta 2
SIFIN
Escribe 5, <27>, 80, <36> \\ Escribe la descripción de la cuenta y su saldo final
Asigna <92>, <92> + <36> \\ Acumula los totales para el activo circulante
SIFIN
SI <029> = 2 \\ Si la cuenta es de segundo nivel
Escribe 8, <27>, 80, <36> \\ Escribe…
Asigna <92>, <92> + <36> \\ Acumula…
SIFIN
Agregar
SI <029> = 3 \\ Si la cuenta es de tercer nivel
éstas líneas
Escribe 10, <27>, 80, <36> \\ Escribe…
Asigna <92>, <92> + <36> \\ Acumula…
SIFIN
Termina
h) Guardar los cambios y mostrar la vista preliminar del reporte.
Notas del asistente:
Guía Curso Editores
68
Figura 3.7-5 Resultado del reporte modificado
i)
Realizar las modificaciones para que el resto de los rubros de muestren de la misma forma.
Aspel de México S.A. de C.V. Agradece su participación en este curso.
Aspel es una marca registrada de Aspel de México S.A. de C.V.
Asimismo Aspel de México S.A. de C.V. se reserva el derecho de revisar periódicamente este documento y hacer
cambios en el contenido del mismo, si lo considera necesario.
Todas las marcas comerciales que se mencionan en este documento son marcas registradas por sus respectivas
compañías.
Cualquier duda o comentario al respecto de este documento, favor de notificarlo a: [email protected]
Notas del asistente:
Guía Curso Editores
69
Descargar