git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@448 0c75b7a4-871f-7646-8a2f-f78d34cc349f
190 lines
5.3 KiB
ObjectPascal
190 lines
5.3 KiB
ObjectPascal
unit uViewAlmacen;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable,
|
|
DBCtrls, Grids, DBGrids, uBizAlmacenes, Mask, ComCtrls, uCustomView,
|
|
JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit,
|
|
cxDBEdit, dxLayoutControl, uDAInterfaces, dxSkinsCore, dxSkinBlue,
|
|
dxSkinCaramel, dxSkinCoffee, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian,
|
|
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins,
|
|
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
|
|
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust,
|
|
dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue,
|
|
dxSkinsdxLCPainter, cxGraphics, cxMaskEdit, cxDropDownEdit;
|
|
|
|
type
|
|
IViewAlmacen = interface(IViewBase)
|
|
['{F44F8AEF-CB9C-44D5-93DA-53D6AB6A2D29}']
|
|
function GetAlmacen: IBizAlmacen;
|
|
procedure SetAlmacen(const Value: IBizAlmacen);
|
|
property Almacen: IBizAlmacen read GetAlmacen write SetAlmacen;
|
|
end;
|
|
|
|
TfrViewAlmacen = class(TfrViewBase, IViewAlmacen)
|
|
DADataSource: TDADataSource;
|
|
ePersonaContacto: TcxDBTextEdit;
|
|
eTlfTelefono: TcxDBTextEdit;
|
|
eTlfMovil: TcxDBTextEdit;
|
|
eFax: TcxDBTextEdit;
|
|
dxLayoutControlAlmacenGroup_Root: TdxLayoutGroup;
|
|
dxLayoutControlAlmacen: TdxLayoutControl;
|
|
dxLayoutControlAlmacenGroup1: TdxLayoutGroup;
|
|
dxLayoutControlAlmacenItem3: TdxLayoutItem;
|
|
eNombre: TcxDBTextEdit;
|
|
dxLayoutControlAlmacenItem4: TdxLayoutItem;
|
|
dxLayoutControlAlmacenGroup2: TdxLayoutGroup;
|
|
dxLayoutControlAlmacenItem1: TdxLayoutItem;
|
|
dxLayoutControlAlmacenItem5: TdxLayoutItem;
|
|
dxLayoutControlAlmacenItem6: TdxLayoutItem;
|
|
dxLayoutControlAlmacenGroup3: TdxLayoutGroup;
|
|
dxLayoutControlAlmacenGroup4: TdxLayoutGroup;
|
|
dxLayoutControlAlmacenItem10: TdxLayoutItem;
|
|
eCalle: TcxDBTextEdit;
|
|
dxLayoutControlAlmacenItem2: TdxLayoutItem;
|
|
cbPoblacion: TcxDBComboBox;
|
|
dxLayoutControlAlmacenItem7: TdxLayoutItem;
|
|
eCodigoPostal: TcxDBTextEdit;
|
|
dxLayoutControlAlmacenItem9: TdxLayoutItem;
|
|
cbProvincia: TcxDBComboBox;
|
|
dxLayoutControlAlmacenGroup6: TdxLayoutGroup;
|
|
procedure cbProvinciaPropertiesInitPopup(Sender: TObject);
|
|
procedure cbPoblacionPropertiesInitPopup(Sender: TObject);
|
|
protected
|
|
FAlmacen: IBizAlmacen;
|
|
FProvincias : TStringList;
|
|
FPoblaciones : TStringList;
|
|
procedure CargarProvincias;
|
|
procedure CargarPoblaciones;
|
|
function GetAlmacen: IBizAlmacen;
|
|
procedure SetAlmacen(const Value: IBizAlmacen);
|
|
public
|
|
constructor Create(AOwner : TComponent); override;
|
|
destructor Destroy;
|
|
property Almacen: IBizAlmacen read GetAlmacen write SetAlmacen;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uDataModuleAlmacenes, uProvinciasPoblacionesController, uStringsUtils;
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfrViewAlmacenes }
|
|
|
|
{
|
|
******************************* TfrViewAlmacenes ********************************
|
|
}
|
|
|
|
procedure TfrViewAlmacen.CargarPoblaciones;
|
|
var
|
|
i : integer;
|
|
AID : Integer;
|
|
begin
|
|
AID := StrToInt(FProvincias.Values[cbProvincia.Text]);
|
|
with TProvinciasPoblacionesController.Create do
|
|
try
|
|
FPoblaciones := DarListaPoblaciones(AID);
|
|
|
|
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;
|
|
|
|
procedure TfrViewAlmacen.CargarProvincias;
|
|
var
|
|
i : integer;
|
|
begin
|
|
with TProvinciasPoblacionesController.Create do
|
|
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;
|
|
|
|
procedure TfrViewAlmacen.cbPoblacionPropertiesInitPopup(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 TfrViewAlmacen.cbProvinciaPropertiesInitPopup(Sender: TObject);
|
|
begin
|
|
ShowHourglassCursor;
|
|
try
|
|
if not Assigned(FProvincias) then
|
|
CargarProvincias;
|
|
finally
|
|
HideHourglassCursor;
|
|
end;
|
|
end;
|
|
|
|
constructor TfrViewAlmacen.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FProvincias := NIL;
|
|
FPoblaciones := NIL;
|
|
end;
|
|
|
|
destructor TfrViewAlmacen.Destroy;
|
|
begin
|
|
if Assigned(FProvincias) then
|
|
FreeANDNIL(FProvincias);
|
|
|
|
if Assigned(FPoblaciones) then
|
|
FreeANDNIL(FPoblaciones);
|
|
end;
|
|
|
|
function TfrViewAlmacen.GetAlmacen: IBizAlmacen;
|
|
begin
|
|
Result := FAlmacen;
|
|
end;
|
|
|
|
procedure TfrViewAlmacen.SetAlmacen(const Value: IBizAlmacen);
|
|
begin
|
|
FAlmacen := Value;
|
|
if Assigned(FAlmacen) then
|
|
DADataSource.DataTable := FAlmacen.DataTable
|
|
else
|
|
DADataSource.DataTable := NIL;
|
|
end;
|
|
|
|
end.
|
|
|