unit InformePedidoProveedor;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, InformeBase, FR_IBXDB, FR_Shape, FR_DSet, FR_DBSet, FR_Class,
  DB, IBCustomDataSet, IBQuery, RdxEmpresaActiva;

type
  TdmInformePedidoProveedor = class(TdmInformeBase)
    TablaCab: TfrDBDataSet;
    TablaDet: TfrDBDataSet;
    TablaPedidosProveedor: TIBQuery;
    TablaDetallesPedidos: TIBQuery;
  private
    FCodigoPedido : Variant;
  protected
    procedure RellenarCabecera(Band: TfrBand); override;
    procedure PrepararConsultas; override;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property CodigoPedido : variant read FCodigoPedido write FCodigoPedido;
  end;

var
  dmInformePedidoProveedor: TdmInformePedidoProveedor;

implementation

{$R *.dfm}

uses
  TablaPedidosProveedor, StrFunc, Constantes, BaseDatos, TablaEmpresas;

{ TdmInformePedidoProveedor }

constructor TdmInformePedidoProveedor.Create(AOwner: TComponent);
begin
  inherited;
  FNombreInforme := 'PedidoProveedor.frf';
end;

procedure TdmInformePedidoProveedor.PrepararConsultas;
begin
  inherited;

  with TablaPedidosProveedor do
  begin
    Database := FBaseDatos;
    Transaction := FTransaccion;
    SQL.Clear;
    SQL.Add('select * from PEDIDOSPROVEEDOR ');
    SQL.Add('where CODIGOEMPRESA = :CODIGOEMPRESA');
    SQL.Add(' and CODIGO = :CODIGO');
    ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
    ParamByName('CODIGO').AsString := FCodigoPedido;
    Prepare;
  end;

  with TablaDetallesPedidos do
  begin
    Database := FBaseDatos;
    Transaction := FTransaccion;
    SQL.Clear;
    SQL.Add('select * from DETALLESPEDIDOSPROVEEDOR ');
    SQL.Add('where CODIGOEMPRESA = :CODIGOEMPRESA ');
    SQL.Add('and CODIGOPEDIDO = :CODIGOPEDIDO ');
    SQL.Add('order by NUMCONCEPTO ');
    ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;    
    ParamByName('CODIGOPEDIDO').AsString := FCodigoPedido;
    Prepare;
  end;

  TablaCab.Open;
  TablaDet.Open;
end;

procedure TdmInformePedidoProveedor.RellenarCabecera(Band: TfrBand);
var
  iCont : Integer;
  Objeto : TfrView;
begin
  inherited;
{  if TablaFacturasCliente.FieldByName('CLASEFACTURA').AsString = CTE_CF_ABONO then
    with Band do
    begin
       for iCont := 0 to Objects.Count - 1 do
        begin
          Objeto := Objects[iCont];
          if ((Objeto is TfrMemoView) and (Objeto.Name = 'LiteralAbono')) then
           (Objeto as TfrMemoView).Visible := True;
        end;
    end;}
end;

end.
