Clarion - Modificación de campos de la BD

 
Vista:

Modificación de campos de la BD

Publicado por Emilio Leyes (7 intervenciones) el 21/10/2005 18:13:52
Estimada gente del foro:
Quisiera saber si alguno de Uds. me podria dar una breve orientación para hacer algunas cosas que seguramente son básicas para Uds. pero no para mi, porque recien me estoy iniciando en todo esto del entorno Clarion:
Siguiendo un modelo de datos que responde a una Factura de Venta, con encabezado y detalle; cuando la misma es cargada en el sistema, es decir, cuando se vende algun producto, ¿CÓMO TENGO QUE HACER PARA QUE LA CANTIDAD DE ITEMS VENDIDOS DE UN DETERMINADO PRODUCTO SE DESCUENTE DE UN CAMPO "CANTIDAD" DE UNA TABLA DE PRODUCTOS?"
Espero que sepan darme una idea de como hacerlo. les agradezco mucho desde ya.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Modificación de campos de la BD

Publicado por juan (11 intervenciones) el 21/10/2005 19:50:37
y si la factura es confeccionada debe ser impresa y creo en ese punto al imprimir la factura debe ser descontada de la bd ¿ me explico ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Modificación de campos de la BD

Publicado por Emilio Leyes (7 intervenciones) el 21/10/2005 20:28:18
Hola Juan:
Muchas gracias por contestar. Si! si te explicas, el punto en el que se descuenta de la BD está claro cual debe ser. El problema es que no se como hacer que esto ocurra, utilizando Clarion.
Nuevamente, muchas gracias por tu respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

RE:Modificación de campos de la BD

Publicado por CRISTIANCANTEROS (136 intervenciones) el 26/10/2005 15:55:39
Para descontar productos de otro archivo al confeccionar una factura yo hago lo siguiente:
Tengo tres archivos: Productos, Factura, Detalle (aqui se guardan los detalles de la factura).
Dentro del formulario de la Factura pongo un browse que contenga los detalles de la factura (el browse corresponde al archivo Detalles). Para registrar los detalles NO USO EL EDITIN PLACE, sino que los registro EN UN FORM.
En el form del archivo de detalle creo una variable local NEW:cantidad (que guarda la cantidad que estas ingresando) y SAV:cantidad (que guarda, en el caso de qe estes modificando el detalle, la cantidad anterior. Esto es muy importante ya que accidentalente puedes ingresar una cantidad erronea, aceptes el cambio y al darte cuenta, ingreses al detalle nuevamente a modificarla, por ello la importancia de estas variables.
Bien, vamos ahora con el FORM Detalle: Generalmente el archivo debe contener el codigo del producto, cantidad, precio, etc.

- Ingresa codigo Embebido en
--- > WindowManager Method Executable Code Section
-----> Init
-------> Byte (priority 6500)
!Inicializando variable
SAV:cantidad = Detalle.Record.Cantidad

- Ingresa codigo Embebido en
--- > WindowManager Method Executable Code Section
-----> TAke Completed
-------> Byte (priority 6300)
!LLamando a la Rutina Modificar archivo de productos
!que ya la vamos a escribir
DO ActualizarProductos

- En en punto Emebido "Procedure Routines" vas a crear la siguiente rutina con Priority 4000
(Donde cantidad Stock es el campo donde se guarda el stock de prodcutos en el archivo de productos)

ActualizarProductos ROUTINE

CASE ThisWindow.Request
OF InsertRecord
Productos.Record.CantidadStock -= Detalles.Record.Cantidad
IF Access:Productos.Update() THEN
STOP(ERROR())
END !end if
OF ChangeRecord
Productos.Record.CantidadStock += SAV:Cantidad
Productos.Record.CantidadStock -= NEW:Cantidad
IF Access:Productos.Update() THEN
STOP(ERROR())
END
OF DeleteRecord
Productos.Record.CodigoProducto = Detalle.Record.CodigoProducto
Products.Record.CantidadStock += Detalle.Record.Cantidad
IF Access:Products.Update() THEN
STOP(ERROR())
END
END !End case

Ahora ingresa codigo emebido en el campo Cantidad del archivo de detalles
----> Contro Event Handling
------> Aceppted (Priority 8800)

NEW:Cantidad = Detalle.Record.Cantidad

Con eso vas a poder actualizar el archivo de productos cuando registres una factura, espero que te sea de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Modificación de campos de la BD

Publicado por Emilio Leyes (7 intervenciones) el 26/10/2005 20:37:22
Hola Cristian!
te agradezco mucho la colaboración y las indicacíones. Ahora me las pondré a revisar y a probar.
Lo que pasa es que soy demasiado nuevo en esto, y estoy aprendiendo con un manual en español que esta en internet, y eso es todo lo que tengo.
Ahora me puse a leer los .pdf que salen en el CD instalador.... asi que tengo muuucho por leer todavia
Muchas gracias, nuevamente
Emilio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar