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/Montajes/Reglas/uBizPedidosMontaje.pas
2007-06-21 16:02:50 +00:00

101 lines
2.3 KiB
ObjectPascal

unit uBizPedidosMontaje;
interface
uses uBizPedidosProveedor;
type
IBizPedidosMontaje = interface(IBizPedidosProveedor)
['{B2C82F22-C9E6-4965-AB7C-B6E6851051F4}']
procedure Show;
procedure Delete;
procedure AnadirPedido(CodigoMontaje: Integer);
end;
TBizPedidosMontaje = class(TBizPedidosProveedor, IBizPedidosMontaje)
public
procedure Show; override;
procedure Delete;
procedure AnadirPedido(CodigoMontaje: Integer);
end;
function DarPedidosMontaje(CodigoMontaje : Integer) : IBizPedidosMontaje;
implementation
uses uDataModulePedidosProveedor, uDADataTable, uDAInterfaces, SysUtils,
uDACDSDataTable, uDataTableUtils, Dialogs, Controls,
schPedidosProveedorClient_Intf;
function DarPedidosMontaje(CodigoMontaje : Integer) : IBizPedidosMontaje;
var
dtPedidos: TDACDSDataTable;
begin
dtPedidos := dmPedidos.GetDataTableItems('BizPedidosMontaje');
with dtPedidos do
begin
if not Where.Empty then
Where.AddOperator(opAND);
Where.AddText('(CODIGOMONTAJE = ' + IntToStr(CodigoMontaje) + ')');
end;
Result := (dtPedidos as IBizPedidosMontaje);
end;
{ TBizPedidosMontaje }
procedure TBizPedidosMontaje.AnadirPedido(CodigoMontaje: Integer);
var
APedido: IBizPedidosProveedor;
begin
try
APedido := dmPedidos.GetItem(0);
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
APedido.Insert;
APedido.CODIGOMONTAJE := CodigoMontaje;
APedido.Montaje := APedido.Montaje;
APedido.Show;
//Refrescamos la lista de pedidos del montaje
Self.DataTable.Refresh;
finally
APedido := Nil;
end;
end;
procedure TBizPedidosMontaje.Delete;
begin
if (MessageDlg('¿Desea borrar este pedido?', mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
begin
Self.DataTable.Delete;
end;
end;
procedure TBizPedidosMontaje.Show;
var
APedido: IBizPedidosProveedor;
begin
try
APedido := dmPedidos.GetItem(CODIGO);
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
APedido.Show;
//Refrescamos la lista de pedidos del montaje
Self.DataTable.Refresh;
finally
APedido := Nil;
end;
end;
initialization
RegisterDataTableRules('BizPedidosMontaje', TBizPedidosMontaje);
finalization
end.