unit uEditorElegirDomiciliacion; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, ExtCtrls, uEditorBasico, uIEditorElegirDomiciliacion, cxGraphics, DB, uDAInterfaces, uDADataTable, cxDBEdit, uEmpresasController; type TfEditorElegirDomiciliacion = class(TfEditorBasico, IEditorElegirDomiciliacion) Label1: TLabel; bAceptar: TButton; bCancelar: TButton; Label2: TLabel; Panel1: TPanel; cbCuentaBancaria: TcxComboBox; procedure FormShow(Sender: TObject); private FCuentaBancaria: String; function GetCuentaBancaria: String; procedure SetCuentaBancaria(const Value: String); public property CuentaBancaria: String Read GetCuentaBancaria write SetCuentaBancaria; end; implementation {$R *.dfm} uses uFactuGES_App; procedure TfEditorElegirDomiciliacion.FormShow(Sender: TObject); var AController: IEmpresasController; ALista : TStringList; AListaIBAN : TStringList; i : integer; begin AController := TEmpresasController.Create; try ALista := AController.DarListaCuentasBancarias(AppFactuGES.EmpresaActiva); AListaIBAN := AController.DarListaCuentasBancariasIBAN(AppFactuGES.EmpresaActiva); try with cbCuentaBancaria.Properties.Items do begin BeginUpdate; try Clear; Add(''); for i := 0 to ALista.Count - 1 do Add(ALista.Names[i]); if AListaIBAN.Count > 0 then begin Add('--------------'); for i := 0 to AListaIBAN.Count - 1 do Add(AListaIBAN.Names[i]); end; finally EndUpdate; end; end; finally FreeANDNIL(ALista); FreeANDNIL(AListaIBAN); end; finally AController := NIL; end; cbCuentaBancaria.ItemIndex := 0; end; function TfEditorElegirDomiciliacion.GetCuentaBancaria: String; begin Result := cbCuentaBancaria.EditValue; end; procedure TfEditorElegirDomiciliacion.SetCuentaBancaria(const Value: String); begin cbCuentaBancaria.ItemIndex := cbCuentaBancaria.Properties.Items.IndexOfName(Value); end; end.