⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_form_changebill.~pas

📁 这是一个啤酒行业的软件
💻 ~PAS
📖 第 1 页 / 共 4 页
字号:
        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 + -