manual vdk - valery development kit
TRANSCRIPT
http://www.valery.com
TUTORIAL CREACIÓN DE PANTALLAS ADICIONALES POR LA HERRAMIENTA VALERY VDK E INTEGRACIÓN DE ESTOS DATOS EN LOS REPORTES DE VALERY
La información contenida en este documento representa el punto de vista actual de CYBERNETIX SERVICIOS
VENEZUELA en los temas discutidos en la fecha de publicación.
Debido a que CYBERNETIX debe responder a las fluctuantes condiciones del mercado, no se debe interpretar
como un compromiso de CYBERNETIX, y CYBERNETIX no puede garantizar la exactitud de cualquier
información presentada después de la fecha de publicación.
Todas las marcas nombradas en este documento son marcas comerciales o registradas de su respectivo
fabricante.
Este documento tiene únicamente fines informativos.
Copyright © Diciembre 2012
CYBERNETIX SERVICIOS VENEZUELA, C.A.
CYBERNETIX SERVICIOS PANAMA, S.A
Todos los derechos reservados.-
http://www.valery.com
Para la creación de pantallas adicionales partimos de que usted tiene conocimientos muy básicos
del lenguaje de programación Delphi así como de SQL Firebird.
Luego de terminado este manual usted tendrá los conocimientos para crear pantallas adicionales
así como visualizar los datos ingresados en los distintos reportes.
El ejercicio consiste en crear una pantalla en facturación que solicitará:
Número de Siniestro
Placa del Vehículo
La pantalla se mostrará al Registrar un documento de Ventas, en este caso solamente la factura. Luego estos dos campos los mostraremos en el formato de factura.
Herramientas:
Valery Versión 5248, Valery VDK, IBExpert.
Pasos:
1) Abrir ValeryVDK e ir a la opción Campos Adicionales, acá seleccionaremos el módulo donde queremos agregar los campos adicionales, Ventas y agregamos nuestros dos campos que le asignaremos el tipo Varchar (100) a ambos. La longitud y tipo de campos puede variar según la necesidad de lo que necesitemos desarrollar.
http://www.valery.com
2) Luego de registrados los campos adicionales crearemos la pantalla adicional, para ello ir a la
opción Pantallas Adicionales. Se mostrará la pantalla donde seleccionará el Módulo (Ventas),
el Evento (Al Registrar) y las condiciones adicionales, en esta parte es donde pondremos la
condición para que la pantalla salga solamente cuando registremos la Factura de Ventas de
lo contrario saldrá en todas las operaciones de Ventas (Pedidos, Presupuestos, Notas de
Entrega).
Al entrar en la opción de condiciones para este caso queremos que solo salga en
factura por lo que filtramos usando el campo CTIPO_DOCUMENTO = FAC,
podemos utilizar varios campos dependiendo de las necesidades del cliente y solo
podemos poner dos condiciones.
http://www.valery.com
Ahora si podemos entrar en la programación de la ventana, para ello entrar a la
opción Código Fuente.
http://www.valery.com
3) Al entrar a este módulo automáticamente ya estará creada la pantalla y debemos de
agregarle los campos, para este caso agregamos:
Dos TLabel, les cambiamos el texto por defecto en la propiedad Caption de cada
uno de ellos.
Dos TEdit, les cambiamos el texto por defecto en la propiedad Text de cada uno
de ellos y lo dejamos en blanco.
Dos TButon, les cambiamos el texto por defecto en la propiedad Caption de cada
uno de ellos.
Además le cambiamos el título a la ventana en la propiedad Caption.
http://www.valery.com
4) Eventos:
Programaremos los dos posibles eventos al presionar cada uno de los botones, para
entrar en el código entramos dando doble clic sobre cada uno de ellos.
Comenzaremos con el botón Cancelar. Al dar doble clic saldrá la parte de código en
la que pondremos: self.close();
Con el objetivo de que cierre la ventana al presionarlo
Luego el botón Registrar quedando el código de esta manera.
Por último registramos los cambios.
http://www.valery.com
5) Hasta este punto al Registrar una factura nos saldrá la ventana programada solicitando los
datos:
6) Luego debemos de agregar estos campos en el Formato de Factura, para ello debemos de
conectarnos con el IBExpert a la BD de Valery y modificar el procedimiento almacenado del
Reporte, para este caso es REP_FMT_VTA_DOCUMENTO.
Nota: Los datos de cada uno de los módulos donde podemos crear las pantallas se guardan
de la siguiente manera.
Pantalla en Ventas: VENTAS_AD
Pantalla para cada uno de los renglones en Ventas: VENTAS_DETALLES_AD
Pantalla en Ficha de Clientes: CLIENTES_AD
Pantalla en Ficha de Proveedores: PROVEEDORES_AD
Pantalla en Ficha de Productos Terminados: PRODUCTOS_TERMINADOS_AD
Pantalla en Ficha de Productos Servicios: SERVICIOS_AD
Pantalla en Ficha de Productos Compuestos: PRODUCTOS_COMPUESTOS_AD
http://www.valery.com
Para el ejemplo que estamos implementando en este tutorial en la consulta SQL deberíamos hacer
una Unión con la tabla VENTAS_AD.
Ahora bien ¿Cómo sabemos cual consulta o procedimiento modificar?
Para esto todas las consultas y procedimientos de los reportes en V3 se guardan en la BD en 5
tablas básicas.
V3REPORTES
V3REPORTES_CONSULTAS
V3REPORTES_CAMPO_FILTRO
V3REPORTES_CONSULTA_CAMPO
V3REPORTES_CONSULTA_FILTRO
Para este caso nos centraremos en las 2 primeras:
Lo primero que debemos de saber es qué código tiene nuestro reporte a modificar, para esto
vamos a Utilidades->Editor de Reportes->Editor de Formatos, buscamos nuestro reporte. En este
caso es el 106.
http://www.valery.com
Filtramos en la tabla V3REPORTES_CONSULTAS por este código y tendremos las diferentes
consultas a nuestros procedimientos almacenados en este caso seleccionamos la consulta
principal de este reporte a modificar REP_FMT_VTA_DOCUMENTO.
En la columna SQl podemos visualizar la consulta al procedimiento y es este procedimiento
el que debemos de modificar.
Una vez que estamos en el código del procedimiento debemos de:
A. Crear los campos de salida. Tener en cuenta que deben de ser el mismo tipo de dato
y de la misma longitud en caso de ser varchar.
http://www.valery.com
B. Luego buscamos la consulta principal y hacemos un LEFT JOIN con la tabla
VENTAS_AD, uniendo por el campo común en ambas tablas y que funcionan a su
vez como llave primaria CORRELATIVO, también le agregamos nuestros dos
campos en el SELECT, (NO_SINIESTRO, PLACA) y no debemos de olvidar poner
las variables de destino en la cláusula INTO.
http://www.valery.com
C. Luego compilamos en el rayo amarillo para guardar los cambios. Si no nos da
error habremos terminado con la modificación de la consulta SQL.
D. Algunos tendrán la duda de porqué usamos un LEFT JOIN en vez de un JOIN, lo
usamos de esta manera debido a que todos los formatos (Factura, Presupuesto,
Pedido, Nota de Entrega, Orden de Despacho) usan la misma consulta, y en este
caso la pantalla solo saldría para factura por lo que solo se estaría guardando
registros para factura por lo que al tratar de visualizar en Presupuesto al usar JOIN
correríamos el riesgo de que el formato saliera en blanco. Debemos tener en cuenta
el tipo de modificación que le hacemos a los procedimientos almacenados.
7) Ya en este punto podemos de ir a nuestro formato y ya tendremos disponible los dos
campos, solo tenemos que agregarlo en la parte de nuestro reporte que el cliente solicite.
http://www.valery.com
8) Una vez llegado a este punto ya lo tenemos todo listo, pero ¿Cómo hacemos para llevar todo
el código a nuestro cliente sin tener que volver a hacer todos estos pasos?
En este caso toda la información se encuentra en la BD, solo debemos de crear un
Script que tenga toda la información modificada en la BD.
i. Crear los campos adicionales de la tabla VENTAS_AD. En este caso son dos
Ejemplo:
ALTER TABLE VENTAS_AD
ADD NO_SINIESTRO VARCHAR(100);
ALTER TABLE VENTAS_AD
ADD PLACA VARCHAR(100);
COMMIT WORK;
ii. Crear el Script con la modificación del procedimiento
REP_FMT_VTA_DOCUMENTO, dando clic en DDL del procedimiento.
http://www.valery.com
iii. Ahora buscamos la tabla y exportamos la información de la siguiente manera.
Al exportar se creará un SQL y un Archivo Binario (.lob), que por defecto tendrá el
mismo nombre que el SQL.
Cuando se genere el Script debemos de modificar la ruta dentro del archivo para
no tener problema de ruta en las otras máquinas donde lo ejecutemos. Lo
podemos modificar con Bloc de Notas o desde el IBExpert.
Es muy IMPORTANTE esta parte ya que el Script toma datos del archivo .lob,
cuando se ejecute el proceso deben de estar ambos en la misma carpeta.
http://www.valery.com
Luego unimos todos nuestros Script quedando de la siguiente manera.
Ver archivo adjunto PANTALLA_ADICIONAL.RAR
Este Script solamente lo debemos de ejecutar una sola vez en la BD
preferentemente en la máquina principal o servidor, antes de esto realizar respaldo
de datos, los dos archivos deben de estar juntos, (sql), (lob).