This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES2/Source/Modulos/Pedidos de cliente/Views/uViewDireccionEntregaPedidoCli.pas

302 lines
9.0 KiB
ObjectPascal
Raw Blame History

unit uViewDireccionEntregaPedidoCli;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizPedidosCliente, cxGraphics, dxLayoutControl, cxMemo,
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, StdCtrls, cxControls, DB, uDADataTable,
ActnList, uBizAlmacenes, uAlmacenesController, uPedidosClienteController,
Buttons, uDAInterfaces, cxButtonEdit, cxDBEdit,
ExtCtrls, cxLabel, cxDBLabel;
type
IViewDireccionEntregaPedidoCli = interface(IViewBase)
['{0F70A289-9EBA-4F78-932E-A8F87CBF4C35}']
function GetPedidoCliente: IBizPedidoCliente;
procedure SetPedidoCliente(const Value: IBizPedidoCliente);
property PedidoCliente: IBizPedidoCliente read GetPedidoCliente write SetPedidoCliente;
end;
TfrViewDireccionEntregaPedidoCli = class(TfrViewBase, IViewDireccionEntregaPedidoCli)
dxLayoutControl1: TdxLayoutControl;
rdxDestino1: TRadioButton;
rdxDestino3: TRadioButton;
cbListaAlmacenes: TcxDBLookupComboBox;
dxLayoutGroup1: TdxLayoutGroup;
dxLayoutItem1: TdxLayoutItem;
dxLayoutControl1Item3: TdxLayoutItem;
dxLayoutControl1Item2: TdxLayoutItem;
ActionList1: TActionList;
actListaAlmacenes: TAction;
actOtro: TAction;
dsPedido: TDADataSource;
dsAlmacenes: TDADataSource;
dxLayoutControl1Item1: TdxLayoutItem;
bModificar: TBitBtn;
txtDireccion: TStaticText;
dxLayoutControl1Item5: TdxLayoutItem;
dxLayoutControl1Item4: TdxLayoutItem;
rdxDestino2: TRadioButton;
dsObras: TDADataSource;
actListaObras: TAction;
Bevel1: TBevel;
dxLayoutControl1Item8: TdxLayoutItem;
edtEntregarA: TcxDBTextEdit;
dxLayoutControl1Item7: TdxLayoutItem;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Group3: TdxLayoutGroup;
lblObra: TLabel;
dxLayoutControl1Item6: TdxLayoutItem;
procedure cbListaAlmacenesPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
procedure bModificarClick(Sender: TObject);
procedure txtDireccionDblClick(Sender: TObject);
procedure edtEntregarAPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure actListaAlmacenesExecute(Sender: TObject);
procedure actOtroExecute(Sender: TObject);
procedure actListaObrasExecute(Sender: TObject);
protected
FAlmacenesController : IAlmacenesController;
FAlmacenes: IBizAlmacen;
// FObrasController : IObrasController;
// FObra: IBizObra;
FPedido : IBizPedidoCliente;
FController : IPedidosClienteController;
function GetPedidoCliente: IBizPedidoCliente;
procedure SetPedidoCliente(const Value: IBizPedidoCliente);
procedure CambioDireccionAlmacen;
procedure SetReadOnly(Value: Boolean); override;
public
property PedidoCliente: IBizPedidoCliente read GetPedidoCliente write SetPedidoCliente;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure RecuperarObra;
procedure CambioDireccionObra;
procedure RefrescarControles;
end;
implementation
{$R *.dfm}
uses
uEditorRegistryUtils, uCustomView; //, uBizInventario;
procedure TfrViewDireccionEntregaPedidoCli.actListaAlmacenesExecute(
Sender: TObject);
begin
actListaAlmacenes.Checked := True;
RefrescarControles;
end;
procedure TfrViewDireccionEntregaPedidoCli.actListaObrasExecute(Sender: TObject);
begin
actListaObras.Checked := True;
RecuperarObra;
CambioDireccionObra;
// FController.AsignarIDAlmacen(FPedido, FPedido.ID_OBRA);
end;
procedure TfrViewDireccionEntregaPedidoCli.actOtroExecute(Sender: TObject);
begin
actOtro.Checked := True;
if Assigned(FPedido) then
begin
FController.VerDireccionEntrega(FPedido);
// FController.AsignarIDAlmacen(FPedido, Null);
end;
RefrescarControles;
end;
procedure TfrViewDireccionEntregaPedidoCli.bModificarClick(Sender: TObject);
begin
inherited;
actOtro.Execute;
end;
procedure TfrViewDireccionEntregaPedidoCli.CambioDireccionAlmacen;
begin
if Assigned(FPedido) and Assigned(FAlmacenes) then
begin
FPedido.Edit;
FPedido.CALLE := FAlmacenes.CALLE;
FPedido.POBLACION := FAlmacenes.POBLACION;
FPedido.POBLACION := FAlmacenes.POBLACION;
FPedido.PROVINCIA := FAlmacenes.PROVINCIA;
FPedido.CODIGO_POSTAL := FAlmacenes.CODIGO_POSTAL;
RefrescarControles;
end;
end;
procedure TfrViewDireccionEntregaPedidoCli.CambioDireccionObra;
begin
{
if Assigned(FPedido) and Assigned(FObra) then
begin
FPedido.Edit;
FPedido.CALLE := FObra.CALLE;
FPedido.POBLACION := FObra.POBLACION;
FPedido.POBLACION := FObra.POBLACION;
FPedido.PROVINCIA := FObra.PROVINCIA;
FPedido.CODIGO_POSTAL := FObra.CODIGO_POSTAL;
RefrescarControles;
end;
}
end;
procedure TfrViewDireccionEntregaPedidoCli.cbListaAlmacenesPropertiesValidate(
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
begin
// if Assigned(FPedido) and Assigned(FAlmacenes) and (FPedido.ID_ALMACEN <> FAlmacenes.ID) then
// CambioDireccionAlmacen;
end;
constructor TfrViewDireccionEntregaPedidoCli.Create(AOwner: TComponent);
begin
inherited;
FController := TPedidosClienteController.Create;
FAlmacenesController := TAlmacenesController.Create;
FAlmacenes := FAlmacenesController.BuscarTodos;
FAlmacenes.DataTable.Active := True;
dsAlmacenes.DataTable := FAlmacenes.DataTable;
// FObrasController := TObrasController.Create;
// FObra := NIL;
end;
destructor TfrViewDireccionEntregaPedidoCli.Destroy;
begin
cbListaAlmacenes.Properties.OnValidate := Nil;
FAlmacenesController := Nil;
FAlmacenes := Nil;
// FObrasController := Nil;
// FObra := NIL;
FController := NIL;
inherited;
end;
procedure TfrViewDireccionEntregaPedidoCli.edtEntregarAPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
var
AID_Subcontrata : Integer;
APersonaContacto : String;
begin
inherited;
AID_Subcontrata := -1;
{
if not FPedido.ID_OBRAIsNull then
begin
RecuperarObra;
if FObrasController.LocalizarEjecucionActiva(FObra.Ejecuciones) then
begin
if not FObra.Ejecuciones.ID_SUBCONTRATAIsNull then
AID_Subcontrata := FObra.Ejecuciones.ID_SUBCONTRATA;
end;
end;
}
APersonaContacto := FPedido.PERSONA_CONTACTO;
{
if ElegirPersonaContactoPedido(AID_Subcontrata, APersonaContacto) then
begin
FPedido.Edit;
FPedido.PERSONA_CONTACTO := APersonaContacto;
end;
}
end;
function TfrViewDireccionEntregaPedidoCli.GetPedidoCliente: IBizPedidoCliente;
begin
Result := FPedido;
end;
procedure TfrViewDireccionEntregaPedidoCli.RecuperarObra;
begin
{ if Assigned(FObra) and (FObra.ID = FPedido.ID_OBRA) then
Exit; // No hace falta volver a recuperarla
FObra := FObrasController.Buscar(FPedido.ID_OBRA);
FObra.Open;
}
end;
procedure TfrViewDireccionEntregaPedidoCli.RefrescarControles;
begin
txtDireccion.Caption := '';
if Assigned(FPedido) then
begin
if (actOtro.Checked) then
begin
cbListaAlmacenes.Enabled := False;
cbListaAlmacenes.Text := '';
txtDireccion.Enabled := True;
txtDireccion.Caption := FPedido.CALLE;
txtDireccion.Caption := txtDireccion.Caption + #13#10 + FPedido.CODIGO_POSTAL + ' ' + FPedido.POBLACION;
txtDireccion.Caption := txtDireccion.Caption + #13#10 + FPedido.PROVINCIA;
if (not FPedido.TELEFONOIsNull) and (FPedido.TELEFONO <> '') then
txtDireccion.Caption := txtDireccion.Caption + #13#10 + 'Tel<65>fono: ' + FPedido.TELEFONO;
bModificar.Enabled := True;
end
else if (actListaAlmacenes.Checked) then
begin
cbListaAlmacenes.Enabled := True;
cbListaAlmacenes.DroppedDown := True;
txtDireccion.Enabled := False;
bModificar.Enabled := False;
end
else begin
cbListaAlmacenes.Enabled := False;
cbListaAlmacenes.Text := '';
bModificar.Enabled := False;
txtDireccion.Enabled := False;
end;
end;
end;
procedure TfrViewDireccionEntregaPedidoCli.SetPedidoCliente(
const Value: IBizPedidoCliente);
begin
cbListaAlmacenes.Properties.OnValidate := NIL;
dsPedido.DataTable := nil;
FPedido := Value;
dsPedido.DataTable := FPedido.DataTable;
cbListaAlmacenes.Properties.OnValidate := cbListaAlmacenesPropertiesValidate;
actOtro.Checked := True;
RefrescarControles;
end;
procedure TfrViewDireccionEntregaPedidoCli.SetReadOnly(Value: Boolean);
begin
inherited;
if (csLoading in Self.ComponentState) then
Exit;
rdxDestino1.Enabled := not ReadOnly;
rdxDestino2.Enabled := not ReadOnly;
rdxDestino3.Enabled := not ReadOnly;
end;
procedure TfrViewDireccionEntregaPedidoCli.txtDireccionDblClick(
Sender: TObject);
begin
inherited;
actOtro.Execute;
end;
end.