unit uconfrelBordero; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.DBCtrls, Vcl.StdCtrls, Vcl.ComCtrls, Data.DB, DateUtils; type TconfrelBordero = class(TForm) dtsBeneficiario: TDataSource; btn_viewreport: TButton; gb_data: TGroupBox; dtp_inicio: TDateTimePicker; dtp_fim: TDateTimePicker; Label1: TLabel; gb_beneficiario: TGroupBox; dblucb_beneficiario: TDBLookupComboBox; procedure btn_viewreportClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private procedure WMMoving(var Msg: TWMMoving); message WM_MOVING; { Private declarations } public { Public declarations } end; var confrelBordero: TconfrelBordero; implementation {$R *.dfm} uses udtmSystem, urelBordero; // relatório de entrada procedure TconfrelBordero.btn_viewreportClick(Sender: TObject); begin dtmSystem.id_empimport := dblucb_beneficiario.KeyValue; relBordero := TrelBordero.Create(self); with relBordero do begin with zqryRel.sql do begin Clear; Add('select'); Add('A.id_devedor,'); Add('A.tx_nome as NOME,'); Add('case'); Add('when A.TP_CLIENTE = ''F'' then A.CD_CPF'); Add('when A.TP_CLIENTE = ''J'' then A.CD_CNPJ'); Add('end as TX_DOCUMENTO,'); //Add('A.cd_cpf as CPF,'); Add('A.cd_devedor AS CODIGO,'); Add('B.dt_ENTRADA AS DATA_ENTRADA,'); Add('B.tx_produto AS PRODUTO,'); Add('B.vl_titulo AS VALOR,'); Add('B.dt_vencimento as DATA_VENCIMENTO'); Add('from chg_devedores A'); Add('inner join chg_titulos B'); Add('on (A.id_devedor = B.id_devedor)'); Add('where (B.id_empresa = ' + inttostr(dblucb_beneficiario.KeyValue) + ') and'); Add('(CAST(B.dt_entrada AS DATE) >= ' + QuotedStr(FormatDateTime('mm/dd/YYYY', dtp_inicio.Date)) + ') and'); Add('(CAST(B.dt_entrada AS DATE) <= ' + QuotedStr(FormatDateTime('mm/dd/YYYY', dtp_fim.Date)) + ')'); Add('order by A.tx_nome'); end; zqryRel.Open; frBordero.PreviewModal; end; end; procedure TconfrelBordero.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; confrelBordero := nil; end; procedure TconfrelBordero.FormCreate(Sender: TObject); begin dtp_inicio.Date := Date; dtp_fim.Date := Date; if not dtsBeneficiario.DataSet.Active then begin dtsBeneficiario.DataSet.Open; end; dblucb_beneficiario.KeyValue := dtsBeneficiario.DataSet.RecNo; end; procedure TconfrelBordero.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_ESCAPE then begin Key := 0; Close; end; end; procedure TconfrelBordero.WMMoving(var Msg: TWMMoving); var workArea: TRect; begin workArea := Screen.WorkareaRect; with Msg.DragRect^ do begin if left < workArea.left then OffsetRect(Msg.DragRect^, workArea.left - left, 0); if top < workArea.top then OffsetRect(Msg.DragRect^, 0, workArea.top - top); if Right > workArea.Right then OffsetRect(Msg.DragRect^, workArea.Right - Right, 0); if Bottom > workArea.Bottom then OffsetRect(Msg.DragRect^, 0, workArea.Bottom - Bottom); end; end; end.