Ver Mensaje Individual
  #11  
Antiguo 14-04-2011
Diana Carolina Diana Carolina is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 30
Reputación: 0
Diana Carolina Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
me referia a como lo abres....
se que es con un OPEN
pero antes hay que usar Fielddef.. etc...

si ya esta solucionado chevere !!!
Anexo las partes donde veo que se abre el ClientDataSet.
Código Delphi [-]
//RadioGroup Tipo de Persona
procedure TFrmClientes.rgrTipoPersonaClick(Sender: TObject);
var i : Integer;
begin
RxDescripcionCiiu.DisplayValue := '';
RxCodCiiu.KeyValue             := '';
ediTipoIdentificacion.Text     := '';
ediIdentificacion.Text         := '';

for i := 0 to QryLmClien.ParamCount -1 do
    QryLmClien.Params[i].Clear;

QryLmClien.Close;
QryLmClien.Open;
QryLmClien.Insert;

QryLmFinan.Close; //Aqui lo abren 
QryLmFinan.Params.ParamByName('IdeCliente').AsString := QryLmCliennit_clie.AsString;
QryLmFinan.Params.ParamByName('TipoIde').AsString    := QryLmClientip_iden.AsString;
QryLmFinan.Open;

//al insertar o modificar siempre se activa rgrtipopersona...
pgDatosCliente.ActivePage := TabDatosBas;
TabDatosBasNat.TabVisible := False;
TabDatosBasJur.TabVisible := False;

if rgrTipoPersona.ItemIndex = 0 then
   begin
   QryLmTipIden.Filter:= 'cod_tipiden <> ' + #39 + 'NI' + #39;
   TabDatosBasNat.TabVisible := True;
   if QryOrigenesCod_Firma.AsString = '027' then
      begin
      Label19.Caption := 'Ingresos';
      Label75.Caption := 'Ingresos'
      end;
   end
else
   begin
   QryLmTipIden.Filter:= 'cod_tipiden <> ' + #39 + 'CC' + #39;
   TabDatosBasJur.TabVisible := True;
   if QryOrigenesCod_Firma.AsString = '027' then
      begin
      Label19.Caption := 'Ventas';
      Label75.Caption := 'Ventas'
      end;
   end;

DbeIngresosMensual.enabled:=(rgrTipoPersona.ItemIndex=0);
DbeEgresosMensual.enabled:=(rgrTipoPersona.ItemIndex=0);
//DbeUtilidadMensual.enabled:=(rgrTipoPersona.ItemIndex=0);
end;

Este es la programacion que tiene el boton aplicar que guarda los cambios realizados a la informacion financiera.
Código Delphi [-]
procedure TFrmClientes.bbtAplicarClick(Sender: TObject);
begin
//lm_finan
if QryLmFinan.State in [dsInsert,dsEdit] then
   QryLmFinan.Post;
end;

Anexo las partes donde se hace referencia al Client
Código Delphi [-]
procedure TFrmClientes.dbeActivoExit(Sender: TObject);
var Valor:variant;
begin
if QryLmFinan.active then
   begin
   if not(QryLmFinan.state in [dsinsert,dsedit])then
      QryLmFinan.edit;

   if TEdit(Sender).Text='' then
      valor:=0.00
   else
      Valor:=StrToFloat(RemCar(',',TEdit(Sender).Text));

   TEdit(Sender).Text:=FormatFloat('####,####,####,##0.00',Valor);

   if Valor<>QryLmFinanvlr_acti.AsFloat then
      QryLmFinanvlr_acti.AsFloat:=Valor;

   If((Trim(dbeActivo.Text)<>'')And(Trim(dbePasivo.Text)<>''))Then
      Try
        dbePatrimonio.Text:=FormatFloat('####,####,####,##0.00',Valor-StrToFloat(RemCar(',',dbePasivo.text)));
        If((Trim(dbeActivo.Text)<>'0.00')And(Trim(dbePasivo.Text)<>'0.00'))Then
            QryLmFinanvlr_patr.AsFloat:=StrToFloat(RemCar(',',dbePatrimonio.Text));
        Except
            ShowMessage('Valor activo o pasivo no valido. Verifique por favor!!');
            Abort;
        End;
   end;
end;

Código Delphi [-]
procedure TFrmClientes.dbePasivoExit(Sender: TObject);
var Valor:variant;
begin
if QryLmFinan.active then
   begin
   if not(QryLmFinan.state in [dsinsert,dsedit])then
      QryLmFinan.edit;

   if TEdit(Sender).Text='' then
      valor:=0.00
   else
      Valor:=StrToFloat(RemCar(',',TEdit(Sender).Text));

   TEdit(Sender).Text:=FormatFloat('####,####,####,##0.00',Valor);

   if Valor<>QryLmFinanvlr_pasi.AsFloat then
      QryLmFinanvlr_pasi.AsFloat:=Valor;

   If((Trim(dbeActivo.Text)<>'')And(Trim(dbePasivo.Text)<>''))Then
      Try
        dbePatrimonio.Text:=FormatFloat('####,####,####,##0.00',StrToFloat(RemCar(',',dbeActivo.text))-Valor);
        If((Trim(dbeActivo.Text)<>'0.00')And(Trim(dbePasivo.Text)<>'0.00'))Then
           QryLmFinanvlr_patr.AsFloat:=StrToFloat(RemCar(',',dbePatrimonio.Text));
        Except
             ShowMessage('Valor activo no valido. Verifique por favor.');
             Abort;
        End;
   end;
end;
Código Delphi [-]
procedure TFrmClientes.DBEIngresosPromedioExit(Sender: TObject);
var Valor:variant;
begin
if QryLmFinan.active then
   begin
   if not(QryLmFinan.state in [dsinsert,dsedit])then
      QryLmFinan.edit;

    if TEdit(Sender).Text='' then
       valor:=0.00
    else
       Valor:=StrToFloat(RemCar(',',TEdit(Sender).Text));

    TEdit(Sender).Text:=FormatFloat('####,####,####,##0.00',Valor);

    if Valor<>QryLmFinaning_prom.AsFloat then
       QryLmFinaning_prom.AsFloat:=Valor;

    If((Trim(DBEIngresosPromedio.Text)<>'')And(Trim(DBEEgresosPromedio.Text)<>''))Then
       Try
         DBEUtilidadPromedio.Text:=FormatFloat('####,####,####,##0.00',Valor-StrToFloat(RemCar(',',DBEEgresosPromedio.text)));
         If((Trim(DBEIngresosPromedio.Text)<>'0.00')And(Trim(DBEEgresosPromedio.Text)<>'0.00'))Then
            QryLmFinanuti_prom.AsFloat:=StrToFloat(RemCar(',',DBEUtilidadPromedio.Text));
         Except
              ShowMessage('Valor Ingreso o Egreso no valido. Verifique por favor!!');
              Abort;
         End;
    end;
end;
Código Delphi [-]
procedure TFrmClientes.DBEEgresosPromedioExit(Sender: TObject);
var Valor:variant;
begin
if QryLmFinan.active then
   begin
   if not(QryLmFinan.state in [dsinsert,dsedit])then
      QryLmFinan.edit;

   if TEdit(Sender).Text='' then
      valor:=0.00
   else
      Valor:=StrToFloat(RemCar(',',TEdit(Sender).Text));

   TEdit(Sender).Text:=FormatFloat('####,####,####,##0.00',Valor);

   if Valor<>QryLmFinanegr_prom.AsFloat then
      QryLmFinanegr_prom.AsFloat:=Valor;

   If((Trim(DBEIngresosPromedio.Text)<>'')And(Trim(DBEEgresosPromedio.Text)<>''))Then
      Try
        DBEUtilidadPromedio.Text:=FormatFloat('####,####,####,##0.00',StrToFloat(RemCar(',',DBEIngresosProme  dio.text))-Valor);
        If((Trim(DBEIngresosPromedio.Text)<>'0.00')And(Trim(DBEEgresosPromedio.Text)<>'0.00'))Then
            QryLmFinanuti_prom.AsFloat:=StrToFloat(RemCar(',',DBEUtilidadPromedio.Text));
        Except
             ShowMessage('Valor Ingreso o Egreso no valido. Verifique por favor!!');
             Abort;
        End;
   end;
end;
Código Delphi [-]
procedure TFrmClientes.DBEOtros_IngresosExit(Sender: TObject);
var Valor:variant;
begin
if QryLmFinan.active then
   begin
   if not(QryLmFinan.state in [dsinsert,dsedit])then
      QryLmFinan.edit;

   if TEdit(Sender).Text='' then
      valor:=0.00
   else
      Valor:=StrToFloat(RemCar(',',TEdit(Sender).Text));

   TEdit(Sender).Text:=FormatFloat('####,####,####,##0.00',Valor);

   if Valor<>QryLmFinanOtr_Ingr.AsFloat then
      QryLmFinanOtr_Ingr.AsFloat:=Valor;
   end;

end;
Código Delphi [-]
procedure TFrmClientes.DBEIngresosMensualExit(Sender: TObject);
var Valor:variant;
begin
if QryLmFinan.active then
   begin
   if not(QryLmFinan.state in [dsinsert,dsedit])then
      QryLmFinan.edit;

   if TEdit(Sender).Text='' then
      valor:=0.00
   else
      Valor:=StrToFloat(RemCar(',',TEdit(Sender).Text));

   TEdit(Sender).Text:=FormatFloat('####,####,####,##0.00',Valor);

   if Valor<>QryLmFinanIng_Mens.AsFloat then
      QryLmFinanIng_Mens.AsFloat:=Valor;

   If((Trim(DBEIngresosMensual.Text)<>'')And(Trim(DBEEgresosMensual.Text)<>''))Then
      Try
      DBEUtilidadMensual.Text:=FormatFloat('####,####,####,##0.00',Valor-StrToFloat(RemCar(',',DBEEgresosMensual.text)));
      If((Trim(DBEIngresosMensual.Text)<>'0.00')And(Trim(DBEEgresosMensual.Text)<>'0.00'))Then
         QryLmFinanUti_Mens.AsFloat:=StrToFloat(RemCar(',',DBEUtilidadMensual.Text));
      Except
           ShowMessage('Valor Ingreso Mensual o Egreso Mensual no valido. Verifique por favor!!');
           Abort;
      End;
   end;
end;
Código Delphi [-]
procedure TFrmClientes.DBEEgresosMensualExit(Sender: TObject);
var Valor:variant;
begin
if QryLmFinan.active then
   begin
   if not(QryLmFinan.state in [dsinsert,dsedit])then
      QryLmFinan.edit;

   if TEdit(Sender).Text='' then
      valor:=0.00
   else
      Valor:=StrToFloat(RemCar(',',TEdit(Sender).Text));

   TEdit(Sender).Text:=FormatFloat('####,####,####,##0.00',Valor);

   if Valor<>QryLmFinanEgr_Mens.AsFloat then
      QryLmFinanEgr_Mens.AsFloat:=Valor;

   If((Trim(DBEIngresosMensual.Text)<>'')And(Trim(DBEEgresosMensual.Text)<>''))Then
      Try
        DBEUtilidadMensual.Text:=FormatFloat('####,####,####,##0.00',StrToFloat(RemCar(',',DBEIngresosMensua  l.text))-Valor);
        If((Trim(DBEIngresosMensual.Text)<>'0.00')And(Trim(DBEEgresosMensual.Text)<>'0.00'))Then
           QryLmFinanUti_Mens.AsFloat:=StrToFloat(RemCar(',',DBEUtilidadMensual.Text));
        Except
             ShowMessage('Valor Ingreso Mensual o Egreso Mensual no valido. Verifique por favor!!');
             Abort;
        End;
   end;
end;
Código Delphi [-]
procedure TFrmClientes.QryLmFinanAfterOpen(DataSet: TDataSet);
begin
bbtaplicar.enabled:=false;
bbtcancelar.enabled:=false;
bbtAdicionar.enabled:=true;
QryLmFinan.findlast;

QryLmFinan.edit;
QryLmFinanActivo.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanvlr_acti.AsFloat);
QryLmFinanPasivo.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanvlr_pasi.AsFloat);
QryLmFinanPatrimonio.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanvlr_patr.AsFloat);
QryLmFinanIngresos.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinaning_prom.AsFloat);
QryLmFinanEgresos.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanegr_prom.AsFloat);
QryLmFinanUtilidad.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanuti_prom.AsFloat);
QryLmFinanIng_Mensual.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanIng_Mens.AsFloat);
QryLmFinanEgre_Mensual.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanEgr_Mens.AsFloat);
QryLmFinanUti_Mensual.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanUti_Mens.AsFloat);
QryLmFinanOtros_Ingresos.AsString:=FormatFloat('####,####,####,##0.00',QryLmFinanOtr_Ingr.AsFloat);
end;

Estas la mayoria de las partes donde se referencia a este ClientDataSet.

Espero que sirva de algo.

Muchas Gracias.
Responder Con Cita