Edit in place, Creando la estructura factura (Parte I)
Publicado: Jue Feb 24, 2011 5:16 pm
Hola a todos,
Hoy voy a escribir sobre uno de los temas más tedioso y difícil para muchos programadores,
El cual algunos de ellos han quedados frustrados por que no lo han podido implementar
Por su propia cuenta y han tenido que recurrir a témplate de tercero para poderlo hacer.
Este tema tiene como objetivo principal sacar de la frustración a todos aquellos programadores de Clarión que no ha podido implementar el tema de Edit in place en sus sistemas y darles un poco de luz a los nuevos programadores que se agregan a esta familia
de clarioneros. Este tema será aplicado a un sistema de facturas, con los códigos en la
Propiedad Global, lo iré desarrollando pasos a pasos.
Configurando el Edit in place
Pero antes de empesar a trabajar con una aplicación edit in place debemos primeramente
configurar nuestro clarion para eso quiero recordarle que esto solo se logra con las versiones clarion 6.0 en adelante hasta la 6.3.........n.
Lo primero que debemos hacer es entrar a la propiedad global, en la lengueta de la misma se leccionamos Classes, luego seleciones Browse, luego baje mas abajo donde dice otros
EIP, en la parte que dice Browse IEP Template, luego donde dice template interface ahi selecione en el Drolist Cambie la palabra original por Detailed, luego dele Ok y vuelva a su clarion, si cumplió con los pasos ya su clarion esta listo para trabajar con aplicaciones IEP, esto solo se hace una vez.
esta listo para todas las aplicaciones que usted vaya hacer.
Constarás con los siguientes puntos:
1) Validaciones en la Propiedad Globales
2) Mantenimiento de Stock del inventario
3) Hacer un IdCodigo, Este sirve para evitar repeticiones de producto en detalle
4) Validar Cantidad, Para que cantidad no sea cero y cuando sea mayor a la existencia.
5) Validar Reorden, este nos notificará de la existencia actual
6) Validar existencia o el stock, rebaja
7) Desactivar Change o modificar
8) Validar código de clientes, para evitar que el código del cliente Vacío al sistema
9) Validar Detalle, para evitar que el detalle entre datos vacíos.
10) Borrado de registros
Ahora vamos a construir nuestra estructura de archivos pasos a pasos
1) Debemos crear un diccionario de datos llamado Factura con las siguientes tablas
A) Tabla de Clientes, para los datos de los clientes
B) Tabla de Producto, Para los datos de los Productos
C) Tabla de Factura, Para el cuerpo de la factura
D) Tabla de Detalle factura, para el detalle de los productos
2) Diseño de las estructura de las tablas
Tabla -Clientes
Campos tipo Longitud Llaves
CodigoCliente LOng (7) CodiClieKey Primaria, Único, aunto
Nombres String (70) NombreKey
Dirección String (70)
Sector String (50)
Ciudad String (35)
Telefonos String (70)
Mail String (100)
Ya terminamos nuestra primera tabla de cliente
Tabla- Productos
Campos tipo Longitud LLaves
CodigoPro Long (7) CodiProKEy primario, unico y auto.
Envase String (25) !describe el envase del producto
Tipos String (25) !Es la clasificacion de los producto
Descripcion string (80) !NOmbre del producto, DescriKey
Precio Unitario Decimal (9.2)!Precio del Producto
Existencia Inicial Long (15) !Existencia de inicio de inventario
Existencia Final Long (15= !Existencia de movimiento
Reorden Long (5) !Notificador de existencia
Ya terminamos nuestra segunda tabla de producto
Ahora vamos a crear una tablita, de un campo llamada tipoproducto
En Esta tablita vamos a hacer la clasificación de los productos,
por ejemplo quizás tenga muchas variedades de aceite, en mi caso yo la tengo,
Aceite de 30 Libras aceite de 25 Libras, aceite de galón, aceite botella 2 libras
y aceite botella 1 Libras, en mi caso tipo sería aceite y ahí describo toda mi variedad.
Tabla -TipoProducto
Campos tipo Longitud LLaves
TipoPro String (15) TipoProKey UNica
Ahora vamos a crear otra tablita, de un campo llamada Envases
En esta tablica vamos a guardar el tipo de envase en que vienen empacados
Los productos, de ella se alimentarán el campo envase de la tabla Producto.
Tabla -Envases
Campos tipo Longitud LLaves
Envase String (15) EnvaseKey UNica
Tabla -Factura
Campos tipo Longitud LLaves
NroFactura Long (7) NrofactuKey primaria,unica y auto
Fecha Date (D6)
CodigoCliente Long (7) CodiClieKey,
Condiciones String (12) !identifica el tipo de compras
MontoFactura decimal (15.2 !Guarda el monto de la factura
IdRenglon Long (5) !Para controlar la cantidad de renflones el detalle
ControlImpresion Long (1) !Para controla la veces de impresion de una factura
Ya terminamos nuestra tabla facturas, ahora vamos a crear la tabla Detallefactura
Tabla -detalleFactura
Campos tipo Longitud LLaves
NroFactura Long (7) NrofactuKey
CodigoPro Long (7) CodiProKey
Cantidad Long (12.2)
PrecioUnitario Decimal (15.2) !Precio de venta
Importe decimal (15.2) !es el resultado de precio x cantidad
IdCodigo String (20) IdcodiKey !Para evitar repeticione de producto en l detalle
Ya terminamos nuestra tabla detalefacturas, ahora vamos a crear las relaciones de las tablas
1- Nuestra primera relación sería
Factura relacionada con Cliente por el código de los clientes
Factura relacionada con detalle factura por el número de factura
2- Nuestra segunda relación sería:
DetalleFactura relacionada con Producto por el Código
Nota Importante:
Para alimentar nuestro inventario hay que crear un modulo de entrada de inventario
con el fin de registrar las compras realizadas de productos, en este tema solamente me voy a referir a la parte de factura la otra parte hágala usted como tarea.
Ya terminamos las relaciones de las tablas, Ahora grabe bien su diccionario de datos,
Luego salga de ahí y váyase a crear su aplicación Factura, utilice el wizar para crearla,
si desea desactive la opción de reporte para que lo haga luego de forma manual.
En mi caso mi gusta hacer los reportes manual no usando los wizar, pero es un asunto
de preferencia. Luego que haya creado su aplicación póngase a darles un poco de estética,
Poniéndola bella.
Continuará
Ing. R. Pacheco
Analista Programador
Pachecoramon@hotmail.com
Santo Domingo, Rep. Dominicana
Hoy voy a escribir sobre uno de los temas más tedioso y difícil para muchos programadores,
El cual algunos de ellos han quedados frustrados por que no lo han podido implementar
Por su propia cuenta y han tenido que recurrir a témplate de tercero para poderlo hacer.
Este tema tiene como objetivo principal sacar de la frustración a todos aquellos programadores de Clarión que no ha podido implementar el tema de Edit in place en sus sistemas y darles un poco de luz a los nuevos programadores que se agregan a esta familia
de clarioneros. Este tema será aplicado a un sistema de facturas, con los códigos en la
Propiedad Global, lo iré desarrollando pasos a pasos.
Configurando el Edit in place
Pero antes de empesar a trabajar con una aplicación edit in place debemos primeramente
configurar nuestro clarion para eso quiero recordarle que esto solo se logra con las versiones clarion 6.0 en adelante hasta la 6.3.........n.
Lo primero que debemos hacer es entrar a la propiedad global, en la lengueta de la misma se leccionamos Classes, luego seleciones Browse, luego baje mas abajo donde dice otros
EIP, en la parte que dice Browse IEP Template, luego donde dice template interface ahi selecione en el Drolist Cambie la palabra original por Detailed, luego dele Ok y vuelva a su clarion, si cumplió con los pasos ya su clarion esta listo para trabajar con aplicaciones IEP, esto solo se hace una vez.
esta listo para todas las aplicaciones que usted vaya hacer.
Constarás con los siguientes puntos:
1) Validaciones en la Propiedad Globales
2) Mantenimiento de Stock del inventario
3) Hacer un IdCodigo, Este sirve para evitar repeticiones de producto en detalle
4) Validar Cantidad, Para que cantidad no sea cero y cuando sea mayor a la existencia.
5) Validar Reorden, este nos notificará de la existencia actual
6) Validar existencia o el stock, rebaja
7) Desactivar Change o modificar
8) Validar código de clientes, para evitar que el código del cliente Vacío al sistema
9) Validar Detalle, para evitar que el detalle entre datos vacíos.
10) Borrado de registros
Ahora vamos a construir nuestra estructura de archivos pasos a pasos
1) Debemos crear un diccionario de datos llamado Factura con las siguientes tablas
A) Tabla de Clientes, para los datos de los clientes
B) Tabla de Producto, Para los datos de los Productos
C) Tabla de Factura, Para el cuerpo de la factura
D) Tabla de Detalle factura, para el detalle de los productos
2) Diseño de las estructura de las tablas
Tabla -Clientes
Campos tipo Longitud Llaves
CodigoCliente LOng (7) CodiClieKey Primaria, Único, aunto
Nombres String (70) NombreKey
Dirección String (70)
Sector String (50)
Ciudad String (35)
Telefonos String (70)
Mail String (100)
Ya terminamos nuestra primera tabla de cliente
Tabla- Productos
Campos tipo Longitud LLaves
CodigoPro Long (7) CodiProKEy primario, unico y auto.
Envase String (25) !describe el envase del producto
Tipos String (25) !Es la clasificacion de los producto
Descripcion string (80) !NOmbre del producto, DescriKey
Precio Unitario Decimal (9.2)!Precio del Producto
Existencia Inicial Long (15) !Existencia de inicio de inventario
Existencia Final Long (15= !Existencia de movimiento
Reorden Long (5) !Notificador de existencia
Ya terminamos nuestra segunda tabla de producto
Ahora vamos a crear una tablita, de un campo llamada tipoproducto
En Esta tablita vamos a hacer la clasificación de los productos,
por ejemplo quizás tenga muchas variedades de aceite, en mi caso yo la tengo,
Aceite de 30 Libras aceite de 25 Libras, aceite de galón, aceite botella 2 libras
y aceite botella 1 Libras, en mi caso tipo sería aceite y ahí describo toda mi variedad.
Tabla -TipoProducto
Campos tipo Longitud LLaves
TipoPro String (15) TipoProKey UNica
Ahora vamos a crear otra tablita, de un campo llamada Envases
En esta tablica vamos a guardar el tipo de envase en que vienen empacados
Los productos, de ella se alimentarán el campo envase de la tabla Producto.
Tabla -Envases
Campos tipo Longitud LLaves
Envase String (15) EnvaseKey UNica
Tabla -Factura
Campos tipo Longitud LLaves
NroFactura Long (7) NrofactuKey primaria,unica y auto
Fecha Date (D6)
CodigoCliente Long (7) CodiClieKey,
Condiciones String (12) !identifica el tipo de compras
MontoFactura decimal (15.2 !Guarda el monto de la factura
IdRenglon Long (5) !Para controlar la cantidad de renflones el detalle
ControlImpresion Long (1) !Para controla la veces de impresion de una factura
Ya terminamos nuestra tabla facturas, ahora vamos a crear la tabla Detallefactura
Tabla -detalleFactura
Campos tipo Longitud LLaves
NroFactura Long (7) NrofactuKey
CodigoPro Long (7) CodiProKey
Cantidad Long (12.2)
PrecioUnitario Decimal (15.2) !Precio de venta
Importe decimal (15.2) !es el resultado de precio x cantidad
IdCodigo String (20) IdcodiKey !Para evitar repeticione de producto en l detalle
Ya terminamos nuestra tabla detalefacturas, ahora vamos a crear las relaciones de las tablas
1- Nuestra primera relación sería
Factura relacionada con Cliente por el código de los clientes
Factura relacionada con detalle factura por el número de factura
2- Nuestra segunda relación sería:
DetalleFactura relacionada con Producto por el Código
Nota Importante:
Para alimentar nuestro inventario hay que crear un modulo de entrada de inventario
con el fin de registrar las compras realizadas de productos, en este tema solamente me voy a referir a la parte de factura la otra parte hágala usted como tarea.
Ya terminamos las relaciones de las tablas, Ahora grabe bien su diccionario de datos,
Luego salga de ahí y váyase a crear su aplicación Factura, utilice el wizar para crearla,
si desea desactive la opción de reporte para que lo haga luego de forma manual.
En mi caso mi gusta hacer los reportes manual no usando los wizar, pero es un asunto
de preferencia. Luego que haya creado su aplicación póngase a darles un poco de estética,
Poniéndola bella.
Continuará
Ing. R. Pacheco
Analista Programador
Pachecoramon@hotmail.com
Santo Domingo, Rep. Dominicana