unit uViewCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewContacto, DB, uDADataTable, DBCtrls, StdCtrls, Mask, ExtCtrls, uCustomView, uViewBase, JvComponent, JvFormAutoSize, cxControls, uBizContactos, cxContainer, cxEdit, cxTextEdit, cxDBEdit, dxLayoutLookAndFeels, dxLayoutControl, cxMemo, cxHyperLinkEdit, ImgList, ActnList, Buttons, PngSpeedButton, PngImageList, cxGraphics, cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox, uGruposClienteController, cxCheckBox, cxSpinEdit, Grids, DBGrids, uDAInterfaces, cxCalendar; type IViewCliente = interface(IViewContacto) ['{C06F4653-1745-4B7E-A3DC-102B2F23238E}'] end; TfrViewCliente = class(TfrViewContacto, IViewCliente) dxLayoutControlContactoItem24: TdxLayoutItem; eNombreComercial: TcxDBTextEdit; dxLayoutControlContactoItem26: TdxLayoutItem; cbClienteBloqueado: TcxDBCheckBox; dxLayoutControlContactoGroup18: TdxLayoutGroup; dxLayoutControlContactoItem19: TdxLayoutItem; cbGrupoCliente: TcxDBComboBox; dxLayoutControlContactoItem16: TdxLayoutItem; eBloqueo: TcxDBTextEdit; actBloqueoCliente: TAction; dxLayoutControlContactoItem22: TdxLayoutItem; eCodigoAsignado: TcxDBTextEdit; dxLayoutControlContactoGroup8: TdxLayoutGroup; dxLayoutControlContactoItem20: TdxLayoutItem; cbFelicitacion: TcxDBCheckBox; dxLayoutControlContactoItem21: TdxLayoutItem; eFechaIngreso: TcxDBDateEdit; dxLayoutControlContactoGroup14: TdxLayoutGroup; procedure cbGrupoClientePropertiesInitPopup(Sender: TObject); procedure cbGrupoClientePropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); procedure CustomViewCreate(Sender: TObject); procedure CustomViewDestroy(Sender: TObject); procedure actBloqueoClienteExecute(Sender: TObject); protected FGrupoController: IGruposClienteController; procedure SetContacto(const Value: IBizContacto); override; end; implementation {$R *.dfm} uses uBizGruposCliente; { TfrViewCliente } procedure TfrViewCliente.actBloqueoClienteExecute(Sender: TObject); begin inherited; eBloqueo.Enabled := cbClienteBloqueado.Checked; end; procedure TfrViewCliente.cbGrupoClientePropertiesInitPopup(Sender: TObject); begin inherited; with cbGrupoCliente.Properties.Items do begin BeginUpdate; try Clear; AddStrings(FGrupoController.DarListaGruposCliente); finally EndUpdate; end; end; end; procedure TfrViewCliente.cbGrupoClientePropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); var AGrupo : IBizGrupoCliente; begin inherited; with (Sender as TcxDBComboBox) do begin if (Length(DisplayValue) > 0) and (DisplayValue <> (Contacto as IBizCliente).GRUPO_CLIENTE) then if Properties.LookupItems.IndexOf(DisplayValue) < 0 then begin Properties.LookupItems.BeginUpdate; AGrupo := FGrupoController.BuscarTodos; AGrupo.DataTable.Active := True; try FGrupoController.Anadir(AGrupo); AGrupo.DESCRIPCION := DisplayValue; FGrupoController.Guardar(AGrupo); Properties.LookupItems.Add(DisplayValue); finally Properties.LookupItems.EndUpdate; AGrupo := NIL; end; end; end; end; procedure TfrViewCliente.CustomViewCreate(Sender: TObject); begin inherited; FGrupoController := TGruposClienteController.Create; end; procedure TfrViewCliente.CustomViewDestroy(Sender: TObject); begin FGrupoController := NIL; inherited; end; procedure TfrViewCliente.SetContacto(const Value: IBizContacto); begin inherited; if Assigned(FContacto) then eBloqueo.Enabled := cbClienteBloqueado.Checked; end; end.