unit fmateriales_pendientes;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids,
  Data.DB, ZAbstractRODataset, ZDataset, ZAbstractDataset, frxClass, frxDBSet;

type
  Tmateriales_pendientes = class(TForm)
    PanelSuperior: TPanel;
    btnImprimir: TButton;
    btnCerrar: TButton;
    LabelTitulo: TLabel;
    SplitterCentral: TSplitter;
    PanelDetalle: TPanel;
    PanelMateriales: TPanel;
    LabelDetalle: TLabel;
    LabelMateriales: TLabel;
    GridDetalle: TDBGrid;
    GridMateriales: TDBGrid;
    qpendpendientes: TZReadOnlyQuery;
    qmatpendientes: TZReadOnlyQuery;
    dsqpendpendientes: TDataSource;
    dsqmatpendientes: TDataSource;
    infdbpendpendientes: TfrxDBDataset;
    infdbmatpendientes: TfrxDBDataset;
    infmaterialespendientes: TfrxReport;
    procedure FormShow(Sender: TObject);
    procedure btnCerrarClick(Sender: TObject);
    procedure btnImprimirClick(Sender: TObject);
    procedure GridMaterialesDrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  materiales_pendientes: Tmateriales_pendientes;

implementation

{$R *.dfm}

uses datos;

procedure Tmateriales_pendientes.FormShow(Sender: TObject);
begin
    qpendpendientes.Close;
    qpendpendientes.ParamByName('IDEMPRESA').AsInteger := dm.tempresaid.AsInteger;
    qpendpendientes.Open;

    qmatpendientes.Close;
    qmatpendientes.ParamByName('IDEMPRESA').AsInteger := dm.tempresaid.AsInteger;
    qmatpendientes.ParamByName('IDEMPRESA2').AsInteger := dm.tempresaid.AsInteger;
    qmatpendientes.Open;
end;

procedure Tmateriales_pendientes.btnCerrarClick(Sender: TObject);
begin
    Close;
end;

procedure Tmateriales_pendientes.btnImprimirClick(Sender: TObject);
begin
    infmaterialespendientes.Report.Clear;
    infmaterialespendientes.LoadFromFile('c:\agrigest\informes\informe_materiales_pendientes.fr3');
    infmaterialespendientes.ShowReport();
    infmaterialespendientes.Clear;
end;

procedure Tmateriales_pendientes.GridMaterialesDrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
    if qmatpendientes.FieldByName('stock_real').AsFloat < qmatpendientes.FieldByName('cantidad_total').AsFloat then
    begin
        GridMateriales.Canvas.Brush.Color := RGB(255, 204, 204);
    end;
    GridMateriales.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

end.
