git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@54 93f398dd-4eb6-7a46-baf6-13f46f578da2
401 lines
11 KiB
ObjectPascal
401 lines
11 KiB
ObjectPascal
unit uViewEmpresa;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable,
|
||
DBCtrls, Grids, DBGrids, uBizEmpresas, Mask, ComCtrls, uCustomView,
|
||
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
|
||
cxDBEdit, dxLayoutControl, dxLayoutLookAndFeels, cxMemo, cxMaskEdit,
|
||
cxSpinEdit, cxImage, JvExControls, JvBitmapButton, ActnList, ImgList,
|
||
PngImageList, TB2Item, TBX, TB2Dock, TB2Toolbar, PngSpeedButton, uDAInterfaces,
|
||
cxGraphics, cxDropDownEdit, uEmpresasController, uViewObservaciones,
|
||
cxCurrencyEdit;
|
||
|
||
type
|
||
IViewEmpresa = interface(IViewBase)
|
||
['{876DCEBD-9E92-491A-84CE-498B1A84B525}']
|
||
function GetEmpresa: IBizEmpresa;
|
||
procedure SetEmpresa(const Value: IBizEmpresa);
|
||
property Empresa: IBizEmpresa read GetEmpresa write SetEmpresa;
|
||
function GetController : IEmpresasController;
|
||
procedure SetController (const Value : IEmpresasController);
|
||
property Controller : IEmpresasController read GetController write SetController;
|
||
end;
|
||
|
||
TfrViewEmpresa = class(TfrViewBase, IViewEmpresa)
|
||
DADataSource: TDADataSource;
|
||
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
||
dxLayoutControl1: TdxLayoutControl;
|
||
dxLayoutControl1Group1: TdxLayoutGroup;
|
||
dxLayoutControl1Group2: TdxLayoutGroup;
|
||
dxLayoutControl1Group3: TdxLayoutGroup;
|
||
dxLayoutControl1Group4: TdxLayoutGroup;
|
||
dxLayoutControl1Group5: TdxLayoutGroup;
|
||
dxLayoutControl1Group6: TdxLayoutGroup;
|
||
dxLayoutControl1Group7: TdxLayoutGroup;
|
||
dxLayoutControl1Item1: TdxLayoutItem;
|
||
eCalle: TcxDBTextEdit;
|
||
dxLayoutControl1Item2: TdxLayoutItem;
|
||
cbProvincia: TcxDBComboBox;
|
||
dxLayoutControl1Item3: TdxLayoutItem;
|
||
cbPoblacion: TcxDBComboBox;
|
||
dxLayoutControl1Item4: TdxLayoutItem;
|
||
eCodigoPostal: TcxDBTextEdit;
|
||
dxLayoutControl1Item5: TdxLayoutItem;
|
||
ePaginaWeb: TcxDBTextEdit;
|
||
dxLayoutControl1Item6: TdxLayoutItem;
|
||
eMailParticular: TcxDBTextEdit;
|
||
dxLayoutControl1Item7: TdxLayoutItem;
|
||
eMailTrabajo: TcxDBTextEdit;
|
||
dxLayoutControl1Item9: TdxLayoutItem;
|
||
eTlfParticular: TcxDBTextEdit;
|
||
dxLayoutControl1Item10: TdxLayoutItem;
|
||
eTlfTrabajo: TcxDBTextEdit;
|
||
dxLayoutControl1Item11: TdxLayoutItem;
|
||
eTlfMovil: TcxDBTextEdit;
|
||
dxLayoutControl1Item12: TdxLayoutItem;
|
||
eFax: TcxDBTextEdit;
|
||
dxLayoutControl1Item13: TdxLayoutItem;
|
||
eNombre: TcxDBTextEdit;
|
||
dxLayoutControl1Item14: TdxLayoutItem;
|
||
eNIFCIF: TcxDBTextEdit;
|
||
dxLayoutControl1Item15: TdxLayoutItem;
|
||
memRegistroMercantil: TcxDBMemo;
|
||
dxLayoutControl1Group10: TdxLayoutGroup;
|
||
dxLayoutControl1Group9: TdxLayoutGroup;
|
||
dxLayoutControl1Group11: TdxLayoutGroup;
|
||
ActionList1: TActionList;
|
||
actAnadir: TAction;
|
||
actEliminar: TAction;
|
||
SmallImages: TPngImageList;
|
||
OpenDialog1: TOpenDialog;
|
||
cxDBImage1: TcxDBImage;
|
||
dxLayoutControl1Item17: TdxLayoutItem;
|
||
PngSpeedButton1: TPngSpeedButton;
|
||
dxLayoutControl1Item19: TdxLayoutItem;
|
||
PngSpeedButton2: TPngSpeedButton;
|
||
dxLayoutControl1Item20: TdxLayoutItem;
|
||
dxLayoutControl1Group12: TdxLayoutGroup;
|
||
dxLayoutControl1Group13: TdxLayoutGroup;
|
||
dxLayoutControl1Item18: TdxLayoutItem;
|
||
cbFormaPago: TcxComboBox;
|
||
dxLayoutControl1Item16: TdxLayoutItem;
|
||
cbTipoIVA: TcxComboBox;
|
||
frViewObservaciones1: TfrViewObservaciones;
|
||
dxLayoutControl1Item8: TdxLayoutItem;
|
||
eValidez: TcxDBSpinEdit;
|
||
dxLayoutControl1Item21: TdxLayoutItem;
|
||
ePrecioPunto: TcxDBCurrencyEdit;
|
||
dxLayoutControl1Item22: TdxLayoutItem;
|
||
procedure actAnadirExecute(Sender: TObject);
|
||
procedure actEliminarExecute(Sender: TObject);
|
||
procedure actEliminarUpdate(Sender: TObject);
|
||
procedure actAnadirUpdate(Sender: TObject);
|
||
procedure eProvinciaPropertiesInitPopup(Sender: TObject);
|
||
procedure ePoblacionPropertiesInitPopup(Sender: TObject);
|
||
procedure FormaPagoEditValueChanged(Sender: TObject);
|
||
procedure TipoIVAEditValueChanged(Sender: TObject);
|
||
procedure CustomViewShow(Sender: TObject);
|
||
|
||
private
|
||
FEmpresa: IBizEmpresa;
|
||
FController : IEmpresasController;
|
||
FProvincias : TStringList;
|
||
FIDProvincia : Integer; //Almacenar<61> la provincia que hay seleccionada para no cargar las poblaciones si no es necesario
|
||
FPoblaciones : TStringList;
|
||
FFormasPago: TStringList;
|
||
FTiposIVA: TStringList;
|
||
function GetEmpresa: IBizEmpresa;
|
||
procedure SetEmpresa(const Value: IBizEmpresa);
|
||
function GetController : IEmpresasController;
|
||
procedure SetController (const Value : IEmpresasController);
|
||
procedure CargarProvincias;
|
||
procedure CargarPoblaciones;
|
||
|
||
public
|
||
property Controller : IEmpresasController read GetController write SetController;
|
||
constructor Create(AOwner : TComponent); override;
|
||
destructor Destroy; override;
|
||
end;
|
||
|
||
implementation
|
||
{$R *.dfm}
|
||
|
||
uses uROClasses, uROTypes, uProvinciasPoblacionesController, uStringsUtils;
|
||
|
||
{ TfrViewEmpresas }
|
||
|
||
{
|
||
******************************* TfrViewEmpresa ********************************
|
||
}
|
||
procedure TfrViewEmpresa.actAnadirExecute(Sender: TObject);
|
||
{var
|
||
StdStream: TMemoryStream;
|
||
StreamRO: IROStream;
|
||
}
|
||
begin
|
||
inherited;
|
||
cxDBImage1.LoadFromFile;
|
||
|
||
{if not OpenDialog1.Execute then
|
||
Exit;
|
||
try
|
||
StdStream := TMemoryStream.Create;
|
||
StdStream.LoadFromFile(OpenDialog1.FileName);
|
||
StreamRO := NewROStream(StdStream,False);
|
||
DADataSource.DataTable.Edit;
|
||
// DADataSource.DataTable.FieldByName('LOGOTIPO').Clear;
|
||
DADataSource.DataTable.FieldByName('LOGOTIPO').LoadFromStream(StreamRO);
|
||
|
||
DADataSource.DataTable.Post;
|
||
finally
|
||
StdStream.Free;
|
||
end;
|
||
}
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.actAnadirUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
// (Sender as TAction).Enabled := cxDBImage1.Picture.Graphic.Empty;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.actEliminarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
cxDBImage1.Clear;
|
||
|
||
{ DADataSource.DataTable.Edit;
|
||
DADataSource.DataTable.FieldByName('LOGOTIPO').AsVariant := Null;
|
||
DADataSource.DataTable.Post;
|
||
}
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.actEliminarUpdate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
// (Sender as TAction).Enabled := not cxDBImage1.Picture.Graphic.Empty;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.CargarPoblaciones;
|
||
var
|
||
i : integer;
|
||
|
||
begin
|
||
if (FIDProvincia <> StrToInt(FProvincias.Values[cbProvincia.Text])) then
|
||
Begin
|
||
FIDProvincia := StrToInt(FProvincias.Values[cbProvincia.Text]);
|
||
|
||
with TProvinciasPoblacionesController.Create do
|
||
begin
|
||
try
|
||
FPoblaciones := DarListaPoblaciones(FIDProvincia);
|
||
with cbPoblacion.Properties.Items do
|
||
begin
|
||
BeginUpdate;
|
||
try
|
||
Clear;
|
||
for i := 0 to FPoblaciones.Count - 1 do
|
||
Add(FPoblaciones.Names[i]);
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
finally
|
||
Free;
|
||
end;
|
||
end;
|
||
End;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.CargarProvincias;
|
||
var
|
||
i : integer;
|
||
begin
|
||
with TProvinciasPoblacionesController.Create do
|
||
begin
|
||
try
|
||
FProvincias := DarListaProvincias;
|
||
|
||
with cbProvincia.Properties.Items do
|
||
begin
|
||
BeginUpdate;
|
||
try
|
||
Clear;
|
||
for i := 0 to FProvincias.Count - 1 do
|
||
Add(FProvincias.Names[i]);
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
finally
|
||
Free;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
constructor TfrViewEmpresa.Create(AOwner : TComponent);
|
||
begin
|
||
inherited;
|
||
FIDProvincia := 0;
|
||
FProvincias := NIL;
|
||
FPoblaciones := NIL;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.CustomViewShow(Sender: TObject);
|
||
var
|
||
i: Integer;
|
||
begin
|
||
inherited;
|
||
|
||
//Activamos la forma de pago que tenga la empresa
|
||
cbFormaPago.ItemIndex := 0;
|
||
for i := 0 to FFormasPago.Count - 1 do
|
||
if IntToStr(FEmpresa.ID_FORMA_PAGO) = FFormasPago.Values[FFormasPago.Names[i]] then
|
||
cbFormaPago.ItemIndex := i;
|
||
|
||
cbFormaPago.Properties.OnEditValueChanged := FormaPagoEditValueChanged;
|
||
|
||
//Activamos el tipo iva que tenga la empresa
|
||
cbTipoIVA.ItemIndex := 0;
|
||
for i := 0 to FTiposIVA.Count - 1 do
|
||
if IntToStr(FEmpresa.ID_TIPO_IVA) = FTiposIVA.Values[FTiposIVA.Names[i]] then
|
||
cbTipoIVA.ItemIndex := i;
|
||
|
||
cbTipoIVA.Properties.OnEditValueChanged := TipoIVAEditValueChanged;
|
||
end;
|
||
|
||
destructor TfrViewEmpresa.Destroy;
|
||
begin
|
||
FController := Nil;
|
||
|
||
if Assigned(FTiposIVA) then
|
||
FreeANDNIL(FTiposIVA);
|
||
|
||
if Assigned(FFormasPago) then
|
||
FreeANDNIL(FFormasPago);
|
||
|
||
if Assigned(FProvincias) then
|
||
FreeANDNIL(FProvincias);
|
||
|
||
if Assigned(FPoblaciones) then
|
||
FreeANDNIL(FPoblaciones);
|
||
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.ePoblacionPropertiesInitPopup(Sender: TObject);
|
||
begin
|
||
ShowHourglassCursor;
|
||
try
|
||
FreeANDNIL(FPoblaciones);
|
||
if not Assigned(FProvincias) then
|
||
CargarProvincias;
|
||
if not EsCadenaVacia(cbProvincia.Text) and (FProvincias.IndexOfName(cbProvincia.Text) <> -1) then
|
||
CargarPoblaciones
|
||
finally
|
||
HideHourglassCursor;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.eProvinciaPropertiesInitPopup(Sender: TObject);
|
||
begin
|
||
ShowHourglassCursor;
|
||
try
|
||
if not Assigned(FProvincias) then
|
||
CargarProvincias;
|
||
finally
|
||
HideHourglassCursor;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.FormaPagoEditValueChanged(Sender: TObject);
|
||
var
|
||
IDFormaPago: String;
|
||
begin
|
||
IDFormaPago := '';
|
||
if Assigned(FFormasPago) then
|
||
IDFormaPago := FFormasPago.Values[cbFormaPago.EditValue];
|
||
|
||
Controller.AsignarIDFormaPago(FEmpresa, IDFormaPago);
|
||
end;
|
||
|
||
function TfrViewEmpresa.GetController: IEmpresasController;
|
||
begin
|
||
Result := FController;
|
||
end;
|
||
|
||
function TfrViewEmpresa.GetEmpresa: IBizEmpresa;
|
||
begin
|
||
Result := FEmpresa;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.SetController(const Value: IEmpresasController);
|
||
var
|
||
i: Integer;
|
||
begin
|
||
FController := Value;
|
||
|
||
if Assigned(FController) then
|
||
begin
|
||
FFormasPago := FController.DarListaFormasPago;
|
||
if Assigned(FFormasPago) then
|
||
with cbFormaPago.Properties.Items do
|
||
begin
|
||
BeginUpdate;
|
||
try
|
||
Clear;
|
||
for i := 0 to FFormasPago.Count - 1 do
|
||
Add(FFormasPago.Names[i]);
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
|
||
FTiposIVA := FController.DarListaTiposIVA;
|
||
if Assigned(FTiposIVA) then
|
||
with cbTipoIVA.Properties.Items do
|
||
begin
|
||
BeginUpdate;
|
||
try
|
||
Clear;
|
||
for i := 0 to FTiposIVA.Count - 1 do
|
||
Add(FTiposIVA.Names[i]);
|
||
finally
|
||
EndUpdate;
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.SetEmpresa(const Value: IBizEmpresa);
|
||
begin
|
||
FEmpresa := Value;
|
||
if Assigned(FEmpresa) then
|
||
DADataSource.DataTable := FEmpresa.DataTable
|
||
else
|
||
DADataSource.DataTable := NIL;
|
||
end;
|
||
|
||
procedure TfrViewEmpresa.TipoIVAEditValueChanged(Sender: TObject);
|
||
var
|
||
IDTipoIVA: String;
|
||
begin
|
||
IDTipoIVA := '';
|
||
if Assigned(FTiposIVA) then
|
||
IDTipoIVA := FTiposIVA.Values[cbTipoIVA.EditValue];
|
||
|
||
Controller.AsignarIDTipoIVA(FEmpresa, IDTipoIVA);
|
||
end;
|
||
|
||
initialization
|
||
RegisterClass(TfrViewEmpresa);
|
||
|
||
finalization
|
||
UnRegisterClass(TfrViewEmpresa);
|
||
|
||
end.
|
||
|