unit uViewReciboProveedor; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, uBizRecibosProveedor, uRecibosProveedorController, DB, uDADataTable, dxLayoutControl, cxControls, cxCurrencyEdit, cxDBEdit, cxMemo, cxMaskEdit, cxDropDownEdit, cxCalendar, cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, ExtCtrls, uDAInterfaces, cxGraphics; type IViewReciboProveedor = interface(IViewBase) ['{3EDDAF2C-2A99-43AE-8DBB-3AC300660D94}'] function GetRecibo: IBizRecibosProveedor; procedure SetRecibo(const Value: IBizRecibosProveedor); property Recibo: IBizRecibosProveedor read GetRecibo write SetRecibo; function GetController : IRecibosProveedorController; procedure SetController (const Value : IRecibosProveedorController); property Controller : IRecibosProveedorController read GetController write SetController; end; TfrViewReciboProveedor = class(TfrViewBase, IViewReciboProveedor) DADataSource: TDADataSource; dxLayoutControl1Group_Root: TdxLayoutGroup; dxLayoutControl1: TdxLayoutControl; dxLayoutControl1Item1: TdxLayoutItem; eReferencia: TcxDBTextEdit; dxLayoutControl1Item2: TdxLayoutItem; eSituacion: TcxDBTextEdit; dxLayoutControl1Item3: TdxLayoutItem; edtFechaVencimiento: TcxDBDateEdit; dxLayoutControl1Item5: TdxLayoutItem; memObservaciones: TcxDBMemo; dxLayoutControl1Group1: TdxLayoutGroup; dxLayoutControl1Item7: TdxLayoutItem; eFechaEmision: TcxDBTextEdit; dxLayoutControl1Item8: TdxLayoutItem; eFormaPago: TcxDBTextEdit; dxLayoutControl1Item9: TdxLayoutItem; eImporteTotal: TcxDBCurrencyEdit; dxLayoutControl1Group5: TdxLayoutGroup; dxLayoutControl1Item10: TdxLayoutItem; eNombreCliente: TcxDBTextEdit; dxLayoutControl1Item11: TdxLayoutItem; eNifCif: TcxDBTextEdit; dxLayoutControl1Group6: TdxLayoutGroup; dxLayoutControl1Group8: TdxLayoutGroup; dxLayoutControl1Item16: TdxLayoutItem; eRemesa: TcxDBTextEdit; dxLayoutControl1Group2: TdxLayoutGroup; dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList; dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel; dxLayoutControl1Group7: TdxLayoutGroup; dxLayoutControl1Group9: TdxLayoutGroup; dxLayoutControl1Item19: TdxLayoutItem; edtFechaEmision: TcxDBDateEdit; dxLayoutControl1Item20: TdxLayoutItem; eReferenciaProveedor: TcxDBTextEdit; dxLayoutControl1Item21: TdxLayoutItem; rReferenciaFacturaProv: TcxDBTextEdit; dxLayoutControl1Item4: TdxLayoutItem; rRefReciboCompensado: TcxDBTextEdit; dxLayoutControl1Item6: TdxLayoutItem; eCuentaFactura: TcxDBTextEdit; dxLayoutControl1Item13: TdxLayoutItem; cbCuentaBancaria: TcxDBComboBox; private FRecibo : IBizRecibosProveedor; FController : IRecibosProveedorController; function GetRecibo: IBizRecibosProveedor; procedure SetRecibo(const Value: IBizRecibosProveedor); function GetController : IRecibosProveedorController; procedure SetController (const Value : IRecibosProveedorController); protected procedure RellenarCuentasBancarias; public property Recibo: IBizRecibosProveedor read GetRecibo write SetRecibo; property Controller : IRecibosProveedorController read GetController write SetController; end; var frViewReciboProveedor: TfrViewReciboProveedor; implementation {$R *.dfm} { TfrViewReciboProveedor } uses uEmpresasController, uFactuGES_App; function TfrViewReciboProveedor.GetController: IRecibosProveedorController; begin Result := FController; end; function TfrViewReciboProveedor.GetRecibo: IBizRecibosProveedor; begin Result := FRecibo; end; procedure TfrViewReciboProveedor.RellenarCuentasBancarias; var AController : IEmpresasController; ALista : TStringList; AListaIBAN : TStringList; AListaProveedor : TStringList; i : integer; begin AController := TEmpresasController.Create; try ALista := AController.DarListaCuentasBancarias(AppFactuGES.EmpresaActiva); AListaIBAN := AController.DarListaCuentasBancariasIBAN(AppFactuGES.EmpresaActiva); AListaProveedor := Controller.ProveedorController.DarListaCuentasBancarias(FRecibo.ID_PROVEEDOR); 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('Cuentas de ' + AppFactuGES.EmpresaActiva.NOMBRE + '-----------------'); for i := 0 to AListaIBAN.Count - 1 do Add(AListaIBAN.Names[i]); end; if AListaProveedor.Count > 0 then begin Add('Cuentas del Proveedor -----------------'); for i := 0 to AListaProveedor.Count - 1 do Add(AListaProveedor.Names[i]); end; finally EndUpdate; end; end; finally FreeANDNIL(ALista); FreeANDNIL(AListaIBAN); FreeANDNIL(AListaProveedor); end; finally AController := NIL; end; end; procedure TfrViewReciboProveedor.SetController(const Value: IRecibosProveedorController); begin FController := Value; end; procedure TfrViewReciboProveedor.SetRecibo(const Value: IBizRecibosProveedor); begin FRecibo := Value; RellenarCuentasBancarias; if Assigned(FRecibo) then DADataSource.DataTable := FRecibo.DataTable else DADataSource.DataTable := NIL; end; end.