Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Talking no corresponding master record found

Hola, El panorama es el siguiente: Estoy utilizando Delphi 2010 Datasnap y hago una aplicacion simple que tiene tres ABM uno de Articulos y otro de Proveedores y el tercero es una carga de factura donde se selecciona el proveedor y se cargan artículos esta opción esta relacionada por dos ClienteDataSet relacionados de forma Maestro-Datalle.

Utilizo los componentes SQLConnection, DSProviderConnection, ClientDataSet, DataSource.

No hay problema alguno los datos se están grabando bien en la base de datos SQL Server 2008 Express, las tablas constan de los siguientes campos
Tabla Maestro
IdFactura
IdCliente
Fecha
Total

Tabla Detalle
IdFactura
Fecha
IdArticulo
Cantidad
SubTotal

Le programe para que haga un control, cuando se entra desde dos maquinas distintas al mismo tiempo y los dos tienen el mismo numero de factura el segundo que graba lo hace con el numero siguiente si por ejemplo los dos usuarios entran con el numero 178 el primero graba 178 y el segundo 179. Por lo tanto en el botón grabar programe lo siguiente:
Código Delphi [-]
  ClientDataSetDetalle.First;
 while not ClientDataSetDetalle.Eof do
 begin
   ClientDataSetDetalle.Edit;
   ClientDataSetDetalle.FieldByName('IdFactura').Value:= NumeroFacturaValido;
   ClientDataSetDetalle.Post;
   Next;
 end;
En la variable "NumeroFacturaValido" estoy pasando el siguiente numero al usuario que graba con el numero repetido, pero al pasar por la linea del post salta el error:
"no corresponding master record found"
¿Alguna sugerencia?

Desde ya muchas gracias por leerme y disculpas a los moderadores si el post no corresponde a esta opción.
Responder Con Cita
  #2  
Antiguo 12-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Jere_84

Revisá si te sirve este enlace

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 13-03-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Gracias ecfisa, descubrí una solución para aquellos que no lo sepan del lado servidor en el DataSetProvider que corresponde a la relación maestro detalle tildando la propiedad poCascadeUpdates = True
De esta manera solo modificando el IdFactura en la cabezera tambien se modifica en la tabla detalle no hace falta esto:
Código Delphi [-]
 ClientDataSetDetalle.First;
 while not ClientDataSetDetalle.Eof do
 begin
   ClientDataSetDetalle.Edit;
   ClientDataSetDetalle.FieldByName('IdFactura').Value:= NumeroFacturaValido;
   ClientDataSetDetalle.Post;
   Next;
 end;
Solo con esto basta:
Código Delphi [-]
  ClientDataSetCabezera.Edit;
  ClientDataSetCabezera.FieldByName('IdFactura').Value:= NumeroComprValido;

Gracias de todas formas.

Última edición por ecfisa fecha: 13-03-2012 a las 13:46:50. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
  #4  
Antiguo 13-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Jere_84.

Me alegra que lo hayas resuelto y gracias por compartir con nosotros tu solución.

Aprovecho para pedirte que cuando incluyas código en tu mensaje utilices los TAG's o etiquetas (ya edité tu mensaje agregándolos). Esta imágen explica el uso:



Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 13-03-2012
Avatar de Jere_84
Jere_84 Jere_84 is offline
Miembro
NULL
 
Registrado: sep 2011
Ubicación: Córdoba, Argentina
Posts: 214
Poder: 0
Jere_84 cantidad desconocida en este momento
Ok, lo voy a hacer para la proxima!

Saludos!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Record not found rinaib Conexión con bases de datos 0 07-03-2011 09:30:12
'No corresponding master record found.' nferigo Varios 0 22-03-2010 17:20:50
edbclient: no corresponding master record found alquimista_gdl Conexión con bases de datos 4 12-11-2009 18:49:20
Record not Found juliobuitrago Firebird e Interbase 0 25-12-2007 22:00:32
Record not found or changed by another user felixgo Conexión con bases de datos 1 30-09-2005 13:07:40


La franja horaria es GMT +2. Ahora son las 01:12:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi