2007-11-15 19:56:08 +00:00
|
|
|
|
unit uViewDetallesPedidoProveedor;
|
|
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
|
|
|
|
Dialogs, uViewDetallesArticulos, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
|
|
|
|
|
cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList,
|
|
|
|
|
|
uDADataTable, ActnList, ComCtrls, ToolWin, cxGridLevel, cxClasses, cxControls,
|
|
|
|
|
|
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
|
|
|
|
|
cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox, cxCurrencyEdit,
|
|
|
|
|
|
Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, ExtActns, StdActns,
|
|
|
|
|
|
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
|
2011-05-05 14:54:31 +00:00
|
|
|
|
uArticulosController, uBizPedidosProveedor, uDAInterfaces,
|
2008-08-27 16:48:20 +00:00
|
|
|
|
cxButtonEdit, cxDropDownEdit, Menus, cxGridCustomPopupMenu, cxGridPopupMenu,
|
2008-07-22 11:21:06 +00:00
|
|
|
|
cxEditRepositoryItems;
|
2007-11-15 19:56:08 +00:00
|
|
|
|
|
|
|
|
|
|
type
|
|
|
|
|
|
IViewDetallesPedidoProveedor = interface(IViewDetallesArticulos)
|
|
|
|
|
|
['{4C82AADF-7FE2-47BC-88F1-2F2DA6DF0B57}']
|
|
|
|
|
|
function GetPedido: IBizPedidoProveedor;
|
|
|
|
|
|
procedure SetPedido(const Value: IBizPedidoProveedor);
|
|
|
|
|
|
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
TfrViewDetallesPedidoProveedor = class(TfrViewDetallesArticulos, IViewDetallesPedidoProveedor)
|
2008-06-05 13:39:33 +00:00
|
|
|
|
TBXItem18: TTBXItem;
|
|
|
|
|
|
Artculosdelcatlogo1: TMenuItem;
|
|
|
|
|
|
N2: TMenuItem;
|
2011-05-05 14:54:31 +00:00
|
|
|
|
procedure CustomViewCreate(Sender: TObject);
|
2007-11-15 19:56:08 +00:00
|
|
|
|
procedure CustomViewDestroy(Sender: TObject);
|
2011-05-05 14:54:31 +00:00
|
|
|
|
procedure OnValidateReferencia(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); override;
|
|
|
|
|
|
procedure OnValidateReferenciaProveedor(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean); virtual;
|
|
|
|
|
|
|
2007-11-15 19:56:08 +00:00
|
|
|
|
protected
|
|
|
|
|
|
FPedido: IBizPedidoProveedor;
|
|
|
|
|
|
function GetPedido: IBizPedidoProveedor;
|
|
|
|
|
|
procedure SetPedido(const Value: IBizPedidoProveedor);
|
|
|
|
|
|
|
|
|
|
|
|
procedure AnadirArticulosInterno; override;
|
2008-02-05 20:38:38 +00:00
|
|
|
|
procedure RellenarArticulosInterno; override;
|
2007-11-15 19:56:08 +00:00
|
|
|
|
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
|
|
|
|
|
|
|
|
|
|
|
|
public
|
|
|
|
|
|
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
|
|
|
|
uses uDetallesPedidoProveedorController;
|
|
|
|
|
|
|
|
|
|
|
|
{ TfrViewDetallesPedidoProveedor }
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrViewDetallesPedidoProveedor.AnadirArticulosInterno;
|
|
|
|
|
|
begin
|
2008-02-05 20:38:38 +00:00
|
|
|
|
//No s<> porque est<73> en este m<>dulo hecho as<61>, supongo que por seguridad.
|
2007-11-15 19:56:08 +00:00
|
|
|
|
if Assigned(Pedido) and Assigned(Pedido.Proveedor)
|
|
|
|
|
|
then (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, Pedido.Proveedor)
|
|
|
|
|
|
else (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2011-05-05 14:54:31 +00:00
|
|
|
|
procedure TfrViewDetallesPedidoProveedor.CustomViewCreate(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
cxGridViewREFERENCIA.Properties.OnValidate := OnValidateReferencia;
|
|
|
|
|
|
cxGridViewREFERENCIA_PROVEEDOR.Properties.OnValidate := OnValidateReferenciaProveedor;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2007-11-15 19:56:08 +00:00
|
|
|
|
procedure TfrViewDetallesPedidoProveedor.CustomViewDestroy(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
FPedido := Nil;
|
2011-05-05 14:54:31 +00:00
|
|
|
|
cxGridViewREFERENCIA.Properties.OnValidate := Nil;
|
|
|
|
|
|
cxGridViewREFERENCIA_PROVEEDOR.Properties.OnValidate := Nil;
|
2007-11-15 19:56:08 +00:00
|
|
|
|
inherited;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2011-05-05 14:54:31 +00:00
|
|
|
|
procedure TfrViewDetallesPedidoProveedor.OnValidateReferencia(
|
|
|
|
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|
|
|
|
|
var Error: Boolean);
|
|
|
|
|
|
var
|
|
|
|
|
|
lsReferencia : String;
|
|
|
|
|
|
begin
|
|
|
|
|
|
//En el caso de cadena vacia no validamos
|
|
|
|
|
|
if (VarIsNull(DisplayValue)) then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
|
|
|
|
|
|
lsReferencia := VarToStr(DisplayValue);
|
|
|
|
|
|
if (length(trim(lsReferencia)) = 0) then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
|
|
|
|
|
|
if not AnadirArticulo(lsReferencia, tReferenciaParaCompras) then
|
|
|
|
|
|
begin
|
|
|
|
|
|
ErrorText := 'La referencia introducida no exite en el cat<61>logo del proveedor';
|
|
|
|
|
|
Error := True;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfrViewDetallesPedidoProveedor.OnValidateReferenciaProveedor(
|
|
|
|
|
|
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
|
|
|
|
|
var Error: Boolean);
|
|
|
|
|
|
var
|
|
|
|
|
|
lsReferencia : String;
|
|
|
|
|
|
begin
|
|
|
|
|
|
//En el caso de cadena vacia no validamos
|
|
|
|
|
|
if (VarIsNull(DisplayValue)) then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
|
|
|
|
|
|
lsReferencia := VarToStr(DisplayValue);
|
|
|
|
|
|
if (length(trim(lsReferencia)) = 0) then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
|
|
|
|
|
|
if not AnadirArticulo(lsReferencia, tRefProveedorParaCompras) then
|
|
|
|
|
|
begin
|
|
|
|
|
|
ErrorText := 'La referencia introducida no exite en el cat<61>logo del proveedor';
|
|
|
|
|
|
Error := True;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2007-11-15 19:56:08 +00:00
|
|
|
|
function TfrViewDetallesPedidoProveedor.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
|
|
|
|
|
|
begin
|
2011-05-05 14:54:31 +00:00
|
|
|
|
Result := (Controller as IDetallesPedidoProveedorController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Pedido.ID_PROVEEDOR);
|
2007-11-15 19:56:08 +00:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
function TfrViewDetallesPedidoProveedor.GetPedido: IBizPedidoProveedor;
|
|
|
|
|
|
begin
|
|
|
|
|
|
Result := FPedido;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2008-02-05 20:38:38 +00:00
|
|
|
|
procedure TfrViewDetallesPedidoProveedor.RellenarArticulosInterno;
|
|
|
|
|
|
begin
|
|
|
|
|
|
//No s<> porque est<73> en este m<>dulo hecho as<61>, supongo que por seguridad.
|
|
|
|
|
|
if Assigned(Pedido) and Assigned(Pedido.Proveedor)
|
|
|
|
|
|
then (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, Pedido.Proveedor, False)
|
|
|
|
|
|
else (Controller as IDetallesPedidoProveedorController).AnadirArticulos(Detalles, False);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
2007-11-15 19:56:08 +00:00
|
|
|
|
procedure TfrViewDetallesPedidoProveedor.SetPedido(const Value: IBizPedidoProveedor);
|
|
|
|
|
|
begin
|
|
|
|
|
|
FPedido := Value;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
end.
|