FactuGES2/Source/Modulos/Pedidos a proveedor/Views/uViewDocumentosPedidoProveedor.pas
david 00077c4227 - Repaso de pedidos de proveedor: elección de dirección de entrega (almacén / direccion de cliente / otra dirección)
- Build de FinalBuilder con opción 'Release' para intentar que el programa vaya más rápido.

git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@652 f4e31baf-9722-1c47-927c-6f952f962d4b
2016-09-12 17:36:53 +00:00

113 lines
3.7 KiB
ObjectPascal
Raw Blame History

unit uViewDocumentosPedidoProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDocumentos, ActnList,
TB2Item, TBX, TB2Dock, TB2Toolbar, cxControls, cxContainer,
uBizPedidosProveedor, uPedidosProveedorController, ImgList,
PngImageList, ComCtrls, Menus;
type
IViewDocumentosPedidoProveedor = interface
['{83AFBD29-750D-4564-ADAE-468BDBE4C424}']
function GetController : IPedidosProveedorController;
procedure SetController (const Value : IPedidosProveedorController);
property Controller : IPedidosProveedorController read GetController write SetController;
function GetPedido: IBizPedidoProveedor;
procedure SetPedido(const Value: IBizPedidoProveedor);
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
end;
TfrViewDocumentosPedidoProveedor = class(TfrViewDocumentos, IViewDocumentosPedidoProveedor)
private
FController : IPedidosProveedorController;
FPedido: IBizPedidoProveedor;
function GetController : IPedidosProveedorController;
procedure SetController (const Value : IPedidosProveedorController);
function GetPedido: IBizPedidoProveedor;
procedure SetPedido(const Value: IBizPedidoProveedor);
protected
procedure Sincronizar; override;
function RecuperarFicheroServidor(const NombreFichero: String; const DirectorioDestino: String): Boolean; override;
public
property Controller : IPedidosProveedorController read GetController write SetController;
property Pedido: IBizPedidoProveedor read GetPedido write SetPedido;
end;
var
frViewDocumentosPedidoProveedor: TfrViewDocumentosPedidoProveedor;
implementation
{$R *.dfm}
{ TfrViewDocumentosContrato }
function TfrViewDocumentosPedidoProveedor.GetController: IPedidosProveedorController;
begin
Result := FController;
end;
function TfrViewDocumentosPedidoProveedor.GetPedido: IBizPedidoProveedor;
begin
Result := FPedido;
end;
function TfrViewDocumentosPedidoProveedor.RecuperarFicheroServidor(const NombreFichero: String; const DirectorioDestino: String): Boolean;
begin
inherited;
Result := Controller.GestorDocumentosController.DescargarFichero(Pedido.ID, NombreFichero, DirectorioDestino);
end;
procedure TfrViewDocumentosPedidoProveedor.SetController(const Value: IPedidosProveedorController);
begin
FController := Value;
end;
procedure TfrViewDocumentosPedidoProveedor.SetPedido(const Value: IBizPedidoProveedor);
begin
FPedido := Value;
//Inicializamos la lista de documentos local con los ficheros del servidor
try
ShowHourglassCursor;
if Assigned(FPedido) and Assigned(FController) then
ListaFicheros := Controller.GestorDocumentosController.DarListaDocumentos(Pedido.ID);
RefrescarVisualizador;
finally
HideHourglassCursor;
end;
end;
procedure TfrViewDocumentosPedidoProveedor.Sincronizar;
begin
inherited;
//De momento el action actSincronizar con el servidor estar<61> oculto y se activa, hay que tener en cuenta lo comentado
{
if Contrato.EsNuevo then
begin
if (ShowConfirmMessage('Se han producido cambios', 'Se han producido cambios y no se puede sincronizar hasta que no se guarden.' + #10#13 +
'<27>Desea guardarlos ahora?') = IDYES) then
actGuardar.Execute
else
ShowInfoMessage('Recuerde guardar los cambios si quiere previsualizar o imprimir.');
end;
}
if Assigned(FPedido) then
begin
try
ShowHourglassCursor;
Controller.GestorDocumentosController.SincronizarDocumentos(Pedido.ID, ListaFicheros, Directorio);
finally
HideHourglassCursor;
end;
end;
end;
end.