unit uViewFiltroProveedores; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit, StdCtrls, Buttons, TBXDkPanels, uViewParametrosInforme, uBizContactos, uProveedoresController, uIViewParametrosInforme, uIViewFiltroProveedores; type TfrViewFiltroProveedores = class(TfrViewParametrosInforme, IViewFiltroProveedores) TBXLabel2: TTBXLabel; rbTodosProveedores: TRadioButton; rbUnProveedor: TRadioButton; cbxDesglosado: TCheckBox; bElegirProveedor: TBitBtn; edtProveedor: TcxTextEdit; procedure rbTodosProveedoresClick(Sender: TObject); procedure rbUnProveedorClick(Sender: TObject); procedure CustomViewCreate(Sender: TObject); procedure bElegirProveedorClick(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); private FProveedor : IBizProveedor; FProveedoresController : IProveedoresController; function getIdProveedor: Integer; procedure setIdProveedor(const IdProveedor:Integer); public property IdProveedor : Integer read getIdProveedor write setIdProveedor; property Proveedor : IBizProveedor read FProveedor; end; implementation {$R *.dfm} procedure TfrViewFiltroProveedores.bElegirProveedorClick(Sender: TObject); var AProveedores : IBizProveedor; begin inherited; AProveedores := IBizProveedor(FProveedoresController.BuscarTodos); try FProveedor := IBizProveedor(FProveedoresController.ElegirContacto(AProveedores, '', False)); if Assigned(FProveedor) then begin FProveedor.Open; edtProveedor.Text := FProveedor.NOMBRE; end; finally AProveedores := NIL; end; end; procedure TfrViewFiltroProveedores.CustomViewCreate(Sender: TObject); begin inherited; FProveedor := NIL; FProveedoresController := NIL; end; procedure TfrViewFiltroProveedores.CustomViewDestroy(Sender: TObject); begin inherited; FProveedor := NIL; FProveedoresController := NIL; end; function TfrViewFiltroProveedores.getIdProveedor: Integer; begin Result := FProveedor.ID; end; procedure TfrViewFiltroProveedores.rbTodosProveedoresClick(Sender: TObject); begin if rbTodosProveedores.Checked then begin cbxDesglosado.Enabled := True; FProveedor := NIL; bElegirProveedor.Enabled := False; edtProveedor.Clear; edtProveedor.Enabled := False; end; end; procedure TfrViewFiltroProveedores.rbUnProveedorClick(Sender: TObject); begin if rbUnProveedor.Checked then begin cbxDesglosado.Enabled := False; bElegirProveedor.Enabled := True; edtProveedor.Enabled := True; if not Assigned(FProveedoresController) then FProveedoresController := TProveedoresController.Create; end; end; procedure TfrViewFiltroProveedores.setIdProveedor(const IdProveedor: Integer); begin if not Assigned(FProveedoresController) then FProveedoresController := TProveedoresController.Create; FProveedor := IBizProveedor(FProveedoresController.Buscar(IdProveedor)); if Assigned(FProveedor) then begin FProveedor.Open; edtProveedor.Text := FProveedor.NOMBRE; end; end; end.