git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@5 9a1d36f3-7752-2d40-8ccb-50eb49674c68
173 lines
5.8 KiB
ObjectPascal
173 lines
5.8 KiB
ObjectPascal
unit uEditorPedidoProveedor;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uEditorDBItem, DB, uDADataTable, JvAppStorage,
|
||
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
|
||
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
|
||
TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane, uBizPedidosProveedor,
|
||
uViewPedidoProveedor, uCustomView, uViewBase, uViewContenido,
|
||
StdCtrls, pngimage, AppEvnts, uViewDetallesFamilias,
|
||
uViewDetallesNormales, uViewDetallesPedidosProveedor, uViewTotalPedido,
|
||
cxControls, cxContainer, cxEdit, cxTextEdit, cxMemo, cxDBEdit,
|
||
uViewIncidencias, JvComponentBase;
|
||
|
||
type
|
||
IEditorPedidoProveedor = interface(IEditorDBItem)
|
||
['{A2784067-14B2-48AA-9696-B0CA420B4973}']
|
||
function GetPedidoProveedor: IBizPedidosProveedor;
|
||
procedure SetPedidoProveedor(const Value: IBizPedidosProveedor);
|
||
property PedidoProveedor: IBizPedidosProveedor read GetPedidoProveedor write
|
||
SetPedidoProveedor;
|
||
end;
|
||
|
||
TfEditorPedidoProveedor = class(TfEditorDBItem, IEditorPedidoProveedor)
|
||
pagContenido: TTabSheet;
|
||
frViewDetallesPedidosProveedor: TfrViewDetallesPedidosProveedor;
|
||
frViewTotalPedido: TfrViewTotalPedido;
|
||
pagInicidencias: TTabSheet;
|
||
frViewPedidoProveedor1: TfrViewPedidoProveedor;
|
||
frViewIncidencias: TfrViewIncidencias;
|
||
procedure actEliminarExecute(Sender: TObject);
|
||
procedure FormShow(Sender: TObject); override;
|
||
procedure frViewDatosYSeleccionContactoedtlNombrePropertiesChange(
|
||
Sender: TObject);
|
||
private
|
||
FPedidoProveedor: IBizPedidosProveedor;
|
||
FViewPedidoProveedor: IViewPedidoProveedor;
|
||
protected
|
||
function GetPedidoProveedor: IBizPedidosProveedor;
|
||
function GetViewPedidoProveedor: IViewPedidoProveedor;
|
||
procedure SetPedidoProveedor(const Value: IBizPedidosProveedor);
|
||
procedure SetViewPedidoProveedor(const Value: IViewPedidoProveedor);
|
||
property ViewPedidoProveedor: IViewPedidoProveedor read GetViewPedidoProveedor write
|
||
SetViewPedidoProveedor;
|
||
public
|
||
constructor Create(AOwner: TComponent); override;
|
||
destructor Destroy; override;
|
||
property PedidoProveedor: IBizPedidosProveedor read GetPedidoProveedor write
|
||
SetPedidoProveedor;
|
||
end;
|
||
|
||
var
|
||
fEditorPedidoProveedor: TfEditorPedidoProveedor;
|
||
|
||
implementation
|
||
|
||
uses uEditorUtils, uDataModulePedidosProveedor, uBizImportesDetalleBase,
|
||
uDataModulePresupuestos, uBizPresupuestosCliente,
|
||
uExceptions;
|
||
|
||
{$R *.dfm}
|
||
|
||
function ShowEditorPedidoProveedor (ABizObject : TDADataTableRules) : TModalResult;
|
||
var
|
||
AEditor: TfEditorPedidoProveedor;
|
||
begin
|
||
AEditor := TfEditorPedidoProveedor.Create(Application);
|
||
try
|
||
AEditor.PedidoProveedor := (ABizObject as IBizPedidosProveedor);
|
||
Result := AEditor.ShowModal;
|
||
finally
|
||
AEditor.Release;
|
||
end;
|
||
end;
|
||
|
||
{ TfEditorPedidoProveedor }
|
||
|
||
{
|
||
**************************** TfEditorPedidoProveedor ****************************
|
||
}
|
||
constructor TfEditorPedidoProveedor.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
// ViewPedidoProveedor := CreateView(TfrViewPedidoProveedor) as IViewPedidoProveedor;
|
||
pgPaginas.ActivePageIndex := 0;
|
||
ViewPedidoProveedor := frViewPedidoProveedor1;
|
||
end;
|
||
|
||
destructor TfEditorPedidoProveedor.Destroy;
|
||
begin
|
||
FViewPedidoProveedor := NIL;
|
||
FPedidoProveedor := NIL;
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfEditorPedidoProveedor.actEliminarExecute(Sender: TObject);
|
||
begin
|
||
if (Application.MessageBox('<27>Desea borrar este pedido a proveedor?', 'Atenci<63>n', MB_YESNO) = IDYES) then
|
||
inherited;
|
||
end;
|
||
|
||
procedure TfEditorPedidoProveedor.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
|
||
if not Assigned(FViewPedidoProveedor) then
|
||
raise Exception.Create('No hay ninguna vista asignada');
|
||
|
||
if not Assigned(PedidoProveedor) then
|
||
raise Exception.Create('No hay ning<6E>n pedido asignado');
|
||
|
||
PedidoProveedor.DataTable.Active := True;
|
||
// FViewPedidoProveedor.ShowEmbedded(pagGeneral);
|
||
// FViewPedidoProveedor.SetFocus;
|
||
end;
|
||
|
||
function TfEditorPedidoProveedor.GetPedidoProveedor: IBizPedidosProveedor;
|
||
begin
|
||
Result := FPedidoProveedor;
|
||
end;
|
||
|
||
function TfEditorPedidoProveedor.GetViewPedidoProveedor: IViewPedidoProveedor;
|
||
begin
|
||
Result := FViewPedidoProveedor;
|
||
end;
|
||
|
||
procedure TfEditorPedidoProveedor.SetPedidoProveedor(const Value: IBizPedidosProveedor);
|
||
begin
|
||
FPedidoProveedor := Value;
|
||
|
||
if Assigned(FPedidoProveedor) then
|
||
begin
|
||
dsDataTable.DataTable := FPedidoProveedor.DataTable;
|
||
frViewTotalPedido.DADataSource.DataTable := FPedidoProveedor.DataTable;
|
||
frViewIncidencias.DADataSource.DataTable := FPedidoProveedor.DataTable;
|
||
frViewDetallesPedidosProveedor.DADataSource.DataTable := FPedidoProveedor.Detalles.DataTable;
|
||
|
||
if Assigned(FViewPedidoProveedor) then
|
||
FViewPedidoProveedor.PedidoProveedor := FPedidoProveedor;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorPedidoProveedor.SetViewPedidoProveedor(const Value:
|
||
IViewPedidoProveedor);
|
||
begin
|
||
FViewPedidoProveedor := Value;
|
||
|
||
if Assigned(FViewPedidoProveedor) and Assigned(PedidoProveedor) then
|
||
FViewPedidoProveedor.PedidoProveedor := PedidoProveedor;
|
||
end;
|
||
|
||
procedure TfEditorPedidoProveedor.frViewDatosYSeleccionContactoedtlNombrePropertiesChange(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if Length(frViewPedidoProveedor1.frViewDatosYSeleccionContacto.edtlNombre.Text) = 0 then
|
||
JvNavPanelHeader.Caption := 'Nuevo pedido a proveedor'
|
||
else
|
||
JvNavPanelHeader.Caption := 'Pedido para ' +
|
||
frViewPedidoProveedor1.frViewDatosYSeleccionContacto.edtlNombre.Text +
|
||
' (' + FPedidoProveedor.SITUACION + ')';
|
||
Caption := JvNavPanelHeader.Caption;
|
||
end;
|
||
|
||
initialization
|
||
RegisterEditor(IBizPedidosProveedor, ShowEditorPedidoProveedor, etItem);
|
||
|
||
finalization
|
||
|
||
end.
|