Ver Mensaje Individual
  #7  
Antiguo 17-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

Cita:
Empezado por Toni
Una vez funcionando esto añado los componentes DataSetProvider y los dos ClientDataSet
Supongo que solo añades un TDatasetProvider, el que va a usar el ClientDataset de cabecera.

Cita:
Empezado por Toni
No se el porque todavia pero si intento abrir el ClientDataSet1 (cabecera) me da un error (cannot perform this operation on a closet dataset), lo curioso es que abro el ClientDataSet2 y me abre los 2.
Curioso. Parece como si la relación estuviese al revés. Al abrir el ClientDataset de cabecera, debería abrir los dos.
En cambio no debe permitir abrir el ClientDataset de detalles (puesto que va unido al ClientDataset de cabecera), y si no recuerdo mal, el error que debe dar es el que comentas.

Cita:
Empezado por Toni
Para que me medio funcionase tuve que poner en los campos persistentes de los clientDataSet el flag pfInWhere a false en todos los campos que no pertenecian a la clave principal, eso al tener puesto en el DataSetProvider la porpiedad UpdateMode a upWhereKeyOnly (es esto normal?)
En absoluto, una vez configurado el UpdateMode a WhereKeyOnly, el único flag que debería tener en cuenta es el pfInKey. Es como si no se usará el DatasetProvider en el que has configurado el UpdateMode.

Cita:
Empezado por Toni
Otra cosa estraña que me hace es cuando doy de alta un nuevo detalle, si no es el primer detalle de esa cabecera me lo guarda sin problemas, si resulta que NO es el primer detalle de la cabecera no me lo guarda.
Esto tampoco es normal.

Tén en cuenta de que los campos de relación (IdEmpresa, IdLibro, IdDocumento) no los rellena automaticamente el ClientDataset. Por lo que tienes que hacerlo manualmente. Yo utilizo el AfterInsert del ClientDataset de detalles.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita