📄 u_form_changebill.~pas
字号:
param.Clear;
param.Add(trim(grid1.cells[1,grid1.row].foretext));
param.Add('否');
strSql:='select 单据号,单位名称,包装物名称,地区,开票日期,';
strSql:=strSql+'单价,数量,金额,制表人,单据标志 ';
strSql:=strSql+' from PGYJP Where 单据号=:s1 and 是否作废=:s2';
_AdoRongPin.getRecordList(strsql,param,datainfo_YJ);
{/*
开始调票,确定是否进行调押金票票
*/}
if Application.MessageBox(pchar('确定是否调押金票?'),pchar('系统提示!'),MB_YesNo+MB_IconWarning)=id_yes then
begin
{/*
将记录存储到newproduce-->PG_ChangeBill_YJ中
*/}
param.clear;
for i:=0 to DataInfo_YJ[0].Count-1 do
begin
///showmessage(DataInfo_PG[i]);
if trim(DataInfo_YJ[0][i])<>'' then
begin
//showmessage('不空');
param.Add(DataInfo_YJ[0][i]);
end
else
begin
//showmessage('kong');
param.add(' ');
end;
end;////for i
param.Add('0');
param.Add(_whichStore);
param.Add(trim(formatDateTime('yyyy-mm-dd hh:mm:ss',now)));
strSql:='insert into PG_ChangeBill_YJ(PG_YJBillCode,PG_YJTraderName,PG_YJWrapName,PG_YJAreaName,PG_YJBillDate,PG_YJPrice,';
strSql:=strSql+'PG_YJAmount,PG_YJSum,PG_YJReporter,PG_YJBillFlag,isCanCel,PG_whichStore,PG_YJOutStoreDate) Values(:s1,';
strSql:=strSql+':s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13)';
_AdoNewproduce.actionRecord(strsql,param);
{/*
存盘品供押金票据的标志newproduce--->PG_isChange_YJ是否打印:1 为已经调过 空:为未调
*/}
param.Clear;
param.Add(trim(DataInfo_YJ[0][0]));
param.Add('1');
strsql:='insert into PG_isChange_YJ(PG_YJBillcode,isChange) values(:s1,:s2)';
_AdoRongPin.actionRecord(strsql,param);
showmessage('调票成功...');
///////////最后删除表格表面的一行数据/////////////////
grid1.DeleteRow(rect(1,grid1.Row,grid1.ColCount-1,grid1.row));
end;///tmp_tablename=3
////tmp_tablename=3是调押金票//////////////////////////////////////////////////
end;
end;
procedure TForm_ChangeBill.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;
end;
procedure TForm_ChangeBill.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);
end;
grid1.Refresh;
//edit1.SetFocus;
edit1.Text:='';
end;
procedure TForm_ChangeBill._beginDateCloseUp(Sender: TObject);
begin
beginDate.Text:=formatDateTime('yyyy-mm-dd',_begindate.date);
end;
procedure TForm_ChangeBill._endDateCloseUp(Sender: TObject);
begin
endDate.Text:=formatDateTime('yyyy-mm-dd',_enddate.date);
end;
procedure TForm_ChangeBill.Edit1KeyPress(Sender: TObject; var Key: Char);
var
param:TStringList;
strsql:string;
{/*
当RBBtn_1为真是设定日期
*/}
_beginDate1:string;
_endDate1:string;
{/*
当RBBtn_2为真是设定日期
*/}
_beginDate2:string;
_endDate2:string;
begin
if key=#13 then
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))<>5 then
begin
showmessage('票据号的长度输入不正确...');
edit1.SetFocus;
edit1.Text:='';
exit;
end;
param.Clear;
param.Add('TH'+trim(copy(trim(formatDateTime('yyyymmdd',now)),1,6))+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 ';
/// /显示查询记录////////////////
if _adosale.getRecordCount(strsql,param)<=0 then
begin
edit1.SetFocus;
edit1.Text:='';
exit;
end;
param.Clear;
param.Add('TH'+trim(copy(trim(formatDateTime('yyyymmdd',now)),1,6))+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);
grid1.SetFocus;
end;
if tmp_TableName=2 then
begin
{/*
检查输入的编号的位数是否正确包装票=12位
*/}
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';
if _AdoRongPin.getRecordCount(strsql,param)<=0 then
begin
edit1.SetFocus;
edit1.Text:='';
exit;
end;
////显示查询记录////////////////
///***如果存在则得到票据的数据信息并存储在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);
grid1.SetFocus;
end;////tmp_TableName=2
if tmp_TableName=3 then
begin
{/*
检查输入的编号的位数是否正确酒票=12位
*/}
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)';
if _AdoRongPin.getRecordCount(strsql,param)<=0 then
begin
edit1.SetFocus;
edit1.Text:='';
exit;
end;
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);
grid1.SetFocus;
end;////tmp_TableName=3
edit1.Text:='';
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;
grid1.Refresh;
end;///key
end;
procedure TForm_ChangeBill.ButtonExCtl1Click(Sender: TObject);
begin
if Form_ChangeBillFind=nil then
begin
EnableWindow(Form_ChangeBill.Handle,false);
Form_ChangeBillFind:=TForm_ChangeBillFind.Create(Application);
Form_ChangeBillFind.Show;
end
else
begin
EnableWindow(Form_ChangeBill.Handle,false);
Form_ChangeBillFind.Show;
end;
end;
procedure TForm_ChangeBill.Grid1KeyPress(Sender: TObject; var Key: Char);
var
param:TStringList;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -