Está en la página 1de 73

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: cursos@aspel.com.mx
Í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:
t Tips de uso.
† Tipo de reporte.
 Ruta de acceso.
1 Advertencia.
 Práctica

Requisitos:
; Conocimientos del sistema operativo MS-Windows® NT4.0, 2000, XP, 2003 o superior.
; Conocimientos de por lo menos un sistemas Aspel.
; Conocimientos básicos de programación

yPara el instructor.

Software a utilizar:
; Aspel-SAE 4.0
; Aspel-COI 5.x
; Aspel-NOI 4.x
; Bloc de Notas de Windows

Bases de datos:
; Se utilizarán bases de datos de ejemplos de los sistemas de Aspel-SAE, Aspel-COI y Aspel-NOI.

Nombre del participante:


Centro de capacitación:
Nombre del instructor:
Correo electrónico:
Fecha:
1. INTRODUCCIÓN

1.1 Definición
Una característica muy importante de los sistemas informáticos son los Reportes mediante los cuales se brinda
información veraz y oportuna al personal operativo, administrativo, gerencial y accionistas de la empresa,
facilitando así la ejecución de sus actividades, la toma de decisiones, la definición de los objetivos y en general
datos que permitan conocer la situación financiera de la empresa.

Los sistemas Aspel, dependiendo del sistema y número de versión cuentan con diferentes editores de Reportes
que permiten al usuario obtener la información que se requiera de acuerdo a las necesidades de la operación y
los procesos administrativos de la empresa. Dado que los sistemas Aspel han ido evolucionando, las versiones
más recientes como Aspel-CAJA 1.0, Aspel-SAE 4.0, Aspel-COI 5.0, y Aspel-BANCO 3.0 cuentan con un editor de
Reportes gráfico que proporciona al usuario una herramienta para realizar adecuaciones sobre los formatos, el
ordenamiento de la información, ejecutar filtros específicos, obtener informes más elaborados, los reportes
generados con esta herramienta tienen la extensión *.qr2. Por otro lado, tanto las versiones anteriores a las
mencionadas, como las nuevas -incluyendo Aspel-NOI 4.0 y Aspel-PROD 2.0-, incluyen un Editor de reportes
propio, el cual mediante un conjunto de instrucciones (pseudo lenguaje de programación) permite realizar la
edición de los reportes con extensión *.fto.

1.2 Objetivo del curso


Al término de este curso el Asistente podrá modificar o diseñar nuevos reportes en los sistemas de la línea Aspel
en cualquiera de sus versiones, conocerá las ventajas, características y condiciones para utilizar los diferentes
Editores de formatos y podrá obtener finalmente, los reportes e informes de acuerdo a las necesidades de
información de la empresa.

Notas del asistente:

Guía Curso Editores 1


Notas del asistente:

Guía Curso Editores 2


2. EDITOR DE REPORTES
2.1 Generales
Dado que los sistemas Aspel ofrecen diferentes Editores de reportes, es necesario identificar la versión del
sistema Aspel desde el cual se desea generar o modificar un reporte ya que de ello depende la herramienta que
se tendrá disponible para obtener el documento o reporte con las características deseadas. La correcta elección
del editor dependerá de la versión del sistema y las características del reporte deseado.

Sistema.versión 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 3


Campos

Clave Nombre Dirección Teléfono


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

Registros 2 Alejandra Márquez Torres Calle Xola 14 56-84-96-10

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

Figura 2.3-1 Estructura de una tabla

Query. Es un conjunto de instrucciones que permite mostrar una serie de registros provenientes de una tabla
que cumplen con determinado criterio.

Conjunto de Datos (Dataset). Está compuesto de comandos, cláusulas, operadores y funciones, estos
elementos se combinan en las instrucciones para actualizar y manipular la base de datos. Almacenan datos en
una memoria caché desconectada. La estructura de un conjunto de datos es similar a la de una base de datos
relacional; expone un modelo jerárquico de tablas, filas y columnas. Además, contiene restricciones y relaciones
definidas para el conjunto de datos.

Alias. Los “Alias” son nombres o identificadores alternos para las rutas de acceso o bases de datos.

Etiqueta. Conjunto de caracteres unido a un grupo de datos que sirve para identificarlo.

Maestro. Es la tabla principal y de mayor importancia, de la cual se extrae la información que se está definiendo.
La definición de una tabla como maestro se realiza en las propiedades de las tablas disponibles o al generar un
nuevo query, el maestro está asociado en el valor del parámetro desde otra Tabla de datos.

2.4 Estructura general de un reporte


Conocer la estructura general de un reporte es de suma importancia, pues siempre que se modifique alguno de
ellos se debe identificar en qué sección del reporte se está trabajando. Las diferentes secciones que forman un
reporte se muestran en la Figura 2.4-1 y son:

• Encabezado del Reporte: Ésta sección se utiliza para colocar datos como el nombre de la empresa,
títulos del reporte, entre otros y las bandas que regularmente se agregan son, la banda de título,
encabezado de página, y encabezado de columna, estas se diseñan por medio de una banda estándar, en
donde se puede configurar los datos generales que ayuden a identificar el reporte.
• Detalle del Reporte: Esta sección se utiliza para colocar la información detallada que conformará el
reporte como listado de productos, partidas de una factura, lista de cuentas, artículos, etc. En ésta
sección se pueden insertar las bandas siguientes: Bandas de subdetalle, Grupo de bandas, Banda hija.
• Pié del reporte: Se utiliza para colocar la información final del reporte como totales y datos finales, las
bandas más comunes para ésta sección son sumas, pié de página, entre otras.

Notas del asistente:

Guía Curso Editores 4


Como se puede observar las secciones de un reporte se manejan por medio de bandas, cada una de ellas tienen
una función diferente.

Encabezado
del reporte

Detalle

Pié del
Reporte

Figura 2.4.-1 Estructura general de un reporte

Ahora bien, para generar un reporte se requiere conocer los elementos de un formato, estos se muestran en la
Figura 2.4.-2

Notas del asistente:

Guía Curso Editores 5


Etiquetas

Bandas

Campos de datos

Figura 2.4-2 Elementos del formato

Los tres elementos más importantes de un formato son las "Etiquetas", los "Campos de datos" y las “Bandas”. Las
etiquetas (Label) son usadas para imprimir texto, por ejemplo, un título o datos que no tienen conexión con la
base de datos. Los campos de datos (Datafield) son un punto de referencia para que el "Reporteador" obtenga su
información de un "Conjunto de datos" (Dataset) y la coloque en el área del reporte donde se estableció el
"Campo de datos". Usualmente las etiquetas son colocadas para referenciar a los campos de datos, con el
objetivo de hacer que el reporte sea más entendible, mientras que las bandas, son las áreas donde se colocan las
etiquetas mencionadas.

2.5 Barra de herramientas


La barra de herramientas se conforma por botones que al dar clic en ellos, ejecutan de inmediato las funciones
más importantes del Editor de reportes, estos se muestran en la Figura 2.5-1.

Figura 2.5-1 Barra de herramientas.


Se pueden cambiar algunas propiedades de los elementos del reporte que se esté utilizando, directamente con
los botones de la barra de herramientas, al hacer clic sobre cada botón y se desplegará el diálogo donde se
definen las propiedades de los elementos.

Notas del asistente:

Guía Curso Editores 6


Botones Función
Estos botones se utilizan para crear un reporte en blanco, guardar los cambios y abrir un
reporte existente.
Para guardar el reporte con un nombre y ubicación diferente, imprimir y mostrar una vista
preliminar.
Con estos botones los elementos de reporte pueden ser cortados, copiados o pegados
desde el portapapeles del diseñador de reportes.
Estos botones son usados para colocar un elemento de reporte atrás o arriba de otros
elementos de reporte, en el caso de elementos sobre puestos.
Estos botones se utilizan para configurar la impresión del reporte, para modificar y/o
generar un nuevo query, además de mostrar las tablas disponibles en el reporte.

Los elementos (como etiquetas o valores de campos) del reporte, pueden ser alineados en la presentación del
reporte con los botones de la barra que se muestra en la figura 2.5-2. Algunos de ellos sólo están disponibles
cuando varios elementos están seleccionados.

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

Para utilizar estas funciones, se debe seleccionar los elementos, figuras, imágenes, etc., con la tecla u y
haciendo clic sobre los elementos que se desea modificar su ubicación en el reporte, ya sean: figuras, imágenes,
etc., se pueden seleccionar varios elementos al mismo tiempo mientras estos formen parte de la misma banda, o
se trate de los elementos que formen parte del reporte en general. Una vez seleccionados los elementos se debe
elegir el tipo de alineación requerida con los botones de la barra anterior.

En algunas ocasiones, se requiere de cambiar la presentación de los textos (tipo de letra, tamaño, alineación,
etc.) para una mejor apariencia del reporte, para ello será de gran ayuda la barra de formato de texto que se
muestra en la figura 2.5-3:

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

Con ésta banda se puede cambiar la fuente del texto, tamaño, color, atributo, alineación o bien, agregar un
marco alrededor de la etiqueta.

2.6 Propiedades del elemento de un reporte


Después de editar las propiedades del elemento de reporte de acuerdo a los requerimientos, se debe presionar el
botón "Aceptar" para cerrar el diálogo y aceptar los cambios. Si en lugar de Aceptar se da clic en "Cancelar",
todos los cambios serán ignorados, si por ejemplo, se estaba insertando un nuevo elemento, éste no será
agregado al reporte.

La descripción acerca de las diferentes propiedades de cada elemento de reporte se localiza en la descripción
individual de cada elemento.

Notas del asistente:

Guía Curso Editores 7


2.6.1 ¿Cómo modificar un elemento del reporte?
Las propiedades de un elemento del reporte pueden ser cambiadas en cualquier momento durante el diseño del
reporte. Para ello se selecciona el elemento deseado y al hacer doble clic con el botón izquierdo del ratón, o
presionar el botón derecho y seleccionar la opción "Editar" del menú flotante, el diálogo de propiedades para el
elemento de reporte seleccionado aparecerá y es el mismo diálogo que aparece cuando se inserta un nuevo
elemento de reporte. La imagen 2.6.1-1 muestra el diálogo de propiedades para una "etiqueta".

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

2.7 Barra de elementos del reporte


Los botones para agregar los “Elementos del reporte” se encuentran en la parte superior de la ventana del
diseñador.

2.7-1 Barra de elementos.

Para agregar un elemento al reporte se debe presionar el botón y después hacer clic en el reporte en el lugar
donde se quiere que sea insertado el elemento. Después se podrá mover el elemento de reporte a cualquier otro
lugar.

Cuando se agregue nuevas bandas de reportes no importará donde se haga clic, ya que la posición de cada banda
se determina automáticamente dependiendo el tipo de cada una de ellas (Encabezado, Título, Pie de página, etc).

A continuación se muestra la función de cada uno de los elementos del reporte.

Seleccionar / mover elemento. Se utiliza para seleccionar elementos, cambiarlos de posición o


modificar su tamaño.

Banda estándar. Una banda es el elemento de un informe que representa una sección en la cual se
pueden agrupar campos que tienen alguna característica en común

Todas las bandas del reporte son agregadas mediante el mismo botón ubicado dentro de la barra de
herramientas. Por cada banda, se deben definir ciertas características:

Notas del asistente:

Guía Curso Editores 8


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

1. Tipo: El tipo de banda es seleccionado en el diálogo de propiedades de la banda que se despliega.


Dependiendo el tipo de banda que se defina, es la presentación de la mismas en el cuerpo del
reporte, los tipos de banda con los que se cuentan son:
• Título: La banda de título se imprimirá en la primera página del reporte como un título de
reporte.
• Encabezado de página: La información definida en la banda se imprimirá en la parte superior de
cada página del reporte.
• Encabezado de columna: El encabezado de columna es utilizado con reportes que tienen varias
columnas, en este caso, el sistema en cada página del reporte imprimirá el encabezado de
columnas.
• Detalle: La banda de detalle es la más importante de un reporte. Se imprime una vez por cada
registro de datos de la tabla principal del reporte.
• Encabezado de grupo: El encabezado de grupo se refiere al formato o título que se le dará a
cada columna de datos para identificarlos, el encabezado de grupo no se imprime.
• Pie de grupo: El pie de grupo se imprime al final de cada grupo, antes de que un nuevo grupo
comience a imprimirse. Para mayor información sobre grupos, se debe consultar la sección
donde se describe el Grupo de bandas.
• Sumas: Las sumas se refieren a los totales de las expresiones especificadas dentro de la banda
en el reporte. Se pueden definir etiquetas para identificar los totales.
• Pie de página: La banda definida de esta manera, se imprime en la parte inferior de cada página
del reporte.
• Banda de Repetir: Permite repetir los elementos que se encuentren dentro de dicha banda el
número de veces que se indique en las propiedades.

Notas del asistente:

Guía Curso Editores 9


2. Opciones de impresión de una banda: Uno de los datos que se definen por banda son las opciones
de impresión, (Figura 2.7-3) con ellas se puede definir cada cuando se imprime la banda que se está
modificando, por ejemplo, el total de un reporte sólo se debe imprimir el final del reporte, en
cambio los encabezados de columnas se deben imprimir en cada página del reporte.

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

A continuación se describen las diferentes opciones de impresión:


• Descartar en página Inicial: Al marcar esta opción la banda se omite en la primer página del reporte.
• Descartar en página Final: Al marcar esta opción la banda se omite en la última página del reporte.
• Numerar páginas: Con esta opción se numeran las páginas tantas veces como se imprima la banda.
• Páginas Impares solamente: Solamente se imprimirá la banda en páginas Impares.
• Numerar al final de la Página: Sirve para numerar en la parte inferior de la página.
• Forzar nueva página: Cada que se imprima la banda se hará en una hoja nueva.
• Forzar nueva columna: Cuando se llegue a esta banda la impresión comenzará en otra columna.

Además de las opciones anteriores, es posible indicar alguna expresión o condicionante para permitir o
no la impresión de la banda en el reporte, mediante la opción:

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

¿Cuándo es útil esta opción? por ejemplo, dentro de Aspel-SAE 4.0 en el reporte de Acumulados de
Clientes, se desea imprimir únicamente aquellos clientes que tengan Ventas Anuales mayores a
$100,000.00, por lo tanto la expresión quedaría así: dtsClie_Cat.VTAS>100000.

Notas del asistente:

Guía Curso Editores 10


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

3. Agregando un marco a la banda: Se puede incluir un marco a la banda, para delimitar información
si así se desea, con diferentes estilos de líneas y colores.

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

4. Encadenar con la banda: Esta opción relaciona dos bandas para que sus datos estén relacionados,
el sistema mostrará todas las bandas que están en el reporte para que se pueda elegir a la que se
desea encadenar o relacionar.

Figura 2.7-7 Propiedades de la banda estándar


Notas del asistente:

Guía Curso Editores 11


Banda hija

Una banda hija es una banda que es ligada a otra banda de reporte y la cual se imprimirá debajo de su banda
padre. De esta manera, se podrá imprimir una banda adicional después de cada banda de detalle. La ventaja de
utilizar bandas hija en lugar de sólo cambiar el tamaño de la banda padre para hacer que alcancen más elementos
de reporte es que éstas pueden ser, si es necesario, un salto de página entre una banda y su hija, y la banda hija
puede imprimirse independientemente de su banda padre, aún si la banda padre no se imprime.

Se debe usar bandas hija si se tienen elementos de reporte con la propiedad "Ajustar" puesta en verdadero y si se
desea imprimir el elemento abajo como un campo ajustable. En este caso, se deben colocar todos los elementos
que serán movidos hacia abajo automáticamente a causa de los elementos con auto estrechamiento antes de
ellos en la banda hija.

Figura 2.7-8 Propiedades de una banda hija

A diferencia de la banda padre, para una banda hija es forzoso especificar una banda padre.

Banda de subdetalle

Una banda de subdetalle es una clasificación de la banda de detalle, pero es un integrante de la banda de detalle
real. Por ejemplo: Si se quiere imprimir un reporte de los clientes con datos como dirección, correo, teléfono, etc,
y por cada cliente imprimir la lista de los contactos que se tiene, se deberá usar una banda de subdetalle para
imprimir los contactos debajo de cada cliente. Para usar esta tabla, es necesario que se cree una conexión a la
tabla correspondiente (llamada "Tabla maestra") mediante la opción de Configuración de base de datos.

En una banda de subdetalle se debe definir:

• Tabla: En este campo se debe definir el Conjunto de datos del cual se tomará la información para la
banda de subdetalle.
• Color: Esta propiedad define el color del fondo de la banda del reporte.
• Maestro (tabla principal): "Maestra" es la tabla de mayor importancia para la tabla de subdetalle. Por
cada registro de datos en la tabla maestra se imprimirá una lista de subdetalle. Siguiendo con el ejemplo
planteado anteriormente, por cada cliente se imprimirá su listado de contactos, por ello en el campo
Maestro se definió la tabla: dtsClie_Cat.

Notas del asistente:

Guía Curso Editores 12


Figura 2.7-9 Banda de Subdetalle.

Ejemplo de una banda de subdetalle ya asociada a la tabla principal Figura 2.7-10 y una vista previa del reporte de
catálogo de clientes con sus contactos.

Banda de
Detalle

Banda de
Subdetalle
Figura 2.7-10 Vista preliminar del reporte

Notas del asistente:

Guía Curso Editores 13


Grupo de bandas

Un grupo de bandas es utilizado para estructurar información en grupos de registros de datos. Por ejemplo: si
quieres imprimir una lista de direcciones, puedes agregar algunos espacios antes de que inicie cada nueva letra e
insertar algún subtítulo, o puedes agrupar direcciones por ciudad o estado.

Internamente los grupos son manejados de la siguiente manera: antes de imprimir un registro de datos, el
generador del reporte verifica si el resultado de la expresión del grupo es diferente del resultado de la expresión
del último registro de datos. Si esto es así, el grupo se imprimirá, de otra forma no. De esta manera, los datos
pueden ser agrupados con gran flexibilidad, dado que puedes utilizar las expresiones para aproximaciones o
cualquier otro tipo de cálculos.

Cuando se define un grupo de bandas, es necesario especificar un Maestro, así como una banda de pie de grupo.

Figura 2.7-9 Propiedades de la banda de grupo.

A continuación se describirá de manera general cada una de las herramientas que se pueden utilizar dentro de un
Reporte qr2.

Etiquetas / Label

Una etiqueta sirve para imprimir texto estático, por ejemplo, texto que se imprime exactamente igual a como se
despliega durante el diseño del reporte.

Memos

Un memo es usado para imprimir texto que tiene más de una línea. Así como las etiquetas, un memo despliega
texto en un color y tipo de letra. Si quiere usar texto con formato, deberás utilizar un campo de Texto con
formato (Richtext)

Notas del asistente:

Guía Curso Editores 14


Imágenes

Un elemento imagen es un mapa de bits de un archivo en formato *.BMP,*.WMF,*.EMF o *.ICO que se inserta en
el reporte.

Figuras

Este elemento de reporte puede ser utilizado para dibujar (horizontalmente o verticalmente) líneas, círculos y
rectángulos.

Campos del sistema


Este elemento es utilizado para desplegar información del sistema como la hora o la fecha, el número de página,
etc.

Campo de datos

Mediante un campo de datos se puede agregar algún campo obtenido mediante alguna Tabla o Query del
Reporte.

Figura 2.7-10 Propiedades del campo del sistema

Figura 2.7-11 Propiedades de un campo de datos


Notas del asistente:

Guía Curso Editores 15


El campo Formato se utiliza para definir la máscara del dato a desplegar, por ejemplo: ·###,###,###.##

Imágenes desde un campo de datos

Mientras que un campo de datos se utiliza para desplegar texto desde un registro de una base de datos, se puede
utilizar este elemento de reporte para desplegar imágenes que se encuentren almacenadas en una base de datos.

Campo de expresiones

Un campo calculado (campo de expresiones) es utilizado para desplegar texto o datos que son calculados por
medio de una expresión o fórmula. Puedes realizar cálculos numéricos, manipulación de cadenas, concatenación
de campos de datos y mucho más.

Figura 2.7-12 Propiedades de un campo calculado

La posibilidad de Agregar un campo calculado sólo se presenta al utilizar un reporte con formato qr2. Sólo es
necesario indicar la expresión con la cuál se calculará el valor del campo a imprimir.

Texto de comando

El texto con formato es un elemento de reporte que puede desplegar múltiples líneas de texto con diferentes
tipos de letra, colores y formatos. En el diálogo de propiedades del texto con formato presiona el botón "Editar"
para desplegar el editor de texto desde donde se pueden editar las propiedades del texto con formato.

Texto con formato desde un campo de datos

Este elemento de reporte despliega texto con formato de un campo de datos.

Notas del asistente:

Guía Curso Editores 16


2.8 Crear un nuevo reporte

 Ruta de acceso: Reportes / Administrador de Reportes / haciendo clic sobre el botón .

Desde el Administrador de reportes se agrega un nuevo reporte o se modifica alguno que ya está previamente
configurado, para adaptarlo a las necesidades de la empresa.

Si se está creando un nuevo reporte, el sistema mostrará el reporte en blanco, de tal manera, que se podrán ir
agregando: las bandas, etiquetas, base de datos, etc, según se requiera. Para configurar el reporte se deben
considerar los siguientes aspectos:

Figura 2.8-1 Nuevo reporte en Aspel-COI 5.5

2.9 Campos de la base de datos

Se activa al abrirse el reporte o con el botón y consiste en una lista con todos los campos disponibles y
manejados en tu sistema de Aspel para la base de datos y catálogo seleccionado. Por ejemplo, en la figura 2.9-1
se muestran los campos de la base de datos de Aspel-COI del catálogo de cuentas.

Figura 2.9-1 Campos de la base de datos


Notas del asistente:

Guía Curso Editores 17


Para la edición y modificación de los campos que se listan en esta ventana se podrán realizar desde la opción de
base de datos:

• Los botones (Editar, Añadir, Borrar, Añadir campos calculados y asociados) en este diálogo estarán
deshabilitados si no se tiene acceso a la edición de los campos de la base de datos.
• Se pueden remover (borrar) campos individuales de una base de datos, pero éstos nunca más estarán
disponibles en el diseñador de reportes, o bien se pueden editar las propiedades del campo.
• Una etiqueta puede ser asociada a cada campo de dato, la cual es usada como un nombre de alias en el
diseñador de reportes. De esta manera, se pueden tener nombres de campos descriptivos sin que la base
de datos físicamente los tenga, por ejemplo, el campo "NUM_CTA" puede ser reemplazado con
"Cuenta”, esto mediante el botón Editar.
• Se utiliza la línea de edición "Formato" dentro del botón Editar, para dar formato a los campos
numéricos (ver Formato de campos numéricos) y la opción "Precisión" determina hasta cuantos dígitos
decimales se desplegarán después del punto decimal.

2.10 Configuración de base de datos


 Ruta de acceso: Desde el Diseñador de Reportes, con el botón

En la mayoría de los casos cada reporte necesita de al menos un "Conjunto de datos", el cual proporcionará los
registros de datos para el reporte. Se puede definir todos los "Conjuntos de datos" y sus relaciones mediante el
programa de configuración de bases de datos.

El diálogo que el sistema presenta, muestra la base de datos principal para el reporte, que será la base de datos
que el reporte recorrerá y de la cual imprimirá todos los registros de datos. Debajo de la tabla principal del
reporte se encuentra la lista de todas las bases de datos disponibles para el reporte.

Figura 2.10-1 Configuración base de datos

Notas del asistente:

Guía Curso Editores 18


Nuevo/ Query
Desde aquí se podrá proporcionar una consulta (query) en lenguaje SQL y si la consulta tiene parámetros, se
podrán establecer sus valores.

Figura 2.11-1 Creación de consulta


Propiedades
Muestra un diálogo con la configuración de la consulta (query) seleccionada. Si los campos de este diálogo están
deshabilitados, no se podrá cambiar la configuración de la base de datos. Se debe establecer el nombre de la
consulta, la cual será utilizada por el diseñador del reporte cuando un conjunto de datos necesite ser
seleccionado. Este nombre es como un alias y no afectará físicamente el nombre de la consulta. Por omisión el
nombre propuesto es “Dataset1”, tal vez quieras cambiar el nombre a "Cuentas" para ser un poco más
descriptivo. El nombre no afectará la impresión del reporte, sólo es utilizado durante el diseño.

Figura 2.12-1 Propiedades de la consulta


Notas del asistente:

Guía Curso Editores 19


Campos
Según la tabla seleccionada este botón desplegará todos los campos que contiene dicha tabla.

Figura 2.13-1 Campos de la tabla

Borrar
Este botón permite borrar las tablas que se encuentren agregadas dentro de esta sección, el sistema enviará el
siguiente mensaje antes de eliminar dicha tabla: "Si borra esta tabla, todos los elementos que la usan serán
inválidos. Continuar?"

Figura 2.14-1 Borrado de consulta

Notas del asistente:

Guía Curso Editores 20


Ver datos
El sistema mostrará el resultado de la consulta definida.

Figura 2.15-1 Vista de los datos de la consulta

2.11 Ver una presentación preliminar y grabar el reporte

Durante todo el proceso de creación del reporte, se podrá obtener una Presentación preliminar, con el botón d él
el reporte aparecerá en pantalla tal y como se imprimirá y se podrá verificar la orientación del reporte

Figura 2.16-1 Presentación preliminar del reporte

Notas del asistente:

Guía Curso Editores 21


 Práctica 1: Creación de un reporte de cuentas en Aspel-COI.
A continuación se generará un nuevo reporte desde Aspel-COI, el cuál tendrá como finalidad mostrar el catálogo
de cuentas, agregando ciertas características.

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

Figura 2.16-2 Creación del reporte.


g) Guardar el reporte con el nombre de cat_ctas.qr2
h) Generar la presentación preliminar del reporte, la cual será similar a la mostrada en la figura 2.16-3:

Figura 2.16.3 Presentación preeliminar del reporte.

Notas del asistente:

Guía Curso Editores 22


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

Figura 2.16.4 Seleccionando el informe de la tabla.

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.5 Presentación preeliminar del reporte.

Notas del asistente:

Guía Curso Editores 23


l) En la banda de Detalle, dar doble clic en el campo Total de Cargos y en la opción Formato, colocar la
siguiente máscara: ###,###,##0.00 e indicar la alineación Derecha.
m) Mostrar la vista preliminar, ¿Qué efecto tuvo la máscara escrita anteriormente sobre los valores de
la columna?
n) Realizar la misma acción del inciso k en las siguientes 2 columnas.

Figura 2.16.6 Presentación preeliminar del reporte con formato de valores.

o) Agregar la banda de nombre Sumas.

p) Insertar un campo de Expresión con el botón .


q) En la sección de nombre Expresión, escribir la operación SUM(qryCuentas.DEBECONTAB) como se
muestra en la figura 2.16-7, además del formato y alineación indicados.

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

Notas del asistente:

Guía Curso Editores 24


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

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

 Práctica 2: Creación de un reporte con formato en Aspel-SAE.

A continuación se generará un reporte desde Aspel-SAE en donde se pretende mostrar el monto de crédito
disponible para cada cliente.

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

Notas del asistente:

Guía Curso Editores 25


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

2.12 Generación de consultas mediante el lenguaje SQL (query’s)


Las consultas permiten explotar y manipular la información de una forma extraordinaria, haciendo uso de SQL
proveniente del acrónimo Structure Query Lenguaje (Lenguaje estructurado de Consultas). Este lenguaje
contiene una sintaxis universal en la mayor parte de su diccionario, por lo cual su aprendizaje y aplicación viene
acompañado de muchos beneficios.

Para poder emitir “Reportes resumen” y mostrar la información de manera clara, es necesario seleccionar los
registros que cumplan con las características de la información que se desea obtener, y esto se puede lograr
definiendo ciertos filtros. Para lograrlo, no basta con obtener los campos directamente de las tablas, y es
necesario elaborar query’s o consultas precisas que sólo arrojen los registros que cumplan todas las condiciones
establecidas. El uso de consultas optimiza el tiempo para la emisión de los reportes.

Notas del asistente:

Guía Curso Editores 26


2.12.1 Sentencias SQL
Las sentencias SQL pertenecen a dos categorías principales: Lenguaje de Definición de Datos, DDL y Lenguaje de
Manipulación de Datos, DML. Estos dos lenguajes no son lenguajes en sí mismos, sino que es una forma de
clasificar las sentencias de lenguaje SQL en función de su cometido. La diferencia principal reside en que el DDL
crea objetos en la base de datos y sus efectos se pueden ver en el diccionario de la base de datos; mientras que el
DML es el que permite consultar, insertar, modificar y eliminar la información almacenada en los objetos de la
base de datos.

Cuando se ejecutan las sentencias DDL de SQL, el SGBD confirma la transacción actual antes y después de cada
una de las sentencias DDL. En cambio, las sentencias DML no llevan implícito el commit y se pueden deshacer.
Existe pues un problema al mezclar sentencias DML con DDL, ya que estas últimas pueden confirmar las primeras
de manera involuntaria e implícita, lo que en ocasiones puede ser un problema.

Nota: Cuando un query marca (closed), es debido a que al editar el query se está haciendo referencia a algún
archivo que “No existe”, por lo cual el query no está disponible. Para corregirlo bastará con editar el query e
indicar el nombre de algún archivo que “Si exista”.

Figura 2.17.1-1 Referencias no validas en la consulta.

2.12.2 Comandos DML

Para efectos del Editor gráfico de reportes solo se considerarán los comandos DML:

Comando Descripción
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.
INSERT Utilizado para cargar bloques de registros en la base de datos en una única operación.

Notas del asistente:

Guía Curso Editores 27


Existen también una serie de cláusulas las cuales permiten condicionar o filtrar la información que se está
consultando o manipulando.

Cláusula Descripción
FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros.
Utilizada para especificar las condiciones que deben reunir los registros que se van a
WHERE
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
Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
ORDER BY
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
Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son
AND
ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es
OR
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 28


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.

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

e) Al aceptar la consulta, ésta se mostrará en el listado, sólo bastará seleccionarla y pulsar el botón de
“Ver datos” para conocer el resultado.

Notas del asistente:

Guía Curso Editores 29


Seleccionar Pulsar el
la consulta botón para
creada ver los
resultados

Figura 2.17.2.1-2 Ejemplo del query generado

Figura 2.17.2.1-3 Resultado del query generado.

SELECT
Selecciona los registros de una tabla.

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

Notas del asistente:

Guía Curso Editores 30


Ejemplos:
SELECT * FROM CLIE01

\* Selecciona todos los registros de la tabla del Catálogo de clientes.

SELECT CLIE01.NUM_REG, CLIE01.CCLIE, CLIE01.NOMBRE, CLIE01.LIM_CRED, CLIE01.SALDO


FROM CLIE01

\* Selecciona explícitamente los campos: CLIE01.NUM_REG, CLIE01.CCLIE, CLIE01.NOMBRE, CLIE01.LIM_CRED,


CLIE01.SALDO del Catálogo de clientes, en vez de mandar llamar todas las columnas con el comodín (*), se
recomienda que en lo sumo posible se use el nombre de la tabla y nombre del campo separados por un punto (.)
ya que es posible que al escribir una consulta donde se haga referencia a dos tablas y en ambas tablas exista un
campo con el mismo nombre se pueda saber a cual se hace referencia.

AS
Es una funcionalidad del lenguaje que permite establecer un alias a un campo u operación es decir, llamar a un
campo por un nombre distinto del que tiene establecido en su estructura.

Sintaxis:
SELECT (Tabla.Campo1) AS Alias FROM Tabla

Ejemplo:
SELECT (CLIE01.LIM_CRED) AS LIMITE_CREDITO FROM CLIE01

\* El campo CLIE01.LIM_CRED se le puede llamar completamente LIMITE_CREDITO.

2.12.2.2 Predicado en consultas


Estas consultas son aquellas donde se le indicará una serie de cláusulas para que la información sea filtrada por
criterios específicos.

WHERE
Se utiliza para indicar criterios de selección en relación a un o más campos, haciendo uso de operadores lógicos y
aritméticos.

Sintaxis:
SELECT Campos FROM Tabla
WHERE Campo [Operador] Criterio

Ejemplo:
SELECT * FROM CLIE01
WHERE Status = ‘A’

\* Devuelve todos los registros del Catálogo de clientes que tengan estatus Activo “A”.

ORDER BY
Este comando ordena los registros por el campo indicado en un orden especifico, que de forma predeterminada
es Ascendente ASC o puede ser Descendente con al indicación DESC.

Sintaxis:
SELECT Campos FROM Tabla
ORDER BY Campo ASC/DESC

Notas del asistente:

Guía Curso Editores 31


Ejemplos:
SELECT * FROM CLIE01
ORDER BY NOMBRE ASC

\* Devuelve el Catálogo de clientes ordenado alfabéticamente.

SELECT * FROM CLIE01


WHERE STATUS = ‘A’
ORDER BY Nombre DESC

\* Devuelve el Catálogo de clientes donde STATUS sea Activo “A”, ordenado alfabéticamente, en orden
descendente. En este caso se utilizo el operador =, sin embargo se pueden hacer evaluaciones mas especificas
con los operadores <,>, <>, <=, >=, etc.

SELECT * FROM CLIE01


WHERE SALDO >= 15000
ORDER BY CCLIE ASC

\* Devuelve el Catálogo de clientes donde el saldo sea mayor o igual a 15,000, ordenado de forma
ascendentemente por la clave. Se pueden hacer búsquedas mas especificas anidándolas por medio de AND.

SELECT * FROM CLIE01


WHERE SALDO >= 15000 AND SALDO <= 50000
ORDER BY CCLIE ASC

\* Devuelve el Catálogo de clientes donde el saldo sea mayor o igual a 15,000 y menor o igual a 50,000, se puede
usar AND para concatenar evaluaciones de campos diferentes. Esta consulta también se puedo haber escrito con
el operador BETWEEN.

BETWEEN
Extrae un rango específico de datos provenientes de algún campo de una tabla.

Sintaxis:
SELECT Campos FROM Tabla
WHERE Campo BETWEEN dato_Inicial AND Dato_Final

Ejemplo:
SELECT * FROM CLIE01
WHERE SALDO BETWEEN 15000 AND 50000
ORDER BY CCLIE ASC

DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de cada
campo listado en la instrucción SELECT se incluyan en la consulta deben ser únicos.

Sintaxis:
SELECT DISTINCT Campos FROM Tabla

Ejemplo:
SELECT DISTINCT CVE_ART FROM FA0TY1

\* Esta tabla almacena las partidas de las ventas y por lo tanto, al ejecutar esta consulta se eliminarán los
valores repetidos y sólo aparecerá uno de ellos, para ver la diferencia, se debe ejecutar la sentencia que mostraría
todos los registros, por ejemplo: SELECT CVE_ART FROM FA0TY1 ORDER BY CVE_ART, dicha sentencia mostrará
todos los registros, incluyendo los que se repitan de forma ordenada y se notará la diferencia.

Notas del asistente:

Guía Curso Editores 32


2.12.2.3 Funciones de Agrupación
Estas funciones permiten agrupar información ya sea por igualdad en los datos de los campos o por la aplicación
de alguna función aritmética. Al ser usadas implica que se deben aplicar a cada uno de los campos que se
invoquen en la consulta, por lo tanto se va hacer omisión del comodín (*).
Algunas de ellas solo son aplicables a campos que tengan algún tipo de datos numérico.

GROUP BY
Combina los registros con valores idénticos, en la lista de campos especificados, en un único registro. Para cada
registro se crea un valor sumario sí se incluyera una función SQL agregada, como por ejemplo Sum o Count, en la
instrucción SELECT.

Sintaxis:
SELECT campos FROM tabla WHERE criterios GROUP BY campos del grupo

Ejemplo:
SELECT FA0TY1.CVE_DOC
FROM FA0TY1
GROUP BY FA0TY1.CVE_DOC

\* Devuelve una lista agrupada de los documentos generados en las partidas, que se podría comparar con la lista
de los encabezados para saber que existen los mismos documentos en un archivo y otro.

GROUP BY es opcional. Los valores de resumen se omiten si no existe una función SQL agregada en la
instrucción SELECT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los
valores Null no se evalúan en ninguna de las funciones SQL agregadas.
Se utiliza la cláusula WHERE para excluir aquellas filas que no se desean agrupar, y la cláusula HAVING para
filtrar los registros una vez agrupados.

AVG
Calcula la media (promedio) de un grupo de registros. La media calculada por Avg es la media aritmética (la
suma de los valores dividido por el número de valores). La función Avg no incluye ningún campo Null en el
cálculo y forzosamente utiliza un alias para el campo.

Sintaxis:
SELECT AVG (CampoX) AS Alias FROM Tabla

Ejemplo:
SELECT AVG(CLIE01.SALDO) AS PROM_SALDO
FROM CLIE01

\* Devuelve la media o promedio del saldo de los clientes.

COUNT
Calcula el número de registros devueltos por una consulta y forzosamente utiliza un alias para el campo.
Sintaxis:
SELECT COUNT (CampoX) AS Alias FROM Tabla

Ejemplo:
SELECT COUNT (FACT01.CVE_DOC) AS CLAVE_DOC
FROM FACT01
WHERE FACT01.TIP_DOC = "P"

\* Devuelve el numero pedidos que existen en el catálogo de facturas.

Notas del asistente:

Guía Curso Editores 33


MIN / MAX
Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo especifico de una consulta,
y forzosamente utiliza un alias para el campo.

Sintaxis:
SELECT MAX (CampoX) AS Alias FROM Tabla
SELECT MIN (CampoX) AS Alias FROM Tabla

Ejemplo:
SELECT MAX (CLIE01.SALDO) AS Max_SALDO
FROM CLIE01

\* Devuelve el registro de clientes que tenga el mayor saldo y se puede hacer lo contrario usando la función MIN.

SUM
Devuelve la suma del conjunto de valores contenido en un campo específico de una consulta y forzosamente
utiliza un alias para el campo.

Sintaxis:
SELECT SUM (campoX) AS Alias FROM tabla

Ejemplo:
SELECT SUM(CLIE01.SALDO) AS TOTAL_SALDO
FROM CLIE01

\* Devuelve la suma del saldo de todos los clientes, en un campo llamado TOTAL_SALDO.

Así como las funciones AVG, SUM, MIN y MAX, también existen algunas otras funciones de tipo estadístico.

HAVING
Especifica qué registros agrupados se muestran en una instrucción SELECT con una cláusula GROUP BY. HAVING
es similar a WHERE, que determina los registros que se seleccionan. Después de que los registros se agrupen con
GROUP BY, HAVING determina qué registros se muestran.

Sintaxis:
SELECT campos
FROM tabla
WHERE criterios
GROUP BY campos
HAVING FUNCION(criteriosdegrupo)

Ejemplo:
SELECT FA0TY1.TIP_DOC, FA0TY1.CVE_DOC, COUNT(FA0TY1.CVE_ART) AS DOCTOS
FROM FA0TY1
GROUP BY FA0TY1.TIP_DOC, FA0TY1.CVE_DOC
HAVING COUNT(FA0TY1.CVE_DOC) = "2"

\* Toma del archivo de partidas, aquellos registros que contienen únicamente 2 partidas, y los agrupa por Tipo
de Documento y Clave del Documento y colocando en una tercera columna el número de partidas que está
contando, si se desea, se puede modificar el valor “2” para verificar los resultados.

Notas del asistente:

Guía Curso Editores 34


2.12.2.4 Operadores especiales

IN
Es ocasiones es necesario la recuperación de información que se encuentra contenida en una tabla que no se
encuentra en la base de datos que ejecutará la consulta o que en ese momento no se encuentra abierta, esta
situación la podemos solventar con la palabra reservada IN.

Sintaxis:
SELECT Campos FROM Tabla
IN Valores/Tabla/Ruta “Tipo”

SELECT * FROM CLIE01 WHERE Nombre In ('Gruas y Maniobras Madrid S.A.')

\* Busca los registros que contengan en el campo nombre cualquiera de las coincidencias indicadas.

2.13 Parámetros en las consultas


En ocasiones es necesario que el usuario proporcione algún dato mediante una ventana de captura que
complemente las condiciones para emitir el Reporte de acuerdo a los requerimientos. Para ello, en la definición
de un query es posible recibir parámetros en base a tres posibles criterios: un valor fijo, un dato capturado por
el usuario o un campo como resultado de otra consulta previa. Para identificar cuando un query hace
referencia a algunos parámetros, al ingresar a la configuración de la Bases de datos, seleccionar un query, y
consultar sus propiedades, un parámetro puede distinguirse por los dos puntos que le anteceden al nombre del
campo.

Ejemplo: Se requiere imprimir un reporte con datos específicos pero por cada cliente, para éste caso, se agrega la
siguiente instrucción:

SELECT * FROM CLIE01 WHERE CCLIE =:CLAVE_CLIENTE

El campo CLAVE_CLIENTE es un campo que se espera adopte su valor de acuerdo a la definición establecida para
dicho parámetros.

Figura 2.18-1 Definición y asignación de valor a los parámetros de un query

Notas del asistente:

Guía Curso Editores 35


Las tres posibilidades para asignar el valor a un Parámetro son:

• Valor
Al seleccionar Valor, se deberá especificar un valor de acuerdo al tipo de datos que se haya seleccionado.

• Verificar datos antes de imprimir


El dato será solicitado mediante una ventana al usuario, pidiendo el valor de acuerdo al tipo de datos
seleccionado en los parámetros de la variable.

• Asignar valor desde el conjunto de datos maestro


El parámetro tomará su valor de acuerdo al conjunto de registros que fueron resultado del otro query
“maestro” asignando el query a que pertenece el parámetro. Es decir, se crea una dependencia del query
en que se utiliza el parámetro de un query anterior o con mayor prioridad.

2.14 Exportación de un reporte o documento a formato PDF


Una característica importante que se incluyó en Aspel-SAE 4.0 mediante el Editor de reportes es la exportación a
formato PDF, el cual permite enviar un Reporte con una mejor presentación. Un ejemplo de su uso puede ser el
envío de una cotización a un cliente.

Para poder hacer uso de esta característica es necesario que se utilice un formato qr2 para la emisión del

documento o reporte., cuando se tenga la vista preliminar, se debe hacer clic en el botón .

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

A continuación el sistema presentará el diálogo “Salvar reporte” donde se deberá especificar el directorio y
nombre para guardar el archivo y el tipo, que en éste caso será PDF.

Notas del asistente:

Guía Curso Editores 36


Seleccionar
el tipo PDF

Figura 2.19-2 Seleccionando el tipo de documento.

2.15 Modificar un reporte


Consiste en poder modificar cualquiera de los reportes que ya están previamente configurados y se puede
modificar un reporte de acuerdo a las necesidades de información. Por ejemplo, supóngase que se requiere
modificar el reporte que se utiliza para la impresión de facturas digitales, llamado Emisión de facturas
digitales.qr2 de Aspel-SAE para agregar a los datos del cliente los datos de CODIGO, TELEFONO, COLONIA, los
cuales no se están desplegando en el formato por omisión. Existen dos formas para poder modificar un reporte
qr2:

1. Generar un query dinámico con un formato para Factura Electrónica


a) En Aspel-SAE, acceder al Administrador de reportes desde el modulo de Facturas y Vendedores, se

elige el reporte Facturas Digitales y con el botón se podrá modificar.

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

b) Ya desde el diseñador de reportes y en la barra de herramientas seleccionar la opción ‘Configuración

de base de datos’ agregar nuevo query.


Notas del asistente:

Guía Curso Editores 37


c) Indicar la instrucción SQL: SELECT CODIGO, TELEFONO, COLONIA FROM CLIE01 WHERE CCLIE=
:CVE_CLPV, en el botón de parámetros indicar para el campo CVE_CLPV la opción ‘Asignar valor
desde el conjunto de datos maestro’ y para la lista desplegable de la tabla ‘Maestra’ indicar el valor
‘dtsFacturasDeta’.

Se asigna
nombre al
Query.

Se escriben las
instrucciones
del el Query.

Se asigna el
conjunto de
datos maestro.

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

d) Guardar el query y desde la nueva tabla disponible de nombre CLIENTES seleccionar los campos
‘COLONIA, CODIGO, TELEFONO’ del nuevo query que se generó en el paso C, y arrastrarlo hasta la
sección de detalle de partidas del reporte qr2 en el lugar campo de descuento.

Notas del asistente:

Guía Curso Editores 38


Figura 2.20-3 Selección de los campos

¿Qué se logra con las acciones anteriores?, al momento de escribir el query SELECT CODIGO, TELEFONO,
COLONIA FROM CLIE01 WHERE CCLIE= :CVE_CLPV, se está indicando que de la tabla CLIE01, se muestren los
campos de CODIGO, TELEFONO y COLONIA, donde el campo CCLIE (que contiene la clave del cliente) tome el
valor del campo CVE_CLPV que proviene del query o tabla llamada dtsFactElec (que es el conjunto de datos
maestro), de tal forma que cuando la factura sea emitida al cliente 8, únicamente se tomarán los datos de dicho
cliente para los campos de CODIGO, TELEFONO y COLONIA.

 Práctica 3: Modificación de un reporte de Facturas Digitales utilizando consultas dinámicas.


Modificación del reporte Emisión de facturas digitales.qr2 con la adición de los siguientes elementos adicionales:

• Datos del consignatario (cuando en el campo CONSIGNAR colocamos una clave de cliente a donde se va
a enviar la mercancía), dichos campos deben ser colocados en la cabecera.
• Información aduanera de cada producto, que incluye Nombre de la aduana, Fecha y Número de
pedimento.
• Una función para sumar el número de artículos.
• Observaciones del documento.

Para ello:
a) Acceder al Administrador de reportes, modificar el reporte de Emisión de Facturas digitales.qr2 y desde
la barra de herramientas seleccionar la opción 'Configuración de base de datos' y agregar un nuevo
query.
En nombre de la consulta se deberá poner Consig.
b) Indicar la instrucción SQL: SELECT * FROM CLIE01 WHERE CCLIE =:CVE_CONS
En el botón de parámetros indicar para el campo CVE_CONS la opción 'Asignar valor desde el conjunto
de datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor 'dtsFactElect'.
c) Guardar el query y agregar uno nuevo.
d) En nombre de la consulta se deberá poner Clientes.
e) Indicar la instrucción SQL: SELECT * FROM CLIE01 WHERE CCLIE =:CVE_CLPV
En el botón de parámetros indicar para el campo CVE_CLPV la opción 'Asignar valor desde el conjunto de
datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor dtsFactElect
f) Guardar el query y agregar uno nuevo.
g) En nombre de la consulta se deberá poner Inventarios
h) Indicar la instrucción SQL: SELECT * FROM INVE01 WHERE CLV_ART =:CVE_ART
En el botón de parámetros indicar para el campo CVE_ART la opción 'Asignar valor desde el conjunto de
datos maestro' y para la lista desplegable de la tabla 'Maestra' indicar el valor dtsParCFD
i) Guardar el query y agregar uno nuevo.
j) En nombre de la consulta se deberá poner Pedimentos

Notas del asistente:

Guía Curso Editores 39


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


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

Notas del asistente:

Guía Curso Editores 41


Figura 2.20-5: Ejemplo del resultado del reporte.

Notas del asistente:

Guía Curso Editores 42


3. EDITOR DE FORMATOS (*.FTO)

3.1 Definición
Para la elaboración de un reporte en el editor de formatos, se tiene una serie de comandos, fórmulas, campos y
operadores, cada uno de ellos puede variar dependiendo del sistema en que se esté elaborando dicho formato.

En las versiones Aspel-NOI 4.0 y Aspel-PROD 2.0 se podrán generar reportes con la estructura de los formatos
tradicionales FTO desde la opción reportes del usuario, así mismo desde el administrador de reportes con los
sistemas Aspel-BANCO 3.0, Aspel-COI 5.0, y Aspel-SAE 4.0. Adicionalmente podrás consultar y generar reportes
con formato FTO utilizando los comandos y campos del editor de formatos tradicional.

Dentro de esta guía se explica de manera general el uso del editor en cualquiera de los sistemas, las
particularidades que puedan tener cada uno de los sistemas se explicará en su momento.

3.2 Conceptos básicos


• Campo. Un campo es un espacio que guarda la información de los archivos de datos del sistema en uso.

• Ciclo. Permite recorrer los archivos de datos del sistema en uso, con la peculiaridad de que se definen
una sola vez y se ejecutan cuantas veces sea necesario.

• Formato. Un formato se compone de una serie de instrucciones a través de las cuales se le indica al
sistema que ejecute los comandos, ciclos y campos definidos dentro del mismo y se representa en
pantalla o impresora.

• Comando: Es una palabra que el sistema reconoce como una orden y la ejecuta.

• Longitud: Tamaño que tiene cada uno de los campos determinado en número de caracteres. La longitud
puede ser definida de acuerdo al campo, o en campos numéricos se utiliza una longitud definida por una
máscara.

3.3 Características del editor de formatos


• Los sistemas Aspel reconocen en su editor de formatos a los archivos con la extensión *.FTO ya que
facilita su localización.

• Existen dos maneras de ejecutar un formato:


a. En línea: Dentro de los módulos de los sistemas, cuando se graba un documento, a continuación
muestra la ventana de: emisión de documentos, nombre del formato (ya sea el sugerido por el
sistema el que se haya diseñado) y la ruta donde se encuentra el mismo. También dentro de
esta ventana de emisión de documentos se tiene la opción de editar un formato.
b. Menú de REPORTES: Al elegir la opción emisión de documentos, muestra la ventana de emisión
de reportes, en la cual se podrá elegir entre varias opciones de filtrado para la emisión, además
el nombre del formato y la ruta donde se encuentra el archivo *.FTO.

• Permite utilizar la mayoría de los campos que contiene el sistema en la edición de los formatos, algunos
de ellos ya tienen cálculos definidos.

• Cuenta con campos libres, en los cuales se pueden realizar operaciones de cálculo o de asignación de
valores que facilitan el diseño del formato.

• Los comandos se encuentran en español, los cuales permitirán controlar y procesar los datos, todos ellos
también reconocidos por el sistema por las tres primeras letras que forman su nombre y aceptando
indistintamente mayúsculas o minúsculas.

Notas del asistente:

Guía Curso Editores 43


• Se utiliza una aplicación asociada para la edición de cualquier formato, este puede ser cualquier editor
de textos, por ejemplo:
- Bloc de notas
- Edit.com

• Los campos que se utilizan dentro del editor de formatos, pueden cambiar de una versión a otra, de un
sistema a otro e incluso de un modulo a otro.

• La estructura que contiene el editor de formatos es igual para todos los sistemas.

• La razón social se imprime automáticamente en cualquier formato del sistema que este en uso, esto es
por protección del sistema adquirido.

3.4 Estructura general de los formatos


Todos los formatos que instalan los sistemas contienen esquemáticamente la misma distribución, esta es:
a. Parámetros del reporte.
b. Encabezados.
c. Contenido del reporte.
d. Totales.

3.4.1 Parámetros del reporte


Se indica al sistema las características generales que tendrá el reporte, como son: número de caracteres, tipo de
letra, definición de la máscara para las cantidades, dispositivo de salida del formato, etc.

2.4.1.1 Parámetros del reporte

Parámetros
del Reporte

3.4.1-1 Parámetros del reporte.

3.4.2 Encabezados
Define las cualidades del encabezado que lleva el reporte, como la línea divisoria, titulo del reporte, textos,
espacios entre éstos y las líneas, etc.

Encabezados

3.4.2-1 Encabezados del reporte

Notas del asistente:

Guía Curso Editores 44


3.4.3 Contenido del reporte y/o partidas y ciclos
Define los campos que mostrará el contenido del reporte, es decir, los valores a emitir, con los cálculos que se
quieran añadir y las especificaciones o textos complementarios que acompañen a dichas cantidades.

Contenido
del reporte

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

3.4.4 Totales
Esta es la última parte de un formato, la definición de los totales en un reporte, muestra las cantidades
correspondientes y las anotaciones finales que se quieran incluir, como una firma, una raya, etc.

Totales

3.4.4-1 Totales

Dentro de esta estructura, existen comandos que se utilizan con mayor frecuencia dentro de cierta parte del
formato, algunos otros se utilizan indistintamente en cualquier parte del formato.

3.5 Edición de formatos


La edición de formatos permite al usuario poder utilizar los campos definidos por el sistema, así como realizar
operaciones utilizando los operadores y campos utilizando los comandos adecuados.

Para ello se procede a realizar una lista de los operadores, y los comandos así como una lista de los ciclos que se
manejan en cada uno de los sistemas.

3.5.1 Operadores
Para realizar cálculos sobre el contenido de ciertos campos, el editor cuenta con los siguientes operadores:
Operadores Aritméticos y Operadores Lógicos.

Notas del asistente:

Guía Curso Editores 45


3.5.1.1 Aritméticos
Nos permiten realizar operaciones numéricas con las variables.

Operadores aritméticos
+ Suma
- Resta
* Multiplicación
/ División

3.5.1.2 Lógicos
Se usan en combinación de los operadores de comparación cuando la expresión de la condición lo requiere.

Operadores lógicos
And Y
Or O
! No

3.5.1.3 Comparación
Se utilizan principalmente en nuestras condiciones para comparar dos variables
y verificar si cumple o no la propiedad del operador.

Operadores de comparación
== Igualdad
!= Desigual
< Menor que
<= Menor igual que
> Mayor que
>= Mayor igual que

3.5.2 Campos
Los campos están organizados por cada sistema, en algunos casos por módulo y están clasificados por número y
con una longitud. Existen dos tipos de campos:
a. Campos asignados por el sistema.
b. Campos libres numéricos y alfanuméricos.

3.5.2.1 Campos asignados por el sistema


Todos los campos asignados por el sistema contienen información específica de los catálogos y funciones, en
algunos sistemas, los campos pueden estar divididos por módulos como seria el caso del sistema Aspel-SAE, esto
tiene como finalidad que las consultas de los campos sea más rápida y sencilla.

3.5.2.2 Campos libres numéricos y alfanuméricos


Los campos libres numéricos se pueden utilizar para poder asignar algún valor o realizar alguna operación y el
resultado se guarde en esa variable o campo.

Los campos libres alfanuméricos además de poder determinar o asignar algún texto y el valor, se pueden utilizar
para solicitar información al momento de la emisión del reporte.

Notas del asistente:

Guía Curso Editores 46


3.5.3 Comandos con sintaxis
A continuación se muestra una lista en orden alfabético de todos los comandos con un ejemplo de cómo se
pueden utilizar, cabe señalar que algunos comandos son específicos de cada sistema y por tal motivo no se
pueden emplear para otros sistemas.

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


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>,
@DEPRECIA[T1,0199,0199,C,0199,1299]
<Que>,<Finie>,<Ffine>]{Periodo}
@DEPRECIAC[<Clave>,<Finid>,<Ffind>,
@DEPRECIAC[T1,0199,0199,O]
<Que>,<Finie>,<Ffine>]{Periodo}
@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 48


Ancho_Caracteres
Este comando permite delimitar el ancho que tendrá una cadena de caracteres, pero no trunca lo escrito, sino
que continúa en la línea de abajo.

Sintaxis:
Ancho_Caracteres (Número de caracteres)

Ubicación:
Parámetros, Encabezados, Partidas y Totales.
Funciona en:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Asigna
Con este comando se puede asignar un valor a una variable libre, el resultado de la operación, un cálculo o bien
datos alimentados a través de otro comando llamado dato o asignar el contenido de otra variable.

Sintaxis:
Asigna <campo libre>, <campo> o dato o cálculo o “texto”

Ubicación:
Encabezados, Partidas y Totales.
Funciona en:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Brinca
Este comando indica al sistema que cambie hasta el inicio de la siguiente página, es decir, saltar las líneas que
queden entre la última línea impresa y el inicio de la siguiente página.

Este comando se define una sola vez, al final del formato, antes del comando FIN, con la finalidad de que la
impresión no se desfase entre un documento y otro.

Sintaxis:
Brinca

Ubicación:
Totales.
Funciona en:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Caracteres
Este comando le indica al sistema la columna hasta la cual debe imprimir, dependiendo del tipo de letra que se
tenga definido. Es idéntico al de Ancho_Caracteres, con la diferencia de que corta la cadena de caracteres.

Sintaxis:
Caracteres (Número de caracteres)

UBICACIÓN:
Parámetros, Encabezado, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Notas del asistente:

Guía Curso Editores 49


Centra
La función de este comando es la de centrar un texto o contenido de una variable dentro de un documento.

Sintaxis:
Centra (Total de caracteres en que se va a centrar), "Texto" o <Campo a imprimir>

UBICACIÓN:
Encabezado y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Comentarios
Es recomendable que al momento de elaborar un formato, este se vaya documentando de acuerdo a su
estructura; es decir, describiendo para qué sirve cada parte del formato. Al editar un formato, podemos observar
que muestra los pasos en los que esta dividido para la impresión, por ejemplo: Definición de encabezados, Inicio
de partidas, etc. Cuando se documenta un formato, le estamos permitiendo a un futuro usuario entender más
rápidamente el funcionamiento y secuencia que seguirá el sistema para ejecutarlo.

Sintaxis:
Comentarios (Texto) ó \ (Texto)
BICACIÓN:
Parámetros, Encabezados, Ciclos y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Correo
Al definir este comando en un formato, el sistema solicita un nombre para generar un archivo con el resultado
del formato y al mismo tiempo abre la aplicación de correo electrónico que se tiene definida en la PC e incluye
en un e-mail el archivo creado.

Sintaxis:
Correo

UBICACIÓN:
Parámetros
FUNCIONA EN:
Aspel-SAE.

Dato
Permite capturar datos al momento de emitir un formato. Los datos capturados pueden usarse para imprimirlos
directamente o para realizar cálculos u operaciones que realice el sistema de manera interna. Cabe mencionar
que los datos no quedan registrados en el archivo, ni dentro del formato.

Sintaxis:
Dato <Número de campo>, (Longitud del campo) , "Nombre del campo"

UBICACIÓN:
Parámetros, Encabezados y Partidas.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Notas del asistente:

Guía Curso Editores 50


Escribe
El comando escribe tiene como finalidad mandar a impresión el contenido de una variable, texto u operación
realizada dentro del reporte, para ello es muy importante definir la columna donde inicia la impresión de estos
datos para no tener problemas de que se desfase el reporte.

Sintaxis:
Escribe (Número de columna), <Variable o Campo> o Valor o "Texto"

UBICACIÓN:
Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Fencabezados
Este comando indica que se a terminado de definir las instrucciones del contenido del encabezado.

Sintaxis:
Fencabezados

UBICACIÓN:
Encabezados.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Fin
Este comando da por terminada la definición del formato, por lo que se define en la última línea del formato. Si
se definen después de este comando otras instrucciones, el sistema las va a ignorará.

Sintaxis:
Fin

UBICACIÓN:
Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Font
Este comando permite manejar diferentes tipos y tamaños de letra. Permite darle una mejor presentación al
reporte.

Sintaxis:
Font "Tipo de letra", Tamaño

UBICACIÓN:
Parámetros, Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD

Notas del asistente:

Guía Curso Editores 51


Impresor
El comando impresor manda el contenido del formato a papel, es decir, envía el reporte a un impresor.

Sintaxis:
Impresor (Número de Impresor o Nombre del impresor)

UBICACIÓN:
Parámetros.

FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Inicia
El comando inicia se define dentro de las partidas y tiene como finalidad realizar la lectura del ciclo definido y
con ello ejecutar las instrucciones definidas, por cada inicia que se utilice se debe definir un termina.

Sintaxis:
Inicia (Nombre del ciclo)

UBICACIÓN:
Partidas.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Máscara
Tiene como finalidad que al momento de mandar a impresión cantidades o sus respectivos montos estos sean
definidos después de este comando, se toma en cuenta la distribución de las comas y puntos.

Sintaxis:
Mascara

UBICACIÓN:
Parámetros, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Pantalla
Con este comando también se puede ver el resultado del reporte en una presentación preliminar. Para ello es
recomendable utilizar este comando antes de enviar un reporte a impresión, lo que permite verificar que la
información sea la correcta.

Sintaxis:
Pantalla

UBICACIÓN:
Parámetros.
FUNCIONA EN:

Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Notas del asistente:

Guía Curso Editores 52


Raya
La función de este comando es repetir varias veces un carácter al momento de mandar a impresión el formato,
partiendo de la columna que se indico y del número de veces que se especifique.

Sintaxis:
Raya (Número de columna), (# de veces que debe repetirse), "Carácter a
imprimir"

UBICACIÓN:
Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Redondeo
La finalidad es que todas las cantidades o cifras sean redondeadas. Las variables a las que se puede realizar el
redondeo son a todos los campos numéricos definidos por el sistema y las variables numéricas definidas por el
usuario utilizando el comando asigna. No se podrá redondear directamente un cálculo, primero se tiene que
asignar a una variable.

Sintaxis:
Redondeo <Campo o Variable>, (Precisión)

UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Salta
Su función es indicar al sistema que deje un espacio dependiendo del número de líneas de impresión. El sistema
avanza el número de líneas indicado, menos una, es decir, si se especifica “Salta 3”, el sistema solo dejara 2 líneas
en blanco. Se debe de tener cuidado en definir el número de líneas a saltar, de manera que no exceda el tamaño
del reporte.

Sintaxis:
Salta (Número de líneas)

UBICACIÓN:
Parámetros, Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Si
Este comando se utiliza para iniciar un condicional o comparación dentro del formato. Es recomendado cuando
se necesita que una serie de acciones se ejecuten para un cierto número de elementos que cumplan con el
requisito definido, este comando puede ir acompañado por el comando sino y por cada comando si debe de
llevar un sifin.

Sintaxis:
Si <campo a comparar> (operador lógico) <campo de comparación> o (valor a
comparar) u operación

UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Notas del asistente:

Guía Curso Editores 53


Sino
La función del comando sino es para indicar que si no se cumplió la primera condición ejecuta otras.

Sintaxis :
Sino

UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Sifin
Indica el final de las instrucciones que conforman la condicional y es necesario especificarla siempre, para que el
sistema sepa que termina la condicional.

Sintaxis:
Sifin

UBICACIÓN:
Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Termina
Concluye con la lectura del ciclo, por lo que junto con las instrucciones y operaciones definidas desde el
comando inicia, con ello termina la impresión e los movimientos.

Sintaxis:
Termina (Nombre del ciclo)

UBICACIÓN:
Partidas.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Tipo
Determina el tipo de letra que va a ser utilizando para la impresión, a diferencia del comando font, este comando
utiliza el tipo de letra que esta definido en las propiedades del impresor.

Sintaxis:
Tipo (1 o 2)

UBICACIÓN:
Parámetros, Encabezados, Partidas y Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

Notas del asistente:

Guía Curso Editores 54


Traduce
La función de este comando es el de convertir o traducir el contenido de un campos numérico en letra, realizando
esta traducción en dos idiomas que son el Ingles y el español.

Sintaxis:
Traduce (Número de columna), <Campo numérico>, "E"spañol o "I"nglés,
"MONEDA/MONEDAS"

UBICACIÓN:
Totales.
FUNCIONA EN:
Aspel-SAE, Aspel-NOI, Aspel-COI, Aspel-BANCO y Aspel-PROD.

3.6 Ciclos de lectura


Cada sistema cuenta con sus propios ciclos, en los cuales permite la lectura de los registros y que estos se vayan
leyendo de acuerdo a los diferentes campos. En algunos sistemas no hay restricción de en cuanto al uso de
manejar varios ciclos.

Ciclos definidos en BANCO


MOV (Movimiento)
Es utilizado dentro de los formatos de reportes de movimientos y representa el ciclo base para la
generación del reporte.

POL (Póliza)
Se utiliza para obtener información de las pólizas con las que se contabilizo el movimiento
bancario y sólo se usa para los formatos de reportes de movimientos.

PAR (Partida de la póliza)


Se utiliza para la impresión de las pólizas de egresos cuando al momento de contabilizar en línea
los cheques y en los reportes de movimientos. Para el segundo caso es indispensable que exista el
ciclo POL.

MOVPAR (Partidas de movimientos)


Este ciclo es empleado para poder obtener un desglose por cada uno de los movimientos que se
hayan realizando, presentando cada uno de los conceptos que se hayan utilizado en el
movimiento.

CHQPAR (Partidad por cheque)


Se puede emitir en el formato de un cheque normal, mostrando además en forma desglosada cada
uno de los conceptos involucrados en él.

Ciclos definidos en COI


AUX (Auxiliar)
Lee el archivo de auxiliares, en cual se encarga de localiza la sub-cuenta que tenga movimientos y
efectúa los procesos indicados y los imprime al final de la última sub-cuenta, o bien, debajo de
cada una de éstas; esto depende de cómo se haya ordenado el ciclo Auxiliares dentro del formato.
Este ciclo presenta únicamente los datos de las partidas, no de la póliza completa.

CTA (Cuenta)
Recorre el catálogo de cuentas, en el cual se ubica en la primera cuenta del catálogo, efectúa los
procesos indicados y prosigue con la siguiente cuenta hasta que llega al final del archivo.

Notas del asistente:

Guía Curso Editores 55


POL (Pólizas)
Lee el archivo de pólizas, ejecuta los procesos para la póliza en que se ubica y prosigue con la
siguiente hasta terminar de leer todo el.

PAR (Partidas-Pólizas)
Al leer una póliza esta se posiciona y lee las partidas posesionándose desde la primera partida de
la póliza, realiza los diferentes procesos solicitados y continúa con las siguientes partidas hasta
que llega al final de la póliza.

DP (Departamento)
El sistema recorrerá el archivo de las cuentas a través de los departamentos, esto siempre y
cuando el sistema esté configurado para el uso de departamento.

ACT (Activos)
Este ciclo lee el catálogo de activos, es posible crear reportes con la información de este catálogo,
el catálogo se recorre en base a la clave del activo.

Ciclos definidos en NOI


TB (Trabajadores)
Su función es recorrer el catálogo de trabajadores; iniciando desde la primer clave y realizando los
cálculos para ese trabajador. Al terminar, pasa a la siguiente trabajador y repite el proceso hasta
recorrer todos los registros.

PD (Percepciones y Deducciones)
Lee el archivo de percepciones y deducciones en la cual se posiciona en el primer concepto de
percepción, ejecuta los cálculos por trabajador y al terminar pasa a la siguiente percepción; ejecuta
los mismos procesos anteriores y al terminar con la lectura de las percepciones inicia con los
conceptos de deducción.

P (Percepciones)
Este ciclo solo lee solo las percepciones que se encuentran definidas en el catálogo de
percepciones y deducciones, ejecutando los cálculos solicitados para cada uno de los trabajadores
pasando al siguiente concepto de percepción hasta terminar con el último concepto definido en
este catálogo.

D (Deducciones)
Al igual que el ciclo anterior este se encargar de leer solo las deducciones desde el primer
concepto registrado en el catálogo de percepciones y deducciones; ejecuta las operaciones
solicitadas por cada uno de los trabajadores y pasa al siguiente concepto de deducción. Este
proceso se repite hasta leer la última deducción.

Ciclos definidos en PROD


Insumos
Como todos los ciclos que leen desde el primer insumos registrado mostrando los datos
solicitados y continuando al siguiente hasta leer el último insumos registrado en el catálogo.

Procesos
Con este ciclo se puede extraer la información de todos los procesos definidos en el sistema
leyendo uno por uno y generando una relación desde el primer proceso hasta llegar al último
proceso registra dentro de este catálogo.

Sustitut
Este es otro de los catálogos que se manejan en Prod por lo que funciona igual que los dos
anteriores, solo que este muestra desde por medio de las claves una lista de los sustitutos
registrados dentro de este catálogo.

Notas del asistente:

Guía Curso Editores 56


Prodterm
La finalidad de este ciclo es recorrer las claves de los productos terminados, recorriendo una a una
las cabezas de los documentos y con ello presentar los registros que conforman al producto
terminado.

Componente (Producto Terminado)


Este ciclo se encarga de leer las partidas o componentes de los productos terminados. Este ciclo va
acompañado del ciclo Prodterm.

Agenda
Este es otro de los ciclos que se debe de definir dentro del ciclo Prodterm, su función es presentar
la planeación de un producto terminado.

Orden
La función de este ciclo es leer el archivo de órdenes de producción y con ello obtener una lista de
todas las órdenes registradas dentro de este archivo.

Seguimiento
Recorre el archivo de seguimiento que se ha empleado en una orden ya que hay que recordar que
esta puede ser de forma directa, por entrada a fabricación, etc. Solo las órdenes que muestran son
la que cuentan con el estatus de activa.

Programación
Este ciclo es parecido al de seguimiento, con la diferencia e que este ciclo obtiene la programación
que se le ha hecho a un orden sin su respectivo seguimiento. Este ciclo debe de ejecutarse dentro
del ciclo de Orden.

Componente (Orden)
Lee las partidas de los componentes de los productos terminados, este ciclo debe de estar definido
dentro del de orden, es igual al de componente ciclo de Orden (producto terminado).

Segxcomp
Con este ciclo se obtiene los movimientos tanto de entrada como de salida al inventario por cada
uno de los componentes, este ciclo debe de ir acompañado de otro ciclo que es componente
(orden).

Ciclos definidos en SAE


Factura, Remisión, Pedido, Cotización y Devolución
Estos cinco ciclos se utilizan dentro del módulo de Facturación dependiendo del documento que se
vaya a utilizar, por ejemplo al definir el ciclo de Inicia Factura el sistema ejecuta las instrucciones
solicitadas en la cabeza de los documentos, este proceso lo recorre uno por uno.

Recepción, Orden y Devolución


Así como el modulo de facturación cuenta con sus ciclos para cada documento de ventas, el
modulo de compras cuenta con sus respectivos ciclos, que operan de igual forma que los ciclos de
facturación leyendo o recorriendo las cabezas de los documentos.

Partida
Este ciclo se define dentro de los ciclos mencionados con anterioridad su función es que vaya
recorriendo cada una de las partidas, comenzando desde el primer movimiento en el documento y
ejecutando las instrucciones solicitadas para que con ello pase a la siguiente hasta llegar a la
ultima.

Notas del asistente:

Guía Curso Editores 57


Serie
El ciclo se utiliza para la lectura de los productos que manejan números de serie por tal motivo
este ciclo se define dentro del ciclo anterior (partida) y su función es leer los números de serie que
corresponden a cada producto de la partida.

CLI_PRO
Este ciclo se encarga de leer los registros de clientes y/o proveedores ejecutando las instrucciones
definidas y como todos los ciclos lo hace registro por registro hasta terminar.

DOCTO
Revisa todos los documentos que están asociados a cada cliente y/o proveedor, ejecutando las
instrucciones solicitadas, este ciclo se recomienda utilizarlo dentro del ciclo CLI_PRO.

Movimiento
Este ciclo consiste en recorrer los movimientos al inventario guiándose por el primer concepto
definido en este catálogo, ejecuta las instrucciones requeridas y pasa al siguiente concepto hasta
llegar al último.

Filtro
Este es un auxiliar del ciclo de movimiento y su función es llevar un control al momento de
cambio del producto, ambos ciclos van a permitir que los documentos sean ordenados por
producto.

3.7 Generación de formatos (*.fto)


Una vez terminado de explicar cada uno de los comandos que se pueden utilizar en el editor de formatos para
poder elaborar reportes que se acoplen a las necesidades de la empresa con ayuda de sus respectivos ciclos se
procede a realizar un ejercicio elaborando un formato.

Los sistemas Aspel permiten utilizar un editor de formatos para modificar o crear los formatos de impresión de
documentos y reportes. Esto permite reportar la información de la empresa satisfaciendo las necesidades más
exigentes.

En la ventana que se presenta se puede escoger entre cualquiera de los formatos que se manejan para
renombrarlos (conservando la terminación .FTO), y así modificar sus parámetros adecuándolos a las necesidades
de la empresa.

Desde el administrador de reportes, con el botón 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 58


a) Para este ejercicio se elabora un formato similar al de una factura, para ello es necesario entrar
al sistema de Aspel-SAE y verificar que dentro de las aplicaciones asociadas esté configurado el
notepad.exe que se encuentra en Utilerías – Configuración – Aplicaciones asociadas – Editor de
textos.

b) Una vez configurado el sistema, se procede a entrar al módulo de Facturación, Menú Reportes,
Administrador de reportes, donde se creará el Archivo *.FTO para la emisión de una factura,
primeramente con la Estructura General que se requiere y posteriormente se agregarán
elementos para el uso de la mayoría de los comandos.

Indicar que
se agrega un
nuevo fto.

3.7-1 Elaboración de formato

3.7-2 Guardar Archivo *.fto

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

Notas del asistente:

Guía Curso Editores 59


com **************************************************
com ***** Definición de los parámetros del reporte ***
\\ ***************************************************

Pantalla

Mascara "###,###,###.##"
Caracteres 250
Ancho_caracteres 132
Asigna <01>, "/"
Asigna <02>, "PESO/PESOS"
Asigna <04>, "E"

Font "arial",8

com **************************************************
com ****** Definicion de encabezados ****************
com **************************************************

tipo 1

Define_encabezado
Escribe 1, "Curso de Editores"
Asigna <106>,0
Asigna <106>, <106>+1
Escribe 1, "No. de ´pagina", 15, <106>
Dato <001>, 20,"Dame tu nombre"
Salta 2
Escribe 1,<001>
Salta 2
tipo 2
Raya 1,100,"="
Ajusta 4.5
Fencabezados

com ***************************************************
com **** Definición de partidas y/o ciclos de lectura**
com ***************************************************

Inicia FACTURA
Encabezado
Ajusta 7
\NUMERO DE LINEAS PARA EL AREA DE PARTIDAS
Asigna <108>,31
\Contador de lineas
Asigna <107>,0
Asigna <199>,0
Asigna <200>,0

\Inicia la impresión de las partidas


Inicia Partida
Asigna <199>,<199>+<072>
Asigna <200>,<200>+1

Si <072> <> 0
\Controla el numero de lineas de la partida

Notas del asistente:

Guía Curso Editores 60


Si <107> < <108>
Asigna <107>, <107>+1
Sino
Asigna <107>,0
Brinca
Encabezado
SiFin
Escribe 1,<72>, 25,<94>, 60,<074>

\Imprime las observaciones de la partida


Caracter 1
Si <092> = ""
\La partida no tiene Observaciones
Caracteres 255
Sino
Caracteres 255
Ancho_caracteres 97
Escribe 17,<092>
Asigna <107>,<107> + <254>
SiFin
com ****************************************************************
com ****** IMPRESION DE NUMEROS DE SERIE, LOTES Y PEDIMENTOS *******

\Columna en la que se imprime el numero de serie


Asigna <110>, 1
Inicia SERIE
Escribe <110>,<091>
Asigna <110>, <110> + 12
Si <110> > 105
Asigna <110>,1
Asigna <107>, <107> + 1
\Controla el numero de lineas de la partida

Si <107> > <108>


Asigna <107>, 0
Salta 1
Escribe 120, "*******>>"
Brinca
Encabezado
SiFin
SiFin
Termina
Si <233>
\Imprime datos del lote del producto
Escribe 1,"Lote del producto :"
Escribe 22,<233>, 35, "Caducidad :"
Escribe 45, @MFC[<235>,"dd/mm/aaaa"]
SiFin
Si <234>
\Imprime clave del pedimento aduanal
\Fecha y Aduana
Escribe 1,"Pedimento Aduanal : "
Escribe 22,<234>, 35, @mfc[<236>,"dd/mm/aaaa"]
Escribe 45, <237>
SiFin
Asigna <107>, <107> + 2

Notas del asistente:

Guía Curso Editores 61


\Controla el número de líneas de las partidas
Si <107> > <108>
Asigna <107>, 0
Salta 1
Escribe 120, "********>>"
Brinca
Encabezado
SiFin
Termina Partida
SiFin
Salta 2
Escribe 10, "Total de Articulos vendidos : ", 40,<199>
escribe 10, "Total de Partidas :", 40,<200>

com ***************************************************
com **** Definicion de totales ************************
com ***************************************************
tipo 2
Ajusta 16
Si <071> = ""
Escribe 2,""
SiNo
Ajusta 17
Escribe 2,<071>
SiFin

Ajusta 18
Escribe 40,<66>/<209>
Asigna <03>, <201> + <01> + <201> + <01> + <02>
Traduce 2, <66>/<209>, <04>, <03>

Brinca
Termina Factura

Fin

 Práctica 5: Elaboración de un formato para recibos con copia en Aspel-NOI.

Descripción del caso: Se tiene el caso de una empresa con más de mil trabajadores, a los cuales entrega sus recibos con
formatos de forma continua para impresión en láser. El problema es que cuando imprime sus recibos lo tiene que hacer
dos veces para tener el recibo del trabajador y el recibo de acuse para la empresa, cosa que es muy laboriosa para
estar armando los juegos de recibos. Pues el formato solo permite emitir un solo recibo por trabajador como se
muestra en la siguiente imagen.

La solución es la siguiente:

a) Abrir el Bloc de Notas y escribir el código que se muestra a continuación:

Notas del asistente:

Guía Curso Editores 62


Com ******************************************************************
Com ***** ASPEL MEXICO, S.A. DE C.V. *****
Com ***** Curso de Editores *****
Com ***** Formato para la impresión de 2 recibos, sugerido para *****
Com ***** papel de la línea de formas ASPEL. Envía un recibo *****
Com ***** de 4.7 X 8.5 pulgadas. *****
Com ***** Para la impresion de este formato, es necesario *****
Com ***** que ajuste el tamaño de la hoja en Especificar *****
Com ***** Impresora / Configurar *****
Com ***** Las medidas asignadas en centimetros son : *****
Com ***** Ancho: 21.60 *****
Com ***** Largo: 23.70 *****
Com ***** ASPEL-NOI Windows 4.0 *****
Com ******************************************************************

Com ***** Definición de Máscara, Tipo de Letra, Líneas por hoja *****
Com ***** y Líneas para Partida *****
PAN

Tipo 1

Font "Arial", 9

Asigna <120>, 2 \\ 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 63


Inicia TB
Si <45> <> 4 \\Inicia el primer Ciclo del recibo
Si <122> > 0
Ajusta <121> * <122>
Sifin
Encabezado
Inicia PD
Asigna <123>,<123> + 1
Si <123> >= 12
Asigna <123>,0
Asigna <122>,<122> + 1
Si <122> > (<120> - 1)
Asigna <122>, 0
Brinca
Sino
Ajusta <121> * <122>
Sifin
Encabezado
Sifin
Si <072> <> 0
Escribe 1, <070>, 7, <071>, 25, <072>
Sino
Escribe 1, " "
Sifin
Si <077> <> 0
Escribe 43, <075>, 49, <076>, 67, <077>
Sifin
Termina
Asigna <123>,0
Ajusta 10 + ( <121>*<122> )
Escribe 1, "Total Percepciones ", 25, <079>
Escribe 43, "Total Deducciones " , 67, <080>
salto 1
Escribe 1, "Neto Pagado ", 25, <082>
Escribe 1, "Total en Efectivo " , 25, <082>-<081>
Asigna <122>, <122> + 1
Si <122> = <120>
Asigna <122>, 0
Brinca
SiFin
Sifin \\Termina el Primer ciclo

Si <45> <> 4 \\Inicia el segundo Ciclo del recibo


Si <122> > 0
Ajusta <121> * <122>
Sifin
Encabezado
Inicia PD
Asigna <123>,<123> + 1
Si <123> >= 12
Asigna <123>,0
Asigna <122>,<122> + 1
Si <122> > (<120> - 1)
Asigna <122>, 0
Brinca
Sino

Notas del asistente:

Guía Curso Editores 64


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 65


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

Notas del asistente:

Guía Curso Editores 66


Figura 3.7-4 Resultado del reporte modificado

Notas del asistente:

Guía Curso Editores 67


 Práctica 6: Modificación de formato para Balance General.
A continuación, se desea que el balance general se obtenga de forma detallada, es decir, que incluya cuentas
tanto del segundo como tercer nivel, para ello, se iniciará con el siguiente procedimiento:

a) 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 Agregar
SI <029> = 3 \\ Si la cuenta es de tercer nivel éstas líneas
Escribe 10, <27>, 80, <36> \\ Escribe…
Asigna <92>, <92> + <36> \\ Acumula…
SIFIN
Termina

h) Guardar los cambios y mostrar la vista preliminar del reporte.

Notas del asistente:

Guía Curso Editores 68


Figura 3.7-5 Resultado del reporte modificado

i) Realizar las modificaciones para que el resto de los rubros de muestren de la misma forma.

Aspel de México S.A. de C.V. Agradece su participación en este curso.

Aspel es una marca registrada de Aspel de México S.A. de C.V.


Asimismo Aspel de México S.A. de C.V. se reserva el derecho de revisar periódicamente este documento y hacer
cambios en el contenido del mismo, si lo considera necesario.
Todas las marcas comerciales que se mencionan en este documento son marcas registradas por sus respectivas
compañías.
Cualquier duda o comentario al respecto de este documento, favor de notificarlo a: cursos@aspel.com.mx

Notas del asistente:

Guía Curso Editores 69

También podría gustarte