📄 u_form_changebillfind.~pas
字号:
unit U_Form_ChangeBillFind;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ButtonExCtl, ComCtrls, StdCtrls, Mask, EasyGrid,UAdoSet,
uCheckValidate,uString;
type
TForm_ChangeBillFind = class(TForm)
GroupBox2: TGroupBox;
Grid1: TEasyGrid;
GroupBox1: TGroupBox;
RBbtn1: TRadioButton;
RBbtn2: TRadioButton;
RBBtn3: TRadioButton;
Label3: TLabel;
beginDate: TMaskEdit;
_beginDate: TDateTimePicker;
Label8: TLabel;
endDate: TMaskEdit;
_endDate: TDateTimePicker;
BtnFind: TButtonExCtl;
BtnExit: TButtonExCtl;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BtnExitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure _beginDateCloseUp(Sender: TObject);
procedure _endDateCloseUp(Sender: TObject);
procedure RBbtn1Click(Sender: TObject);
procedure RBbtn2Click(Sender: TObject);
procedure RBBtn3Click(Sender: TObject);
procedure BtnFindClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
_AdoSale:TuAdoset;
_AdoRongPin:TuAdoSet;
_AdoNewProduce:TuAdoSet;
_Check:TCheckValidate;
_str:TuString;
public
{ Public declarations }
end;
var
Form_ChangeBillFind: TForm_ChangeBillFind;
tmp_TableName:integer;
implementation
uses U_Form_MainMenu, U_Form_ChangeBill,uGlobal;
{$R *.dfm}
procedure TForm_ChangeBillFind.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
EnableWindow(Form_ChangeBill.Handle,true);
CanClose:=true;
end;
procedure TForm_ChangeBillFind.BtnExitClick(Sender: TObject);
begin
EnableWindow(Form_ChangeBill.Handle,true);
Close;
end;
procedure TForm_ChangeBillFind.FormCreate(Sender: TObject);
begin
_AdoSale:=TuAdoSet.Create('newsale',1);
_AdoRongPin:=TuAdoSet.Create('RongPin2004',1);
_AdoNewProduce:=TuAdoSet.Create('newProduce',1);
_Check:=TCheckValidate.create;
_str:=TuString.Create;
beginDate.Text:=_str.formatDate(2);
_beginDate.Date:=strToDate(_str.formatDate(2));
endDate.Text:=_str.formatDate(2);
_endDate.Date:=strToDate(_str.formatDate(2));
RBBtn1.Checked:=true;
////添加标题//////////////////////
grid1.ColCount:=9;
with _Adosale do
begin
setGridTitle(grid1,1,'传票编号',130);
setGridTitle(grid1,2,'日 期',150);
setGridTitle(grid1,3,'姓 名',90);
setGridTitle(grid1,4,'产品名称',180);
setGridTitle(grid1,5,'规 格',80);
setGridTitle(grid1,6,'单 位',80);
setGridTitle(grid1,7,'数 量',80);
setGridTitle(grid1,8,'保管员',80);
end;
end;
procedure TForm_ChangeBillFind._beginDateCloseUp(Sender: TObject);
begin
beginDate.Text:=formatDateTime('yyyy-mm-dd',_begindate.date);
end;
procedure TForm_ChangeBillFind._endDateCloseUp(Sender: TObject);
begin
endDate.Text:=formatDateTime('yyyy-mm-dd',_enddate.date);
end;
procedure TForm_ChangeBillFind.RBbtn1Click(Sender: TObject);
var
i,j:integer;
begin
for i:=2 to grid1.RowCount-1 do
begin
for j:=1 to grid1.colcount-1 do
begin
grid1.Cells[j,i].ForeText:='';
end;
end;///for i
if RBbtn1.Checked=true then
begin
tmp_TableName:=1;
end;
grid1.ColCount:=9;
with _Adosale do
begin
setGridTitle(grid1,1,'传票编号',130);
setGridTitle(grid1,2,'日 期',150);
setGridTitle(grid1,3,'姓 名',90);
setGridTitle(grid1,4,'产品名称',180);
setGridTitle(grid1,5,'规 格',80);
setGridTitle(grid1,6,'单 位',80);
setGridTitle(grid1,7,'数 量',80);
setGridTitle(grid1,8,'保管员',80);
end;
grid1.Refresh;
end;
procedure TForm_ChangeBillFind.RBbtn2Click(Sender: TObject);
var
i,j:integer;
begin
for i:=2 to grid1.RowCount-1 do
begin
for j:=1 to grid1.colcount-1 do
begin
grid1.Cells[j,i].ForeText:='';
end;
end;///for i
if RBbtn2.Checked=true then
begin
tmp_TableName:=2;
end;
grid1.ColCount:=13;
with _Adosale do
begin
setGridTitle(grid1,1,'票据编号',130);
setGridTitle(grid1,2,'单位名称',90);
setGridTitle(grid1,3,'包装物名称',130);
setGridTitle(grid1,4,'车间名称',90);
setGridTitle(grid1,5,'所属区域',80);
setGridTitle(grid1,6,'开票日期',120);
setGridTitle(grid1,7,'酒桶数',80);
setGridTitle(grid1,8,'成套数',80);
setGridTitle(grid1,9,'空箱数',80);
setGridTitle(grid1,10,'空瓶数',80);
setGridTitle(grid1,11,'出库日期',140);
setGridTitle(grid1,12,'保管员',80);
end;
grid1.Refresh;
end;
procedure TForm_ChangeBillFind.RBBtn3Click(Sender: TObject);
var
i,j:integer;
begin
for i:=2 to grid1.RowCount-1 do
begin
for j:=1 to grid1.colcount-1 do
begin
grid1.Cells[j,i].ForeText:='';
end;
end;///for i
if RBbtn3.Checked=true then
begin
tmp_TableName:=3;
end;
grid1.ColCount:=10;
with _Adosale do
begin
setGridTitle(grid1,1,'票据编号',130);
setGridTitle(grid1,2,'单位名称',90);
setGridTitle(grid1,3,'包装物名称',130);
setGridTitle(grid1,4,'所属区域',80);
setGridTitle(grid1,5,'开票日期',120);
setGridTitle(grid1,6,'单价',80);
setGridTitle(grid1,7,'数量',80);
setGridTitle(grid1,8,'保管员',80);
setGridTitle(grid1,9,'出库日期',160);
end;
grid1.Refresh;
end;
procedure TForm_ChangeBillFind.BtnFindClick(Sender: TObject);
var
param:TStringList;
strsql:string;
i,j:integer;
_total:double;
_total1:Array[0..3] of double;
begin
param:=TStringList.Create;
param.clear;
{/*
对已经调过的票据进行查询
tmp_tableName=1:为调过酒票进行查询
tmp_TableName=2:为调过的包装票据查询
tmp_TableName=3:为调过的押金票查询
*/}
if tmp_TableName=1 then
begin
param.Clear;
strsql:='select saleBillCode,saleBillDate,TraderName,productName,specification,';
strsql:=strsql+'UnitName,saleNum,StoreMan from sale_ChangeBill where (OutStoreDate between :s1 and :s2) ';
strSql:=strsql+' and whichStore=:s3';
param.Add(trim(begindate.text)+' 00:00:00');
param.Add(trim(enddate.text)+' 23:59:59');
param.Add(trim(_whichStore));
_AdoNewproduce.BindToGrid(grid1,strsql,param);
{/*
计算合计数量
*/}
_Total:=0;
for i:=2 to grid1.RowCount-2 do
begin
if grid1.cells[7,i].foretext<>'' then
begin
_Total:=_Total+strToFloat(grid1.cells[7,i].foretext);
end;
end;
grid1.Cells[1,grid1.RowCount-1].ForeText:='合计:';
grid1.Cells[7,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total);
end;
if tmp_TableName=2 then
begin
param.Clear;
strsql:='select PG_BillCode,PG_traderName,PG_WrapName,PG_WSName,PG_AreaName,';
strsql:=strsql+'PG_BillDate,PG_JTNum,PG_CTNum,PG_KXNum,PG_KPNum,PG_OutStoreDate,PG_Checker ';
strsql:=strsql+' from PG_ChangeBill where (PG_OutStoreDate between :s1 and :s2) and whichStore=:s3';
param.Add(trim(begindate.text)+' 00:00:00');
param.Add(trim(enddate.text)+' 23:59:59');
param.Add(trim(_whichStore));
_AdoNewproduce.BindToGrid(grid1,strsql,param);
{/*
计算合计数量
*/}
_Total1[0]:=0;
_Total1[1]:=0;
_Total1[2]:=0;
_Total1[3]:=0;
for i:=2 to grid1.RowCount-2 do
begin
if grid1.cells[7,i].foretext<>'' then
begin
_Total1[0]:=_Total1[0]+strToFloat(grid1.cells[7,i].foretext);
end;
if grid1.cells[8,i].foretext<>'' then
begin
_Total1[1]:=_Total1[1]+strToFloat(grid1.cells[8,i].foretext);
end;
if grid1.cells[9,i].foretext<>'' then
begin
_Total1[2]:=_Total1[2]+strToFloat(grid1.cells[9,i].foretext);
end;
if grid1.cells[10,i].foretext<>'' then
begin
_Total1[3]:=_Total1[3]+strToFloat(grid1.cells[10,i].foretext);
end;
end;
grid1.Cells[1,grid1.RowCount-1].ForeText:='合计:';
grid1.Cells[7,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[0]);
grid1.Cells[8,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[1]);
grid1.Cells[9,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[2]);
grid1.Cells[10,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[3]);
end;
if tmp_TableName=3 then
begin
param.Clear;
strsql:='select PG_YJBillCode,PG_YJtraderName,PG_YJWrapName,PG_YJAreaName,PG_YJBillDate,';
strsql:=strsql+'PG_YJPrice,PG_YJAmount,PG_YJReporter,PG_YJOutStoreDate ';
strsql:=strsql+' from PG_ChangeBill_YJ where (PG_YJOutStoreDate between :s1 and :s2) and PG_whichStore=:s3 ';
//strsql:=strsql+'PG_YJBillCode in (select PG_YJBillCode from PG_isChange_YJ)';
param.Add(trim(begindate.text)+' 00:00:00');
param.Add(trim(enddate.text)+' 23:59:59');
param.Add(trim(_whichStore));
_AdoNewproduce.BindToGrid(grid1,strsql,param);
{/*
计算合计数量
*/}
_Total:=0;
for i:=2 to grid1.RowCount-2 do
begin
if grid1.cells[7,i].foretext<>'' then
begin
_Total:=_Total+strToFloat(grid1.cells[7,i].foretext);
end;
end;
grid1.Cells[1,grid1.RowCount-1].ForeText:='合计:';
grid1.Cells[7,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total);
end;
grid1.Refresh;
end;
procedure TForm_ChangeBillFind.FormShow(Sender: TObject);
var
i,j:integer;
begin
for i:=2 to grid1.RowCount-1 do
begin
for j:=1 to grid1.ColCount-1 do
begin
grid1.Cells[j,i].ForeText:='';
end;
end;
grid1.RowCount:=3;
grid1.Refresh;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -