AbetoDesign_FactuGES2/Source/Modulos/Facturas de proveedor/Controller/uContratosFacturaProveedorController.pas

64 lines
2.0 KiB
ObjectPascal

unit uContratosFacturaProveedorController;
interface
uses
uControllerBase, uBizDetallesFacturaProveedor;
type
IContratosFacturaProveedorController = interface(IControllerBase)
['{44A70A63-4A6D-4255-9F8F-0EDBF0B4E9CC}']
procedure AnadirContratos(const AContratosFacturaProveedor : IBizContratosFacturaProveedor);
end;
TContratosFacturaProveedorController = class(TControllerBase, IContratosFacturaProveedorController)
public
procedure AnadirContratos(const AContratosFacturaProveedor : IBizContratosFacturaProveedor);
end;
implementation
uses
Dialogs, uBizContratosCliente, uContratosClienteController;
{ TContratosFacturaProveedorController }
procedure TContratosFacturaProveedorController.AnadirContratos(const AContratosFacturaProveedor: IBizContratosFacturaProveedor);
var
AContratosCliente: IBizContratoCliente;
AContratosClienteController: IContratosClienteController;
begin
AContratosClienteController := TContratosClienteController.Create;
AContratosCliente := AContratosClienteController.ElegirContratos(AContratosClienteController.BuscarTodos,
'Elija el contrato o contratos de cliente que desea utilizar para desglosar la factura.', True);
if assigned(AContratosCliente) then
begin
if not AContratosCliente.DataTable.Active then
AContratosCliente.DataTable.Active := True;
AContratosCliente.DataTable.First;
while not AContratosCliente.DataTable.EOF do
begin
AContratosFacturaProveedor.Insert;
AContratosFacturaProveedor.ID_CONTRATO := AContratosCliente.ID;
AContratosFacturaProveedor.REFERENCIA := AContratosCliente.REFERENCIA;
AContratosFacturaProveedor.NIF_CIF := AContratosCliente.NIF_CIF;
AContratosFacturaProveedor.NOMBRE := AContratosCliente.NOMBRE;
AContratosFacturaProveedor.Post;
AContratosCliente.DataTable.next;
end;
end;
AContratosCliente := Nil;
AContratosClienteController := Nil;
end;
end.