📄 u_form_changebill.~pas
字号:
unit U_Form_ChangeBill;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, EasyGrid, StdCtrls, ButtonExCtl,UAdoSet,uCheckValidate,uString,
ComCtrls, Mask;
type
TForm_ChangeBill = class(TForm)
GroupBox2: TGroupBox;
Label1: TLabel;
Button1: TButtonExCtl;
Edit1: TEdit;
Grid1: TEasyGrid;
GroupBox1: TGroupBox;
GroupBox3: TGroupBox;
RBbtn1: TRadioButton;
RBbtn2: TRadioButton;
RBBtn_1: TRadioButton;
RBBtn_2: TRadioButton;
Label3: TLabel;
beginDate: TMaskEdit;
_beginDate: TDateTimePicker;
Label8: TLabel;
endDate: TMaskEdit;
_endDate: TDateTimePicker;
RBBtn3: TRadioButton;
ButtonExCtl1: TButtonExCtl;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
procedure RBbtn1Click(Sender: TObject);
procedure RBbtn2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure RBBtn_1Click(Sender: TObject);
procedure RBBtn_2Click(Sender: TObject);
procedure Grid1DblClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure RBBtn3Click(Sender: TObject);
procedure _beginDateCloseUp(Sender: TObject);
procedure _endDateCloseUp(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure ButtonExCtl1Click(Sender: TObject);
procedure Grid1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
_AdoSale:TuAdoset;
_AdoRongPin:TuAdoSet;
_AdoNewProduce:TuAdoSet;
_Check:TCheckValidate;
_str:TuString;
public
{ Public declarations }
end;
var
Form_ChangeBill: TForm_ChangeBill;
tmp_TableName:integer;
implementation
uses U_Form_MainMenu,uGlobal,U_Form_ChangeBillFind;
{$R *.dfm}
procedure TForm_ChangeBill.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
EnableWindow(Form_MainMenu.Handle,true);
CanClose:=true;
end;
procedure TForm_ChangeBill.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;
RBBtn1.Checked:=true;
RBBtn_1.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;
grid1.Refresh;
edit1.Text:='';
beginDate.Enabled:=false;
beginDate.Text:=_str.formatDate(2);
_beginDate.Enabled:=false;
_beginDate.Date:=strToDate(_str.formatDate(2));
endDate.Enabled:=false;
endDate.Text:=_str.formatDate(2);
_endDate.Enabled:=false;
_endDate.Date:=strToDate(_str.formatDate(2));
end;
procedure TForm_ChangeBill.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;
//edit1.SetFocus;
edit1.Text:='';
end;
procedure TForm_ChangeBill.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:=11;
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);
end;
grid1.Refresh;
//edit1.SetFocus;
edit1.Text:='';
end;
procedure TForm_ChangeBill.Button1Click(Sender: TObject);
var
param:TStringList;
strsql:string;
{/*
当RBBtn_1为真是设定日期
*/}
_beginDate1:string;
_endDate1:string;
{/*
当RBBtn_2为真是设定日期
*/}
_beginDate2:string;
_endDate2:string;
begin
param:=TStringList.Create;
param.clear;
{/*
验证输入有效性
*/}
if RBBtn_1.Checked then
begin
if edit1.text='' then
begin
showmessage('请输入要查询的票据号');
exit;
end;
end;
{/*
需要调票记录查询:tmp_tableName=1 查询newsale酒票
tmp_tablename=2 查询rongpin2004包装票
RBBtn_1.Checked=true 代表按编号查询
RBBtn_2.Checked=true 代表按显示时间段所有未调的票据
*/}
if RBBtn_1.Checked then
begin
if tmp_TableName=1 then
begin
{/*
检查输入的编号的位数是否正确酒票=13位
*/}
if length(trim(edit1.text))<>13 then
begin
showmessage('票据号的长度输入不正确...');
exit;
end;
param.Clear;
param.Add(trim(edit1.text)); ////加入查询条件
/////形成查询语句Sql///////////
strSql:='Select saleBillCode,saleBillDate,TraderName,ProductName,Specification,UnitName,saleNum,saleSum From saleBill Where ';
strSql:=strSql+'saleBillCode=:s1 and iscancel=0 and isChange=0 Order By saleBillCode';
/// /显示查询记录////////////////
_Adosale.BindToGrid(grid1,strsql,param);
end;
if tmp_TableName=2 then
begin
{/*
检查输入的编号的位数是否正确酒票=13位
*/}
if length(trim(edit1.text))<>12 then
begin
showmessage('票据号的长度输入不正确...');
exit;
end;
////showmessage('fghgfhgfh');
///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
param.Clear;
param.Add(trim(edit1.text));
param.Add('否');
strSql:='Select 单据号,单位名称,包装物名称,验收车间,地区,开票日期,酒桶数,成套数,空箱数,空瓶数 From';
strSql:=strSql+' PGYSD Where 单据号=:s1 and 是否作废=:s2';
////显示查询记录////////////////
_AdoRongPin.BindToGrid(grid1,strsql,param);
end;////tmp_TableName=2
if tmp_TableName=3 then
begin
{/*
检查输入的编号的位数是否正确酒票=13位
*/}
if length(trim(edit1.text))<>12 then
begin
showmessage('票据号的长度输入不正确...');
exit;
end;
////showmessage('fghgfhgfh');
///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
param.Clear;
param.Add(trim(edit1.text));
param.Add('否');
param.Add('押');
strSql:='select 单据号,单位名称,包装物名称,地区,开票日期,单价,数量,金额 from';
strSql:=strSql+' PGYJP Where 单据号=:s1 and 是否作废=:s2 and 单据标志=:s3 and ';
strsql:=strsql+' 单据号 not in (select PG_YJBillcode from PG_isChange_YJ)';
////显示查询记录////////////////
_AdoRongPin.BindToGrid(grid1,strsql,param);
end;////tmp_TableName=3
end;
if RBBtn_2.Checked then
begin
if tmp_TableName=1 then
begin
_beginDate1:=trim(begindate.text)+' 00:00:00';
_endDate1:=trim(endDate.text)+' 23:59:59';
param.Clear;
param.Add(trim(_beginDate1)); ////加入查询条件
param.Add(trim(_endDate1)); ////加入查询条件
/////形成查询语句Sql///////////
strSql:='Select saleBillCode,saleBillDate,TraderName,ProductName,Specification,UnitName,saleNum,saleSum From saleBill Where ';
strSql:=strSql+'saleBillDate betWeen :s1 and :s2 and iscancel=0 and isChange=0 Order By saleBillCode';
//strSql:=strSql+'iscancel=0 and isChange=0 Order By saleBillCode';
/// /显示查询记录////////////////
_Adosale.BindToGrid(grid1,strsql,param);
end;
if tmp_TableName=2 then
begin
_beginDate2:=copy(trim(begindate.text),1,4)+'年'+copy(trim(begindate.text),6,2)+'月'+copy(trim(begindate.text),9,2)+'日';
_endDate2:=copy(trim(enddate.text),1,4)+'年'+copy(trim(enddate.text),6,2)+'月'+copy(trim(enddate.text),9,2)+'日';;
//showmessage(_beginDate2);
//showmessage(_endDate2);
///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
param.Clear;
param.Add(trim(_beginDate2));
param.Add(trim(_endDate2));
param.Add('否');
param.Add('1');
strSql:='Select 单据号,单位名称,包装物名称,验收车间,地区,开票日期,酒桶数,成套数,空箱数,空瓶数 From';
strSql:=strSql+' PGYSD Where 开票日期>=:s1 and 开票日期<=:s2 and 是否作废=:s4 and 是否打印<>:s5';
////显示查询记录////////////////
_AdoRongPin.BindToGrid(grid1,strsql,param);
end;////tmp_TableName=2
if tmp_TableName=3 then
begin
_beginDate2:=copy(trim(begindate.text),1,4)+'年'+copy(trim(begindate.text),6,2)+'月'+copy(trim(begindate.text),9,2)+'日';
_endDate2:=copy(trim(enddate.text),1,4)+'年'+copy(trim(enddate.text),6,2)+'月'+copy(trim(enddate.text),9,2)+'日';;
//showmessage(_beginDate2);
//showmessage(_endDate2);
///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
param.Add(_beginDate2);
param.Add(_endDate2);
param.Add('否');
param.Add('押');
strSql:='select 单据号,单位名称,包装物名称,地区,开票日期,单价,数量,金额 from';
strSql:=strSql+' PGYJP Where 开票日期>=:s1 and 开票日期<=:s2 and 是否作废=:s3 and 单据标志=:s4 and ';
strsql:=strsql+' 单据号 not in (select PG_YJBillcode from PG_isChange_YJ)';
////显示查询记录////////////////
_AdoRongPin.BindToGrid(grid1,strsql,param);
end;////tmp_TableName=3
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -