Manual VDK - Valery Development Kit

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

Transcript of Manual VDK - Valery Development Kit

Page 1: Manual VDK - Valery Development Kit

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

Page 2: Manual VDK - Valery Development Kit

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.

Page 3: Manual VDK - Valery Development Kit

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.

Page 4: Manual VDK - Valery Development Kit

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.

Page 5: Manual VDK - Valery Development Kit

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.

Page 6: Manual VDK - Valery Development Kit

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.

Page 7: Manual VDK - Valery Development Kit

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

Page 8: Manual VDK - Valery Development Kit

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.

Page 9: Manual VDK - Valery Development Kit

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.

Page 10: Manual VDK - Valery Development Kit

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.

Page 11: Manual VDK - Valery Development Kit

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.

Page 12: Manual VDK - Valery Development Kit

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.

Page 13: Manual VDK - Valery Development Kit

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.

Page 14: Manual VDK - Valery Development Kit

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