Edit in place, Creando la Aplicación Factura (Parte II)

Código útil, tips de programación, etc.
Responder
R.Pacheco
Al nivel de RZ
Mensajes: 367
Registrado: Lun Feb 07, 2011 4:45 pm
Ubicación: Santo Domingo,Rep.Dominicana
Contactar:

Edit in place, Creando la Aplicación Factura (Parte II)

Mensaje por R.Pacheco » Mar Mar 01, 2011 12:39 pm

Hola a todos,
Que Dios les Bendigas

En el post anterior decía que el objetivo principal de este tema es 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, ahora quiero darles un poco de luz y a los nuevos programadores que se agregan a esta familia de clarioneros.
En la primera parte ya creamos nuestra estructura de archivos, ahora vamos
A crear nuestra aplicación, yo espero que usted vaya siguiendo los pasos
Tal como los estoy haciendo, por favor no se desesperé y vaya despacio.
Creación de la aplicación Factura
Esta aplicación constará con tres mantenimientos principales que son:
Clientes, Productos y factura.
Se supone que ya usted creo su diccionario de datos con las tablas diseñadas anteriormente, si es así, ya puede generar su aplicación, le recomiendo que la
Limpie y la ponga bonita.

Pero ante de comenzar quiero hacer un paréntesis en el mantenimiento de producto. Creamos dos tablitas de un campo cada una, la primera llamada tipo de producto y la segunda envase y por lo tanto hay que crea el mantenimiento de la dos tablitas. Tenemos dos forma para hacer estos, la primera sería un mantenimiento normal donde alimentaríamos la tabla desde el menú Principal esto haria ante de alimentar la tabla producto.
La otra forma sería crea el mantenimiento para ser llamado desde el mantenimiento producto, así mientras voy alimentando la tabla producto
Puedo ir alimentado las tablitas envase y tipos de producto. Yo me inclino por la última forma, aunque es un asunto de preferencia.

Ahora si usted desea hacer que los tres mantenimientos sean Edit in place lo puede hacer, pero yo para ahorrar tiempo y espacio solamente me voy a limitar al mantenimiento de factura, en los demás voy a conservar los formularios tanto de clientes como de producto.
Como se observa en la imagen así quedo mi mantenimiento de producto
Imagen

Aclaración
Quiero destacar la importancia del campo reorden en la tabla Producto y en todo sistema de facturación, este campo sirve para programar la cantidad de existencia, ejemplo: si usted los programó Con cinco cajas de Aceite 4/1, cuando en su
Existencia queden cinco cajas el sistema empieza avisarle que el producto
Se esta terminado, cuando el producto se termina el sistema le avisa de que
La existencia es cero. Hago esta aclaración por que más adelante lo vamos ver en mantenimiento de factura y vamos a explicar como hago la validaciones para esto.
Mantenimiento Factura
Así me quedó mi mantenimiento de factura aquí me muestra el listado de todas la facturas realizadas.
Imagen

Formulario de Factura
Así me quedó mi formulario de factura que consta de dos partes Cuerpo de la factura y detalle.

En el cuerpo de la factura los datos de entrada son número de factura y la fecha estos se introducen automáticamente, el código del cliente se hace la entrada manual y despliega los de más datos.

En el detalle de la factura los datos de entrada son los íteem o renglones de los
Productos, los datos de entrada manual son el código del productos y la cantidad los demás datos los despliega el sistema.
Así como se observa en la imagen me quedo el formulario factura
Imagen

Agregar validación en la Propiedad Global
Lo primero que debemos evitar es que se le de entrada a código de cliente en blanco o huérfano, esto quiere decir, que debemos forzar al usuario a que tenga que seleccione un código de cliente, para esto vamos hacer una validación en la propiedad Global.

Entonces vámonos a la propiedad global de nuestro sistema en embs, luego posesiónese en Field level validation ubique la tabla factura y seleccione el código de cliente, ahí colocamos el siguiente código:

Código: Seleccionar todo

If  FAC:CodigoClientes = '0' Then
    Message('Cliente no fue seleccionado','Aviso de error',ICON:Question)
Return Level:Notify
 END
Validar detalle en blanco
Esto es para evitar que entren al sistema de fatura, detalle en blanco o huérfanos
Este procedimiento lo vamos a validar desde el botón Ok de la forma, ponemos
Este código en aceptar del botón Prioridad 4999

Código: Seleccionar todo

!Valindando Detalle
If BRW7.Q.DET:CodigoProducto = ' ' Then
    Message('El detalle no debe estar vacio','Aviso de error',ICON:Question)
    Select(?FAC:CodigoClientes)
 Return Level:Notify
 END
Continuaráá
En el próximo post agregaremos a nuestro sistema de factura el edit in place y las validaciones de stock del inventario en la propiedades globales.

Reciban muichas bediciones
Ing. R. Pacheco
Analista Programador
Pachecoramon@hotmail.com, Skype:pachecoramon
Santo Domingo, Rep. Dominicana
Para cualquier consulta rápida: hacerla por WhatApp al 1 347-6159 US


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados