Editor Formatos SAE

73
Editor de Reportes Guía Curso Distribuidor

Transcript of Editor Formatos SAE

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 Definición .................................................................................................................................................. 1 1.2 Objetivo del curso.................................................................................................................................... 1

2. EDITOR DE REPORTES..................................................................................................................................... 3 2.1 Generales ................................................................................................................................................... 3 2.2 Editor gráfico de reportes (qr2) ............................................................................................................. 3 2.3 Conceptos básicos.................................................................................................................................... 3 2.4 Estructura general de un reporte........................................................................................................... 4 2.5 Barra de herramientas ............................................................................................................................. 6 2.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 Definición ................................................................................................................................................43 3.2 Conceptos básicos..................................................................................................................................43 3.3 Características del editor de formatos...............................................................................................43 3.4 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:

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

Para 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:

Notas del asistente: Guía Curso Editores 1

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 2

Notas del asistente: Guía Curso Editores 3

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 Editor tradicional (fto) Editor de notas Editor gráfico (qr2)

Aspel-SAE 3.0 √

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 √ √

2.2 Editor gráfico de reportes (qr2)

Ruta de acceso: En Aspel-SAE 4.0 desde cualquier módulo a Reportes/Administrador de Reportes, en Aspel-BANCO 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 4

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.

58-43-31-44Calz. Morelos 5214Karina Cevallos García3

56-84-96-10Calle Xola 14Alejandra Márquez Torres2

53-96-85-78Av. De las Torres 53Juan Hernández Soto1

TeléfonoDirecciónNombreClave

58-43-31-44Calz. Morelos 5214Karina Cevallos García3

56-84-96-10Calle Xola 14Alejandra Márquez Torres2

53-96-85-78Av. De las Torres 53Juan Hernández Soto1

TeléfonoDirecciónNombreClave

Campos

Registros

Figura 2.3-1 Estructura de una tabla

Notas del asistente: Guía Curso Editores 5

Como se puede observar las secciones de un reporte se manejan por medio de bandas, cada una de ellas tienen una función diferente. Ahora bien, para generar un reporte se requiere conocer los elementos de un formato, estos se muestran en la Figura 2.4.-2

Encabezado del reporte

Detalle

Figura 2.4.-1 Estructura general de un reporte

Pié del Reporte

Notas del asistente: Guía Curso Editores 6

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. 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.

Figura 2.5-1 Barra de herramientas.

Etiquetas

Campos de datos

Figura 2.4-2 Elementos del formato

Bandas

Notas del asistente: Guía Curso Editores 7

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.

Para utilizar estas funciones, se debe seleccionar los elementos, figuras, imágenes, etc., con la tecla 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: 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.

Figura 2.5-2 Barra de herramientas auxiliar par modificar presentaciones.

Figura 2.5-3 Barra de herramientas para dar formato al texto.

Notas del asistente: Guía Curso Editores 8

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". 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:

Figura 2.6.1-1 Modificación del elemento de un reporte.

Notas del asistente: Guía Curso Editores 9

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.

Figura 2.7-2 Propiedades de una banda estándar.

Notas del asistente: Guía Curso Editores 10

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.

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:

¿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.

Figura 2.7-3 Opciones de impresión de una banda estándar.

Figura 2.7-4 Definición de una condición para indicar que sólo se imprimirá si se cumple la condición.

Notas del asistente: Guía Curso Editores 11

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.

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.

Figura 2.7-6 Definición de las propiedades para la impresión del marco en la banda

Figura 2.7-5 Ejemplo de banda que sólo se imprime al cumplir con una expresión.

Figura 2.7-7 Propiedades de la banda estándar

Notas del asistente: Guía Curso Editores 12

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. 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.

Figura 2.7-8 Propiedades de una banda hija

Notas del asistente: Guía Curso Editores 13

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 Subdetalle

Banda de Detalle

Figura 2.7-10 Vista preliminar del reporte

Figura 2.7-9 Banda de Subdetalle.

Notas del asistente: Guía Curso Editores 14

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. 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)

Figura 2.7-9 Propiedades de la banda de grupo.

Notas del asistente: Guía Curso Editores 15

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 16

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.

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.

Figura 2.7-12 Propiedades de un campo calculado

Notas del asistente: Guía Curso Editores 17

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: 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.8-1 Nuevo reporte en Aspel-COI 5.5

Figura 2.9-1 Campos de la base de datos

Notas del asistente: Guía Curso Editores 18

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 19

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. 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.11-1 Creación de consulta

Figura 2.12-1 Propiedades de la consulta

Notas del asistente: Guía Curso Editores 20

Campos Según la tabla seleccionada este botón desplegará todos los campos que contiene dicha 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.13-1 Campos de la tabla

Figura 2.14-1 Borrado de consulta

Notas del asistente: Guía Curso Editores 21

Ver datos El sistema mostrará el resultado de la consulta definida. 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.15-1 Vista de los datos de la consulta

Figura 2.16-1 Presentación preliminar del reporte

Notas del asistente: Guía Curso Editores 22

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) Ingresar a Aspel-COI e ingresar al Administrador de Reportes. b) En la sección Grupos seleccionar “Cuentas” c) Hacer clic en el botón “Nuevo”. d) 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.

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-2 Creación del reporte.

Figura 2.16.3 Presentación preeliminar del reporte.

Notas del asistente: Guía Curso Editores 23

i) Dentro de la configuración de Base de datos (pulsando el botón ) seleccionar el Informe de la Tabla que será: Catálogo de cuentas.

j) 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.

k) 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.4 Seleccionando el informe de la tabla.

Figura 2.16.5 Presentación preeliminar del reporte.

Notas del asistente: Guía Curso Editores 24

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.

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.6 Presentación preeliminar del reporte con formato de valores.

Figura 2.16.7 Propiedades del campo calculado o de expresión.

Notas del asistente: Guía Curso Editores 25

r) Mostrar la vista preliminar y verificar que se muestre el total final de los cargos s) 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.

t) Agregar una línea superior a la última banda.

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) En Aspel-SAE, ingresar al Administrador de Reportes desde el catálogo de clientes. b) Seleccionar el grupo de Catálogo de Clientes. c) Agregar un nuevo reporte. d) Insertar las bandas de Encabezado de Columna, Detalle, Sumas y Pié de Página. e) 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.

Figura 2.16-8 Ejemplo del resultado de los campos calculados.

Notas del asistente: Guía Curso Editores 26

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.

Figura 2.16-9 Ejemplo del reporte generado en Aspel-SAE

Notas del asistente: Guía Curso Editores 27

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”. 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.

Figura 2.17.1-1 Referencias no validas en la consulta.

Notas del asistente: Guía Curso Editores 28

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 Descripción

FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros.

WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar.

GROUP BY Utilizada para separar los registros seleccionados en grupos específicos.

HAVING Utilizada para expresar la condición que debe satisfacer cada grupo

ORDER BY 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 Uso

AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.

OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOT Negación lógica. Devuelve el valor contrario de la expresión.

Comparación:

Operador Uso

< Menor que

> Mayor que

<> Distinto de

<= Menor ó Igual que

>= Mayor ó Igual que

= Igual que

BETWEEN Utilizado para especificar un intervalo de valores

LIKE Utilizado para comparar de un modelo, solo para cadenas de texto.

IN 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 29

Función Descripción

AVG Utilizada para calcular el promedio de los valores de un campo determinado.

COUNT Utilizada para devolver el número de registros de la selección.

SUM Utilizada para devolver la suma de todos los valores de un campo determinado

MAX Utilizada para devolver el valor más alto de un campo especificado

MIN 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 .

c) En el Diseñador de Reportes, hacer clic en el botón de para agregar un nuevo query. d) Colocar la instrucción dentro del campo destinado para ello, como se aprecia en la figura 2.17.2.1-1.

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.

Figura 2.17.2.1-1 Generando un query en el Diseñador de Reportes

Notas del asistente: Guía Curso Editores 30

SELECT Selecciona los registros de una tabla.

Sintaxis: SELECT * FROM Tabla SELECT Tabla.Campo1, Tabla.Campo2, Tabla.Campo3,… FROM Tabla

Figura 2.17.2.1-2 Ejemplo del query generado

Seleccionar la consulta creada

Pulsar el botón para ver los resultados

Figura 2.17.2.1-3 Resultado del query generado.

Notas del asistente: Guía Curso Editores 31

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 32

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 33

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 34

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 35

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 36

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 . 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.

Figura 2.19-1 Exportación a formato PDF de una cotización.

Notas del asistente: Guía Curso Editores 37

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.

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.

Figura 2.19-2 Seleccionando el tipo de documento.

Seleccionar el tipo PDF

Figura 2.20-1 Modificación de un formato preestablecido.

Notas del asistente: Guía Curso Editores 38

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’.

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.

Figura 2.20-2. Creación nueva consulta y asignación del valor.

Se asigna nombre al Query.

Se escriben las instrucciones del el Query.

Se asigna el conjunto de datos maestro.

Notas del asistente: Guía Curso Editores 39

¿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

Figura 2.20-3 Selección de los campos

Notas del asistente: Guía Curso Editores 40

k) 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

l) Guardar el query y agregar uno nuevo. m) En nombre de la consulta se deberá poner Obs_Fact n) 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

o) En nombre de la consulta se deberá poner Observ p) 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.

q) 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 41

Figura 2.20-4: Ejemplo del repote modificado para factura electrónica.

Notas del asistente: Guía Curso Editores 42

Figura 2.20-5: Ejemplo del resultado del reporte.

Notas del asistente: Guía Curso Editores 43

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 44

• 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 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.

Parámetros del Reporte

3.4.1-1 Parámetros del reporte.

Encabezados

3.4.2-1 Encabezados del reporte

Notas del asistente: Guía Curso Editores 45

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. 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. 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.

Contenido del reporte

3.4.3-1 Contenido del reporte y/o partidas y ciclos

Totales

3.4.4-1 Totales

Notas del asistente: Guía Curso Editores 46

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 47

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 Ejemplos de Sintaxis

Ajusta Ajusta 50

Ancho_Carácter Ancho_Caracter 10

Asigna Asigna <100>, [100-001F] + <43> /12

Brinca Brinca

Caracteres Caracteres 80

Centra Centra 80, <27>

Comentarios Comentarios "-BALANCE-"

Correo Correo

Dato Dato <10>, “CUENTA INICIAL ->”

Define Define

Disco Disco

Encabezados Encabezados

Escribe Escribe 5, “Descripción”, 15, <27>

Fencabezados Fencabezados

Fin Fin

Font Font “Arial”, 12

Impresor Impresor 2

Inicia Inicia Factura

Mascara Mascara "###,###,###.##"

Pantalla Pantalla

Raya Raya 4,5, "-"

Redondeo Redondeo <100>

Salta Salta 1

Si Si <34> = 0

Sifón Sifón

Sino Sino

Termina Termina

Tipo Tipo 1

Traduce Traduce 45, <101>, "E", "PESO / PESOS"

Notas del asistente: Guía Curso Editores 48

Fórmulas del editor Ejemplos de Sintaxis

@SI[Cond., Verdad, Falso] @SI[<34> > <36>, <34>±10, <36> /2±10]

@RED[Valor, Redondeo] @RED[<34>,1]

@CTA[Cuenta,Subfijo] @CTA[100-001,F]

@CTA[Cuenta,Subfijo,Dpto] @CTA[100-001,F,1]

@CTA[#Campo1>,<#Campo2>,Subfijo] @CTA[<46>,<47>,F]

@CTA[<#Campo1>,<#Campo2>,Subfijo,Dpto] @CTA[<46>,<47>,F,1]

@CTA[Cuenta1,Cuenta2,Subfijo] @CTA[100-001,500-001,F]

@CTA[Cuenta1,Cuenta2,Subfijo,Dpto] @CTA[100-001,500-001,F1]

@RAN[Cuenta1..Cuenta2,Sufijo] @RAN[2100-000..2199-999,F]

@INPC[Mes,Año] @INPC[12,2003]

@RAN[R#rango,Subfijo] @RAN[R11,F]

@MFC[campo, "Formato", "Idioma" (E o I)" ] @MFC[ <025>,"dd/mm/aa","E"]

@SUBCADENA[Cadena,Desde,Cuantos] @SUBCADENA[<20>,5,7]

@SDIARIO[No.cuenta] @SDIARIO[100-002]

@DEPRECIA[<Clave>,<Finid>,<Ffind>, <Que>,<Finie>,<Ffine>]{Periodo}

@DEPRECIA[T1,0199,0199,C,0199,1299]

@DEPRECIAC[<Clave>,<Finid>,<Ffind>, <Que>,<Finie>,<Ffine>]{Periodo}

@DEPRECIAC[T1,0199,0199,O]

@EMPRESA[Sufijo] @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 (sin comillas) ASPEL-COI ABRE “DDMMAA” (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 49

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 50

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 51

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 52

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 53

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 54

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 55

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 56

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 57

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 58

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 se podrá visualizar la lista de comandos y fórmulas del editor.

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 59

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.

c) Escribir las siguientes líneas y comandos que conformarán el formato:

3.7-1 Elaboración de formato

Indicar que se agrega un nuevo fto.

3.7-2 Guardar Archivo *.fto

Notas del asistente: Guía Curso Editores 60

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 61

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 62

\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 63

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 \\ No. de recibos por hoja Asigna <121>, 12 \\ Tamaño del recibo, en cms. Asigna <122>, 0 \\ Contador de recibos Asigna <123>, 0 \\ 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: Completa" Ajusta 4.7 + ( <121>*<122> ) \\ram 5 + ... Mascara "##,###,###.##" FEncabezado

Notas del asistente: Guía Curso Editores 64

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 65

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 segundo ciclo Termina

b) Guardar el archivo con el nombre de Recibo_Edit.fto en el directorio de Ejemplos de Aspel NOI. c) Ingresar a Aspel-NOI al periodo 31/Ene/06 en el directorio de la base de datos de Ejemplos. d) Activar la opción Reportes/Recibos de Nómina e) Seleccionar a 2 trabajadores f) En la opción Nombre del Formato, indicar el archivo generado anteriormente. g) Verificar los resultados del recibo.

Notas del asistente: Guía Curso Editores 66

Figura 3.7-3 Ejemplo del reporte original de recibos de nómina

Notas del asistente: Guía Curso Editores 67

Figura 3.7-4 Resultado del reporte modificado

Notas del asistente: Guía Curso Editores 68

Agregar éstas líneas

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) Ingresar a Aspel-COI al periodo de Diciembre de 2004. b) Activar el menú Reportes/Balance General/Moneda Contable. c) Con el botón de “?” localizar el formato bgralw.fto en el directorio de Datos. d) Hacer clic en el botón “Editar” e) Indicar f) 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 SI <029> = 3 \\ Si la cuenta es de tercer nivel 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 69

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]

Figura 3.7-5 Resultado del reporte modificado