unit uViewProveedorDatosComerciales; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, cxGraphics, DB, uDADataTable, dxLayoutControl, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, cxControls, cxSpinEdit, cxDBEdit, uBizContactos, cxCheckBox, StdCtrls, uFormasPagoController, uTiposIVAController, uDAInterfaces, uBizTiposIVA, uBizFormasPago; type IViewProveedorDatosComerciales = interface(IViewBase) ['{26EEABD7-5603-48B5-ACC3-F493DAA1A0EC}'] function GetContacto: IBizContacto; procedure SetContacto(const Value: IBizContacto); property Contacto: IBizContacto read GetContacto write SetContacto; end; TfrViewProveedorDatosComerciales = class(TfrViewBase, IViewProveedorDatosComerciales) dxLayoutControl1: TdxLayoutControl; dxLayoutGroup1: TdxLayoutGroup; dxLayoutControl1Group3: TdxLayoutGroup; dsAgentes: TDADataSource; dxLayoutControl1Item3: TdxLayoutItem; cbRegimenIVA: TcxDBComboBox; dsDatosComerciales: TDADataSource; dsFormaPago: TDADataSource; dxLayoutControl1Item5: TdxLayoutItem; cbFormaPago: TcxDBLookupComboBox; dxLayoutControl1Group5: TdxLayoutGroup; Label1: TLabel; dxLayoutControl1Item6: TdxLayoutItem; bFormasPago: TButton; dxLayoutControl1Item7: TdxLayoutItem; dxLayoutControl1Item8: TdxLayoutItem; eIVA: TcxDBLookupComboBox; dxLayoutControl1Item9: TdxLayoutItem; bTiposIVA: TButton; dsTiposIVA: TDADataSource; dxLayoutControl1Group1: TdxLayoutGroup; dxLayoutControl1Group2: TdxLayoutGroup; dxLayoutControl1Item10: TdxLayoutItem; eDescuento: TcxDBSpinEdit; dxLayoutControl1Group4: TdxLayoutGroup; dxLayoutControl1Group6: TdxLayoutGroup; dxLayoutControl1Item1: TdxLayoutItem; Label2: TLabel; dxLayoutControl1Item2: TdxLayoutItem; eDiasVencimiento1: TcxDBSpinEdit; dxLayoutControl1Item4: TdxLayoutItem; eDiasVencimiento2: TcxDBSpinEdit; dxLayoutControl1Item11: TdxLayoutItem; eDiasVencimiento3: TcxDBSpinEdit; procedure CustomViewCreate(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); procedure cbRegimenIVAPropertiesInitPopup(Sender: TObject); procedure bFormasPagoClick(Sender: TObject); procedure bTiposIVAClick(Sender: TObject); protected FContacto : IBizContacto; FTiposIVA : IBizTipoIVA; FFormasPago : IBizFormaPago; FFormasPagoController : IFormasPagoController; FTiposIVAController : ITiposIVAController; function GetContacto: IBizContacto; procedure SetContacto(const Value: IBizContacto); public property Contacto: IBizContacto read GetContacto write SetContacto; end; implementation {$R *.dfm} uses uRegimenIVAUtils; { TfrViewProveedorDatosComerciales } procedure TfrViewProveedorDatosComerciales.bFormasPagoClick(Sender: TObject); begin inherited; if Assigned(FFormasPago) then FFormasPagoController.VerTodos(FFormasPago); end; procedure TfrViewProveedorDatosComerciales.bTiposIVAClick(Sender: TObject); begin inherited; if Assigned(FTiposIVA) then FTiposIVAController.VerTodos(FTiposIVA); end; procedure TfrViewProveedorDatosComerciales.cbRegimenIVAPropertiesInitPopup( Sender: TObject); begin inherited; with cbRegimenIVA.Properties do begin if Items.Count = 0 then Items := DarRegimenesIVA; end; end; procedure TfrViewProveedorDatosComerciales.CustomViewCreate(Sender: TObject); begin inherited; FTiposIVA := Nil; FFormasPago := Nil; FContacto := Nil; FFormasPagoController := TFormasPagoController.Create; FTiposIVAController := TTiposIVAController.Create; end; procedure TfrViewProveedorDatosComerciales.CustomViewDestroy(Sender: TObject); begin inherited; FTiposIVA := Nil; FFormasPago := Nil; FContacto := Nil; FFormasPagoController := NIL; FTiposIVAController := NIL; end; function TfrViewProveedorDatosComerciales.GetContacto: IBizContacto; begin Result := FContacto; end; procedure TfrViewProveedorDatosComerciales.SetContacto(const Value: IBizContacto); begin FContacto := Value; if Assigned(FContacto) then begin dsDatosComerciales.DataTable := FContacto.DataTable; FFormasPago := FFormasPagoController.BuscarTodos; dsFormaPago.DataTable := FFormasPago.DataTable; dsFormaPago.DataTable.Active := True; FTiposIVA := FTiposIVAController.BuscarTodos; dsTiposIVA.DataTable := FTiposIVA.DataTable; dsTiposIVA.DataTable.Active := True; end else begin dsDatosComerciales.DataTable := NIL; dsFormaPago.DataTable := NIL; dsTiposIVA.DataTable := NIL; end end; end.