Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Problemas en el Post con IBTable

saludos a todos

ver si puedo encontrar alguna ayuda, estoy utilizando los componentes IBDataset e IBTable para un formulario Master Detail, sucede que al ajecutar los comando Post de cada componente, en el Dataset se guardan sin problemas, pero en el Table no.

ambos componentes les tengo activado el CaheUpdate, al momento del post les ejecuto el ApplyUdate, y al transaccion le ejecuto el comando CommitRetaining, como mencioné anterormente, el dataset guarda la data pero el Table no.

1ra vez que estoy teniendo este problema con este componente, nunca me había sucedido.


gracias mi gente de antemano, por sus aporte y ayudas a los menos diestros
Responder Con Cita
  #2  
Antiguo 10-01-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sin ver el código es que casi imposible ayudar.
Responder Con Cita
  #3  
Antiguo 10-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sin ver el código es que casi imposible ayudar.
saludos casimiro, no agregue codigo porque son solo los comandos

IBTable.Post
IBTable.ApplyUdate
IBTransation.CommitRetaining;

los datos son alimentados por Edit,Combobox y demas componetes que seleccionen datos


justo al terminar el CommitRetaining, entiendo que la informacion debio guardarse, desaparecen los datos de los componentes y cuando voy a la base de datos, esta vacia la tabla
Responder Con Cita
  #4  
Antiguo 10-01-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿En algún momento haces commit?
Responder Con Cita
  #5  
Antiguo 10-01-2021
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.

¿ Cuál componente es el maestro y cuál el detalle ?
¿ Como tenes establecida la relación master-detail ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 10-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

¿ Cuál componente es el maestro y cuál el detalle ?
¿ Como tenes establecida la relación master-detail ?

Saludos
El master es el IBDataset, el detail es el IBTable
El detail tiene configurado el master source del dataset, para que haga la relacion de lugar
Responder Con Cita
  #7  
Antiguo 10-01-2021
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.

Cuando usas componentes IBX en relación maestro-detalle con CachedUpdates, debes desactivar la propiedad DataSource del detalle al momento de aplicar las actualizaciones.
Eso se debe a que cuando el DataSet aplica actualizaciones, envía un mensaje al DataSource como que el cursor se ha reposicionado, haciendo que se cierre y reabra en la nueva posición. Consecuentemente, se pierde la referencia.

La solución es desactivar el DataSource al momento de aplicar actualizaciones y restaurarlo después. V.gr.:
Código Delphi [-]
   Detalle.DataSource := nil;
   try
     Maestro.ApplyUpdates;
     Detalle.ApplyUpdates;
   finally
     Detalle.DataSource := DataSourceMaster;
   end;

Otros enlaces que se ha tratado este tema:
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-01-2021 a las 22:26:37. Razón: Corregir texto
Responder Con Cita
  #8  
Antiguo 12-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Saludos Todos

Encontre el problema lo que me estaba causando el inconveniente con el guardado de la tabla.

sucede que habia cambiado la forma de asignar el RECID o "valor unico", anteriormente lo hacia en los eventos after insert, pero ahora los estaba asignando en el before post como la tabla no tenia valor en los campos que las relacionaban, a la hora del post, se perdia la data del Detalle.

gracias de todas forma por sus consejo e interes en ayudar.

PERO AHORA TENGO OTRO PROBLEMA

resulta que en el mismo master detail, llamo a otro formulario en "show modal" para seleccionar datos especificos y mandarlos al master detail.

el caso es que luego de seleccionar los datos que se requieren, al precionar el botor Aceptar, desde el form showmodal ejecuto un procedimiento que esta en el form master detail, aqui es cuando me da un error en que las propiedades value de los campo de la tabla son inaccesibles.

el procedimiento que ejecuto esta declarado Publico
Código Delphi [-]
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ModificarNCF(pNCF,pFact,CalcT:String;pFecha:TDateTime;DescV,DescPouble);
    procedure AgregarLineasDevolucion(iCode,iName,iAlm,iUnd,iRef,iIGrup:String;iQty,
                   iPrice,iBruto,iDesc,iDescP,iDescVP,iItbis,iNetoouble);
  end;

procedure TfrmSalesReturn.ModificarNCF(pNCF,pFact,CalcT:String;pFecha:TDateTime;DescV,DescPouble);
begin
  DevTableFACTURA.Value := pFact;
  DevTableTAXCALC.Value := CalcT;
  DevTableNCF.Value := pNCF;
  DevTableFLINKFACT.Value := pFecha;
  DevTableDESCVALOR.Value := DescV;
  DevTableDESCPORC.Value := DescP;
  DevTableDESCPORCVALOR.Value := Valor_Porcentaje(DevTableSEBTOTALNETO.Value,DevTableDESCPORC.Value);
end;
ese es el procemiento que se manda a ejecutar y la forma en que esta declarado

Última edición por ecfisa fecha: 12-01-2021 a las 04:28:08. Razón: Agregar etiquetas [delphi]
Responder Con Cita
  #9  
Antiguo 12-01-2021
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.

Primero que nada me alegra que encontraras solución a tu problema.

Por otro lado, cuando pongas código en tus mensajes encierralo entre etiquetas de este modo:
[delphi]
Aquí tu codigo delphi ...
[/delphi]
ya edité tu mensaje agregándolas.

Y, cuando tengas que hacer una pregunta no relacionada con el hilo inicial, comienza esa nueva consulta en un nuevo hilo.

Saludos y gracias por tu colaboración
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 12-01-2021
Avatar de pockelsm3
pockelsm3 pockelsm3 is offline
Miembro
 
Registrado: oct 2007
Posts: 65
Poder: 17
pockelsm3 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Por otro lado, cuando pongas código en tus mensajes encierralo entre etiquetas de este modo:
Gracias Ecfisa, no sabia como hacerlo, ahora si

Cita:
Empezado por ecfisa Ver Mensaje
Y, cuando tengas que hacer una pregunta no relacionada con el hilo inicial, comienza esa nueva consulta en un nuevo hilo.
con lo del nuevo tema, pense en hacerlo el nuevo hilo, pero como estaba respondiendo dando la aclaratoria de mi problema, pense que era posible seguir en mismo hilo, ahora mismo procedere a crear el nuevo hilo, con el tema

gracias a todos
Responder Con Cita
  #11  
Antiguo 12-01-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
También con el icono, y te ahorras teclear:


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
Problemas con Request POST a Woocommerce XusF Internet 2 06-02-2021 19:31:36
Comparacion IBTable.post y Procedimientos Almacenados kverna Firebird e Interbase 9 18-12-2007 21:12:13
problemas con dataset.post barracuda Tablas planas 0 05-05-2006 22:13:08
Problemas con MasterSource en IBTable Ivanzinho Firebird e Interbase 2 02-05-2005 15:36:00
Problemas Con IbTable, Interbase Rabata Conexión con bases de datos 5 12-09-2003 11:17:41


La franja horaria es GMT +2. Ahora son las 20:55:00.


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