git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@5 9a1d36f3-7752-2d40-8ccb-50eb49674c68
156 lines
4.6 KiB
ObjectPascal
156 lines
4.6 KiB
ObjectPascal
unit uViewDestinoPedidoProveedor;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uViewBase, DB, uDADataTable, cxControls, cxContainer, cxEdit,
|
|
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, cxDBEdit, StdCtrls,
|
|
Mask, DBCtrls, ExtCtrls, cxGraphics, cxMemo, ActnList, cxLookupEdit,
|
|
cxDBLookupEdit, cxDBLookupComboBox, uBizAlmacenes, uBizPedidosProveedor;
|
|
|
|
type
|
|
IViewDestinoPedidoProveedor = interface(IViewBase)
|
|
['{1DD198BD-9F21-47D1-804E-ED3B627C9FA9}']
|
|
function GetPedidoProveedor: IBizPedidosProveedor;
|
|
procedure SetPedidoProveedor(const Value: IBizPedidosProveedor);
|
|
property PedidoProveedor: IBizPedidosProveedor read GetPedidoProveedor
|
|
write SetPedidoProveedor;
|
|
end;
|
|
|
|
TfrViewDestinoPedidoProveedor = class(TfrViewBase)
|
|
Bevel1: TBevel;
|
|
Label5: TLabel;
|
|
DADataSource: TDADataSource;
|
|
rdxDestino1: TRadioButton;
|
|
rdxDestino2: TRadioButton;
|
|
memDireccion: TcxDBMemo;
|
|
ActionList1: TActionList;
|
|
actAlmacen: TAction;
|
|
actOtro: TAction;
|
|
DADataSource2: TDADataSource;
|
|
cbAlmacen: TcxDBLookupComboBox;
|
|
procedure actAlmacenExecute(Sender: TObject);
|
|
procedure actOtroExecute(Sender: TObject);
|
|
procedure cbAlmacenPropertiesEditValueChanged(Sender: TObject);
|
|
procedure cbAlmacenPropertiesValidate(Sender: TObject;
|
|
var DisplayValue: Variant; var ErrorText: TCaption;
|
|
var Error: Boolean);
|
|
private
|
|
FAlmacen: IBizAlmacen;
|
|
FPedido : IBizPedidosProveedor;
|
|
function GetPedidoProveedor: IBizPedidosProveedor;
|
|
procedure SetPedidoProveedor(const Value: IBizPedidosProveedor);
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
property PedidoProveedor: IBizPedidosProveedor read GetPedidoProveedor
|
|
write SetPedidoProveedor;
|
|
end;
|
|
|
|
var
|
|
frViewDestinoPedidoProveedor: TfrViewDestinoPedidoProveedor;
|
|
|
|
implementation
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
uDataModuleAlmacenes, schAlmacenesClient_Intf;
|
|
|
|
procedure TfrViewDestinoPedidoProveedor.actAlmacenExecute(Sender: TObject);
|
|
begin
|
|
cbAlmacen.Enabled := True;
|
|
memDireccion.Enabled := False;
|
|
end;
|
|
|
|
procedure TfrViewDestinoPedidoProveedor.actOtroExecute(Sender: TObject);
|
|
begin
|
|
cbAlmacen.Enabled := False;
|
|
memDireccion.Enabled := True;
|
|
|
|
if Assigned(FPedido) and (FPedido.CODIGOALMACEN <> 0) then
|
|
begin
|
|
FPedido.Edit;
|
|
FPedido.CODIGOALMACEN := 0;
|
|
end;
|
|
end;
|
|
|
|
constructor TfrViewDestinoPedidoProveedor.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FAlmacen := dmAlmacenes.GetItems;
|
|
DADataSource2.DataTable := FAlmacen.DataTable;
|
|
DADataSource2.DataTable.Active := True;
|
|
cbAlmacen.ItemIndex := 0;
|
|
end;
|
|
|
|
destructor TfrViewDestinoPedidoProveedor.Destroy;
|
|
begin
|
|
FAlmacen := Nil;
|
|
inherited;
|
|
end;
|
|
|
|
function TfrViewDestinoPedidoProveedor.GetPedidoProveedor: IBizPedidosProveedor;
|
|
begin
|
|
Result := FPedido;
|
|
end;
|
|
|
|
procedure TfrViewDestinoPedidoProveedor.SetPedidoProveedor(
|
|
const Value: IBizPedidosProveedor);
|
|
begin
|
|
FPedido := Value;
|
|
|
|
if (FPedido.CODIGOALMACEN = 0) and
|
|
(Length(FPedido.DIRECCIONCOMPLETA.Text) = 0) then
|
|
// Nuevo pedido
|
|
begin
|
|
actAlmacen.Checked := True;
|
|
actOtro.Checked := False;
|
|
end
|
|
else begin
|
|
if (FPedido.CODIGOALMACEN <> 0) then
|
|
begin
|
|
actAlmacen.Checked := True;
|
|
actOtro.Checked := False;
|
|
end
|
|
else begin
|
|
if (Length(FPedido.DIRECCIONCOMPLETA.Text) <> 0) then
|
|
begin
|
|
actAlmacen.Checked := False;
|
|
actOtro.Checked := True;
|
|
actOtro.Execute;
|
|
end
|
|
end
|
|
end;
|
|
|
|
// Esto al final para que no salten los eventos del cxComboBox
|
|
DADataSource.DataTable := FPedido.DataTable;
|
|
end;
|
|
|
|
procedure TfrViewDestinoPedidoProveedor.cbAlmacenPropertiesEditValueChanged(
|
|
Sender: TObject);
|
|
begin
|
|
inherited;
|
|
{ if Assigned(FPedido) and (FPedido.CODIGOALMACEN <> FAlmacen.CODIGO) then
|
|
begin
|
|
FPedido.Edit;
|
|
FPedido.DIRECCIONCOMPLETA.Text := FAlmacen.CALLE + #13#10 + FAlmacen.CODIGOPOSTAL + ' ' + FAlmacen.POBLACION
|
|
end;}
|
|
end;
|
|
|
|
procedure TfrViewDestinoPedidoProveedor.cbAlmacenPropertiesValidate(
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|
var Error: Boolean);
|
|
begin
|
|
inherited;
|
|
if Assigned(FPedido) and (FPedido.CODIGOALMACEN <> FAlmacen.CODIGO) then
|
|
begin
|
|
{ memDireccion.Lines.Clear;
|
|
memDireccion.Lines.Add(FAlmacen.CALLE);
|
|
memDireccion.Lines.Add(FAlmacen.CODIGOPOSTAL + ' ' + FAlmacen.POBLACION);}
|
|
memDireccion.DataBinding.Field.AsString := FAlmacen.CALLE + #13#10 + FAlmacen.CODIGOPOSTAL + ' ' + FAlmacen.POBLACION;
|
|
end;
|
|
end;
|
|
|
|
end.
|