This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Pedidos a proveedor/Cliente/uEditorPedidoProveedor.pas
2007-06-21 16:02:50 +00:00

173 lines
5.8 KiB
ObjectPascal
Raw Blame History

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.