Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Editor Formatos SAE PDF
Editor Formatos SAE PDF
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
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.
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.
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.
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.
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.
• 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.
Encabezado
del reporte
Detalle
Pié del
Reporte
Ahora bien, para generar un reporte se requiere conocer los elementos de un formato, estos se muestran en la
Figura 2.4.-2
Bandas
Campos de datos
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.
Los elementos (como etiquetas o valores de campos) del reporte, pueden ser alineados en la presentación del
reporte con los botones de la barra que se muestra en la figura 2.5-2. Algunos de ellos sólo están disponibles
cuando varios elementos están seleccionados.
Para utilizar estas funciones, se debe seleccionar los elementos, figuras, imágenes, etc., con la tecla 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:
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.
La descripción acerca de las diferentes propiedades de cada elemento de reporte se localiza en la descripción
individual de cada elemento.
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).
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:
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.
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.
Una banda hija es una banda que es ligada a otra banda de reporte y la cual se imprimirá debajo de su banda
padre. De esta manera, se podrá imprimir una banda adicional después de cada banda de detalle. La ventaja de
utilizar bandas hija en lugar de sólo cambiar el tamaño de la banda padre para hacer que alcancen más elementos
de reporte es que éstas pueden ser, si es necesario, un salto de página entre una banda y su hija, y la banda hija
puede imprimirse independientemente de su banda padre, aún si la banda padre no se imprime.
Se debe usar bandas hija si se tienen elementos de reporte con la propiedad "Ajustar" puesta en verdadero y si se
desea imprimir el elemento abajo como un campo ajustable. En este caso, se deben colocar todos los elementos
que serán movidos hacia abajo automáticamente a causa de los elementos con auto estrechamiento antes de
ellos en la banda hija.
A diferencia de la banda padre, para una banda hija es forzoso especificar una banda padre.
Banda de subdetalle
Una banda de subdetalle es una clasificación de la banda de detalle, pero es un integrante de la banda de detalle
real. Por ejemplo: Si se quiere imprimir un reporte de los clientes con datos como dirección, correo, teléfono, etc,
y por cada cliente imprimir la lista de los contactos que se tiene, se deberá usar una banda de subdetalle para
imprimir los contactos debajo de cada cliente. Para usar esta tabla, es necesario que se cree una conexión a la
tabla correspondiente (llamada "Tabla maestra") mediante la opción de Configuración de base de datos.
• 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.
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
Un grupo de bandas es utilizado para estructurar información en grupos de registros de datos. Por ejemplo: si
quieres imprimir una lista de direcciones, puedes agregar algunos espacios antes de que inicie cada nueva letra e
insertar algún subtítulo, o puedes agrupar direcciones por ciudad o estado.
Internamente los grupos son manejados de la siguiente manera: antes de imprimir un registro de datos, el
generador del reporte verifica si el resultado de la expresión del grupo es diferente del resultado de la expresión
del último registro de datos. Si esto es así, el grupo se imprimirá, de otra forma no. De esta manera, los datos
pueden ser agrupados con gran flexibilidad, dado que puedes utilizar las expresiones para aproximaciones o
cualquier otro tipo de cálculos.
Cuando se define un grupo de bandas, es necesario especificar un Maestro, así como una banda de pie de grupo.
A continuación se describirá de manera general cada una de las herramientas que se pueden utilizar dentro de un
Reporte qr2.
Etiquetas / Label
Una etiqueta sirve para imprimir texto estático, por ejemplo, texto que se imprime exactamente igual a como se
despliega durante el diseño del reporte.
Memos
Un memo es usado para imprimir texto que tiene más de una línea. Así como las etiquetas, un memo despliega
texto en un color y tipo de letra. Si quiere usar texto con formato, deberás utilizar un campo de Texto con
formato (Richtext)
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.
Campo de datos
Mediante un campo de datos se puede agregar algún campo obtenido mediante alguna Tabla o Query del
Reporte.
Mientras que un campo de datos se utiliza para desplegar texto desde un registro de una base de datos, se puede
utilizar este elemento de reporte para desplegar imágenes que se encuentren almacenadas en una base de datos.
Campo de expresiones
Un campo calculado (campo de expresiones) es utilizado para desplegar texto o datos que son calculados por
medio de una expresión o fórmula. Puedes realizar cálculos numéricos, manipulación de cadenas, concatenación
de campos de datos y mucho más.
La posibilidad de Agregar un campo calculado sólo se presenta al utilizar un reporte con formato qr2. Sólo es
necesario indicar la expresión con la cuál se calculará el valor del campo a imprimir.
Texto de comando
El texto con formato es un elemento de reporte que puede desplegar múltiples líneas de texto con diferentes
tipos de letra, colores y formatos. En el diálogo de propiedades del texto con formato presiona el botón "Editar"
para desplegar el editor de texto desde donde se pueden editar las propiedades del texto con formato.
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:
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.
• 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.
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.
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?"
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
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.
A continuación se generará un reporte desde Aspel-SAE en donde se pretende mostrar el monto de crédito
disponible para cada cliente.
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.
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”.
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.
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.
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.
SELECT
Selecciona los registros de una tabla.
Sintaxis:
SELECT * FROM Tabla
SELECT Tabla.Campo1, Tabla.Campo2, Tabla.Campo3,… FROM Tabla
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
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
\* 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.
\* 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.
\* 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.
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
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"
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.
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”
\* Busca los registros que contengan en el campo nombre cualquiera de las coincidencias indicadas.
Ejemplo: Se requiere imprimir un reporte con datos específicos pero por cada cliente, para éste caso, se agrega la
siguiente instrucción:
El campo CLAVE_CLIENTE es un campo que se espera adopte su valor de acuerdo a la definición establecida para
dicho parámetros.
• Valor
Al seleccionar Valor, se deberá especificar un valor de acuerdo al tipo de datos que se haya seleccionado.
Para poder hacer uso de esta característica es necesario que se utilice un formato qr2 para la emisión del
documento o reporte., cuando se tenga la vista preliminar, se debe hacer clic en el botón .
A continuación el sistema presentará el diálogo “Salvar reporte” donde se deberá especificar el directorio y
nombre para guardar el archivo y el tipo, que en éste caso será PDF.
Se asigna
nombre al
Query.
Se escriben las
instrucciones
del el Query.
Se asigna el
conjunto de
datos maestro.
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.
¿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.
• 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
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.
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.
• 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.
• 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.
• 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.
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
Contenido
del reporte
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.
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.
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.
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.
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.
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
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
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
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:
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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
Si <072> <> 0
\Controla el numero de lineas de la partida
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
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:
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
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
i) Realizar las modificaciones para que el resto de los rubros de muestren de la misma forma.