Clarion - Error al instartar registros factura detalle clarion con mysql

   
Vista:
Imágen de perfil de Ramon Pacheco

Error al instartar registros factura detalle clarion con mysql

Publicado por Ramon Pacheco (63 intervenciones) el 05/09/2013 20:46:18
Hola a todos,
Estoy recuriendo a todos mis colegas clarioneros con el fin haber si me puede ayudar con siguiente problemita que me he encontrado en el camino, estoy haciendo una aplicacion de factura con mysql y clarion y tengo todas mi relaciones en el motor de base de datos, a la hora de insertar registros en facturas y detalle me sale un error de integridad, por que hay una norma que dice que los padres debe ser insertado primero que los hijos en sql no se aceptan hijos huerfanos.
Yo quisiera sabe si alguien le ha pasado esto y como lo ha resuelto para ver como me da una manito. quiero mantener todas mi relaciones y los autoenumeracion de registro en motor y controlar tode desde clarion. Si alguien tiene un ejemplo o Demo de como pude hacer esto por favor hagamelo llegar a mi email pachecoramon@hotmail.com y será bien recibido
Poca palabras lo que quiero es como hacer el insert en la cabecera para luego agregar los hijos en las facturas.


Reciben muchas bendiciones
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
información
Otras secciones de LWP con contenido de Clarion
- Código fuente de Clarion
- Cursos de Clarion
información
Códigos de Clarion
- Llamar al form para insertar desde el menu

Error al instartar registros factura detalle clarion con mysql

Publicado por francisco J. Valencia (85 intervenciones) el 09/09/2013 22:53:15
Ramón:

Tienes dos opciones:
1) Usando la misma tabla.
Me imagino que quieres usar la forma de actualización de la cabecera para allí mismo colocar el browse del detalle con sus altas y bajas.
En ese caso, en el init puedes poner un código para atrapar el request cuando insertas para desde ya grabar el registro y cambiar a un request de cambiar.

---- En el init antes de Snap-shot GlobalRequest
If GlobalRequest = InsertRecord or GlobalRequest = 0
GlobalRequest = ChangeRecord
LOC:Inicializar = True
LOC:Grabar = false
End

---- Despues de Open Files
IF LOC:Inicializar = True
LOC:IdVenta = FORMAT(today(),@D11) &'.'& FORMAT(clock(),@T05) &'.'& FORMAT(RANDOM(0,99999),@N05)
CLEAR(VEN:RECORD)
VEN:IdVenta = LOC:IdVenta
ACCESS:VENTAS.INSERT()

CLEAR(VEN:RECORD)
VEN:IdVenta = LOC:IdVenta
ACCESS:VENTAS.FETCH(VEN:PKIdVenta)

DISPLAY()
END
Finalmente validas cuando cierra la forma para borrar el registro de la cabecera si cancelas.
Mi id no es autoincremental pero la idea es la misma.

2) Usando una tabla para que de manera temporal guardes los datos de tu cabecera-detalle y posteriormente grabas la factura en mysql. Esta tabla puede ser una de memoria o tps o bien usar una queue.

Tienes que seleccionar una manera y sobre esa trabajar.

Saludos
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

Error al instartar registros factura detalle clarion con mysql

Publicado por JUAN (2 intervenciones) el 15/03/2014 00:14:51
Hola Ramon

Si bien trabajo con TPS la carga de facturas la tengo desarrollada sobre una tabla temporal abierta en terminal.
Una vez finalizada la carga recien grabo definitivamente en las tablas Ventas y DetVentas.

Saludos
Juan
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