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

📄 unitprodstock.~pas

📁 此代码为企业原料管理代码
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
  frmProdprtkehu.Table1.Open;
 with frmProdprtkehu do
  begin
    QRLabel4.caption:=Edit2.text;
    QRLabel6.caption:=datetimetostr(date);
    QuickRep1.preview;
  end; //with
end;

procedure TfrmProdStock.PageControl1Change(Sender: TObject);
begin
   DateTimePicker1.date:=date-30;
   DateTimePicker2.date:=date;
   Edit2.text:='';
end;

procedure TfrmProdStock.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 dm.tabManufacturer.filtered:=false;
  frmProdprtkehu.Table1.close;
  dm.tabManufacturer.close;
 // DBEdit1.color:=clwindow;
 Edit2.text:='';
  Query2.Close;
  Table2.close;
  dm.dsProdStock.dataset:=dm.tabProdStock;
  dm.qryExe.active:=false;
  dm.tabProdStock.active:=false;
  table1.active:=false;
  query1.active:=false;
  if frmProdVoucher.kuw<>1 then
  frmProdMain.show;
  frmProdVoucher.kuw:=0;
end;

procedure TfrmProdStock.Button2Click(Sender: TObject);
 var
 nam,fig,vnote,bat,vout,id:string;
 vdate:Tdate;
 num:integer;
 jia,vbox:real;
begin
  Table2.Close;
  if Edit2.text='' then
  begin
  showmessage('请输入客户名称!');
  exit;
  end;
  with Query3 do //清客户表
  begin
    close;
    sql.clear;
    sql.add('Delete from kehu ');
    execsql;
  end; //with
   with Query2 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from ProdOutCard');
    sql.Add('where (Note like :v_from or Note like :v_f or Note like :f_v) and ManufacturerID=:khID');
    sql.Add('order by OutDate desc');
    parambyname('v_from').asstring:='%'+'未'+'%';
    parambyname('v_f').asstring:='%'+'欠'+'%';
    parambyname('f_v').asstring:='%'+'没'+'%';
    //parambyname('v_to').asdatetime:=DateTimePicker2.date;
    parambyname('khID').asstring:=Edit1.text;
    open;
    if recordcount=0 then
    begin
      showmessage('无记录或帐目全部结清');
      exit;
    end;
    first;
    //showmessage('Edit1.text');
    while  not eof do
    begin
    id:=fieldbyname('ProdID').asstring;
    vdate:=fieldbyname('OutDate').asdatetime;
    vnote:=fieldbyname('Note').asstring;
    bat:=fieldbyname('ProcBatID').asstring;
    num:=fieldbyname('Number').asinteger;
    vbox:=fieldbyname('Box').asfloat;
    vout:=fieldbyname('OuterID').asstring;
    Query3.close;
    Query3.sql.Clear;
    Query3.sql.Add('select * from ProdDictionary');
    Query3.sql.Add('where ProdID=:pID ');
    Query3.parambyname('pID').asstring:=id;
    Query3.open;
    nam:=Query3.fieldbyname('ProdName').asstring;
    fig:=Query3.fieldbyname('FigID').asstring;
    jia:=Query3.fieldbyname('SellPrice').asfloat;
    Query3.close;
    Query3.sql.Clear;
    Query3.sql.Add('select * from CommStaff');
    Query3.sql.Add('where StaffID=:pID ');
    Query3.parambyname('pID').asstring:=vout;
    Query3.open;
    vout:=Query3.fieldbyname('StaffName').asstring;
    Table2.open;
    Table2. insert;
    Table2.fieldbyname('ProdFig').asstring:=fig;
    Table2.fieldbyname('ProdName').asstring:=nam;
    Table2.fieldbyname('OutDate').asDateTime:=vdate;
    Table2.fieldbyname('Number').asinteger:=num;
    Table2.fieldbyname('Box').asfloat:=vbox;
    Table2.fieldbyname('ProcBat').asstring:=bat;
    Table2.fieldbyname('Note').asstring:=vnote;
    Table2.fieldbyname('Outer').asstring:=vout;
    Table2.fieldbyname('danjia').asfloat:=jia;
    Table2.fieldbyname('jine').asfloat:=strtofloat(formatfloat('0.00',num*jia));
    Table2.Post;
    next;
    end;
  end; //with
end;
{
procedure TfrmProdStock.dbEdit2Enter(Sender: TObject);
begin
   if pt<>1 then
  begin
   showmessage('请先按“开始填单”按钮或“修改”按钮!');
  exit;
  end;
   frmCommQueryID.top:=DBEdit2.Height+DBEdit2.top;
  frmCommQueryID.left:=DBEdit2.left;
  //Table3.Close;
  DBEdit2.color:=claqua;

        DBEdit2.setfocus;
        frmCommQueryID.PageControl1.ActivePageIndex:=2;
        dm.tabManufacturer.filtered:=false;
        dm.tabManufacturer.open;
        frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;

        if frmCommQueryID.showmodal = mrok then
        begin
          //DBEdit2.SetFocus;
          DBEdit2.text:=dm.tabManufacturer.fieldbyname('Manufacturer').asstring;
          Edit3.text:=DBEdit2.text;
        end; //if
end;
}
procedure TfrmProdStock.Button3Click(Sender: TObject);
begin
  // dbedit3.Text:='';
   //dbedit4.Text:='';
  // dbedit2.Text:='';
   DataSource2.DataSet:=Table3;
   BitBtn5.Enabled:=false;
   Button4.Enabled:=true;
   Button7.Enabled:=false;
   Button6.Enabled:=false;
   DBGrid2.Enabled:=false;
   table3.active:=true;
   pt:=1;
   //table3.Last;
   Table3.append;;
   table3.disablecontrols;
   dbedit2.SetFocus;
end;

procedure TfrmProdStock.Button4Click(Sender: TObject);
begin
     if (Form3.zdyGetmaterCheckDate >= DateTimePicker3.date) then
    begin
      showmessage('您选择的结帐日期早于上次结帐日期!'+#13+#13+'上次结帐日期是:'+datetostr(Form3.zdyGetmaterCheckDate));
      exit;
    end;
    if pt<>1 then
    begin
    showmessage('请先按“开始填单”按钮或“修改”按钮!');
    exit;
    end;
   if (DBEdit2.text='') or (DBEdit3.text='') then
    begin
     showmessage('请输入客户名称、金额!');
     exit;
     end;
      DBGrid2.Enabled:=true;
     table3.FieldByName('skrq').asdatetime:=DateTimePicker3.date;
     table3.post;
     BitBtn5.Enabled:=true;
     table3.Filtered:=false;
     Edit3.Text:=DBEdit2.Text;
    DataSource2.DataSet:=Query5;
    with Query5 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from Prodzmb.DB');
    sql.Add('where khmc=:v_fro');
    parambyname('v_fro').asstring:=Edit3.Text;
    open;
    end;
    //Edit3.text:='';
   Button4.Enabled:=false;
   Button7.Enabled:=true;
   Button3.Enabled:=true;
   Button6.Enabled:=true;
   DBEdit2.text:='';
   DBEdit3.text:='';
   DBEdit4.text:='';
   Edit3.Text:='';
   table3.enablecontrols;
  // table3.Close;
   // table3.open;
       st:='';
       pt:=0;
end;

procedure TfrmProdStock.DBEdit3Enter(Sender: TObject);
begin
  if pt<>1 then
  begin
   showmessage('请先按“开始填单”按钮或“修改记录”按钮!');
   Button3.SetFocus;
   exit;
  end;
end;

procedure TfrmProdStock.Button5Click(Sender: TObject);
begin
        frmProdStock.Hide;
        form3.ShowModal;

end;

procedure TfrmProdStock.Button7Click(Sender: TObject);
begin
   if st<>'a' then
   begin
   showmessage('请选择要删除的记录!');
   exit;
   end;
   if messagedlg('会删除所选记录 要继续吗?',mtWarning,[mbYes,mbNo],0) = mrNo then
    exit;

     with Query5 do
  begin
    close;
    sql.Clear;
    sql.Add('delete from Prodzmb.DB');
    sql.Add('where khmc=:v_fro and skrq=:vv and je=:jj');
    parambyname('v_fro').asstring:=Edit3.Text;
    parambyname('vv').asdate:=riqiri;
    parambyname('jj').asfloat:=jie;
    execsql;
   end;

       with Query5 do
  begin
    close;
    sql.Clear;
    sql.Add('select *  from Prodzmb.DB');
    sql.Add('where khmc=:v_fro ');
    parambyname('v_fro').asstring:=Edit3.Text;
    open;
   end;
   {
    Table3.open;
     if Table3.recordcount = 0 then
     begin
     showmessage('无记录可删除!');
     exit;
     end;
     Table3.delete;}
end;

procedure TfrmProdStock.Button6Click(Sender: TObject);
begin
  if st<>'a' then
   begin
   showmessage('请选择要修改的记录!');
   exit;
   end;
  pt:=1;
  table3.Filtered:=true;
  table3.open;
  DataSource2.DataSet:=Table3;
  Button7.Enabled:=false;
  DateTimePicker3.date:=table3.FieldByName('skrq').asdatetime;
  Button4.Enabled:=true;
  Button3.Enabled:=false;
  //table3.Refresh;
  table3.edit;
  {
   if DBEdit2.text='' then
    begin
     showmessage('请输入客户名称!');
     exit;
     end;
  with table3 do
  begin
    filter:= format('khmc = ''%S''',[DBEdit2.text]);
    filtered:=true;
    close;
    open;
  end; //with
  }
end;





procedure TfrmProdStock.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    key:=#0;
    perform(WM_NEXTDLGCTL,0,0);
  end; //if
end;

procedure TfrmProdStock.BitBtn5Click(Sender: TObject);
begin
 Query5.Close;
 table3.Close;
// frmProdMain.show;
 close;
end;


procedure TfrmProdStock.Edit2Click(Sender: TObject);
begin
  table2.Close;
  Edit2.text:='';
  frmCommQueryID.top:=200;//DBEdit1.Height+DBEdit1.top;
  frmCommQueryID.left:=200;//DBEdit1.left;

  //DBEdit1.color:=claqua;

        frmCommQueryID.PageControl1.ActivePageIndex:=2;

        frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;

        if frmCommQueryID.showmodal = mrok then
          begin
          Edit2.text:=frmCommQueryID.Query4.fieldbyname('Manufacturer').asstring;
          Edit1.text:=frmCommQueryID.Query4.fieldbyname('ManufacturerID').asstring;
        end; //if
         DBGrid1.setfocus;
     // showmessage(Edit1.text);
end;

procedure TfrmProdStock.DBEdit2Click(Sender: TObject);
begin
      if pt<>1 then
  begin
   showmessage('请先按“开始填单”按钮或“修改记录”按钮!');
   Button3.SetFocus;
   exit;
  end;
      frmCommQueryID.top:=100;
  frmCommQueryID.left:=80;
  //Table3.Close;
  //DBEdit2.color:=claqua;

        frmCommQueryID.PageControl1.ActivePageIndex:=2;
        frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;

        if frmCommQueryID.showmodal = mrok then
        begin
          //DBEdit2.SetFocus;
          DBEdit2.text:=frmCommQueryID.Query4.fieldbyname('Manufacturer').asstring;
          Edit3.text:=DBEdit2.text;
        end; //if
       // DateTimePicker3.SetFocus;
{
  frmCommQueryID.top:=200;//DBEdit1.Height+DBEdit1.top;
  frmCommQueryID.left:=200;//DBEdit1.left;
  Table3.Close;
  //DBEdit1.color:=claqua;

        DBEdit2.setfocus;
        frmCommQueryID.PageControl1.ActivePageIndex:=2;
        dm.tabManufacturer.filtered:=false;
        dm.tabManufacturer.open;
        frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;

        if frmCommQueryID.showmodal = mrok then
        begin
          Edit3.SetFocus;
          Edit3.text:=dm.tabManufacturer.fieldbyname('ManufacturerID').asstring;
           with dm.tabManufacturer do
          begin
            filter:=format('ManufacturerID = ''%S''',[Edit3.text]);
            filtered:=true;
            close;
            open;
          end; //with
           DBEdit2.setfocus;
          DBEdit2.text:=dm.tabManufacturer.fieldbyname('Manufacturer').asstring;
          dm.tabManufacturer.filtered:=false;
        end; //if

          dm.tabManufacturer.close;
        DBGrid2.setfocus; }
end;

procedure TfrmProdStock.Edit3Click(Sender: TObject);
begin
     query5.Close;
     Edit3.text:='';
       frmCommQueryID.top:=120;
  frmCommQueryID.left:=220;
  //Table3.Close;
 // Edit.color:=claqua;

        Edit3.setfocus;
        frmCommQueryID.PageControl1.ActivePageIndex:=2;
        frmCommQueryID.ActiveControl:=frmCommQueryID.dbgManufacturer;
        if frmCommQueryID.showmodal = mrok then
        begin
          Edit3.text:=frmCommQueryID.Query4.fieldbyname('Manufacturer').asstring;
        end; //if
end;

procedure TfrmProdStock.Button8Click(Sender: TObject);
begin
  with Query5 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from Prodzmb.DB');
    sql.Add('where khmc=:v_fro and skrq>=:qr and skrq<=:ks');
    parambyname('v_fro').asstring:=Edit3.Text;
    parambyname('qr').asdate:=DateTimePicker4.Date;
    parambyname('ks').asdate:=DateTimePicker5.Date;
    open;
     if recordcount=0 then
    begin
      showmessage('无记录!');
      exit;
    end;
    DateTimePicker3.date:=FieldByName('skrq').asdatetime;
    end;
end;

procedure TfrmProdStock.TabSheet3Enter(Sender: TObject);
begin
 Edit3.Text:='';
end;

procedure TfrmProdStock.DBEdit4Enter(Sender: TObject);
begin
  if pt<>1 then
  begin
   showmessage('请先按“开始填单”按钮或“修改记录”按钮!');
   Button3.SetFocus;
   exit;
  end;
     frmCommQueryID.top:=100;
    frmCommQueryID.left:=80;
    FrmcommqueryID.PageControl1.ActivePageIndex:=0;
    FrmcommqueryID.ActiveControl:=FrmcommqueryID.estaffID;
    if  FrmcommqueryID.showmodal=mrok then
    begin
      DBEdit4.text:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
   end;
   //DBEdit3.setfocus;
end;

procedure TfrmProdStock.DBGrid2CellClick(Column: TColumn);
begin
 st:='a';
 Edit3.Text:=query5.fieldbyname('khmc').asstring;
 DateTimePicker3.date:=query5.fieldbyname('skrq').asdatetime;
 jie:=query5.fieldbyname('je').asfloat;
 riqiri:=query5.fieldbyname('skrq').asdatetime;
end;

procedure TfrmProdStock.Table3FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  if (table3.FieldByName('khmc').asstring =Edit3.Text) and  (table3.FieldByName('je').asfloat=jie)
     and (table3.FieldByName('skrq').asdatetime=riqiri) then
 Accept:=true
 else
 Accept:=false;
end;



procedure TfrmProdStock.TabSheet2Show(Sender: TObject);
begin
  query5.close;
  table2.close;
  DateTimePicker4.Date:=date-30;
  DateTimePicker5.Date:=date;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -