unit uViewCajasBancos; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics, dxLayoutControl, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxControls, cxCheckBox; type IViewCajasBancos = interface(IViewBase) ['{5266EE90-D715-462A-9720-FF0D4078A496}'] end; TfrViewCajasBancos = class(TfrViewBase, IViewCajasBancos) cbCajasBancos: TcxComboBox; dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; dxLayoutControl1Item1: TdxLayoutItem; dxLayoutControl1Item2: TdxLayoutItem; eContabilizar: TcxCheckBox; procedure CustomViewCreate(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); procedure cbCajaBancoPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); procedure eContabilizarPropertiesEditValueChanged(Sender: TObject); private FIdSubCuenta : Integer; FListaCajasBancos : TStringList; function getIDCajaBanco: Integer; public property IdSubCuenta: Integer read getIDCajaBanco; procedure ElegirCajaBanco(const AIdSubCuenta : Integer); end; implementation {$R *.dfm} {$INCLUDE ..\..\..\FactuGES.inc} uses uFactuGES_App, uSubCuentasController; procedure TfrViewCajasBancos.cbCajaBancoPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); begin inherited; FIdSubCuenta := StrToInt(FListaCajasBancos.Values[DisplayValue]); end; procedure TfrViewCajasBancos.CustomViewCreate(Sender: TObject); var i : integer; begin inherited; with TSubCuentasController.create do begin FListaCajasBancos := DarListaCajasBancos; with cbCajasBancos.Properties.Items do begin BeginUpdate; try Clear; for i := 0 to FListaCajasBancos.Count - 1 do Add(FListaCajasBancos.Names[i]); finally EndUpdate; end; end; Free; end; {$IFDEF CONTABILIDAD} eContabilizar.Checked := false; {$ELSE} eContabilizar.Checked := true; {$ENDIF} end; procedure TfrViewCajasBancos.CustomViewDestroy(Sender: TObject); begin inherited; FreeAndNIL(FListaCajasBancos); end; procedure TfrViewCajasBancos.eContabilizarPropertiesEditValueChanged(Sender: TObject); begin inherited; if not eContabilizar.Checked then begin cbCajasBancos.ItemIndex := 0; cbCajasBancos.Enabled := True; FIdSubCuenta := StrToInt(FListaCajasBancos.Values[cbCajasBancos.Text]); //Refrescamos el valor end else begin cbCajasBancos.ItemIndex := -1; cbCajasBancos.Enabled := False; end; end; procedure TfrViewCajasBancos.ElegirCajaBanco(const AIdSubCuenta: Integer); var i : integer; begin for i := 0 to FListaCajasBancos.Count-1 do begin if FListaCajasBancos.ValueFromIndex[i] = IntToStr(AIdSubCuenta) then begin cbCajasBancos.Text := FListaCajasBancos.Names[i]; Break; end; end; end; function TfrViewCajasBancos.getIDCajaBanco: Integer; begin Result := FIdSubCuenta; end; end.