Cita:
Empezado por oscarac
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
[-]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; QryLmFinan.Params.ParamByName('IdeCliente').AsString := QryLmCliennit_clie.AsString;
QryLmFinan.Params.ParamByName('TipoIde').AsString := QryLmClientip_iden.AsString;
QryLmFinan.Open;
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);
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
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.