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

📄 dfm_sale.pas

📁 仓库管理系统 仓库管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      dfmtotal:=Tdfmtotal.Create(Application);
    dfmtotal.showmodal;
end;

procedure Tdfmsale.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_F4 then
    SpeedButton4Click(SpeedButton4) ;
  if key=VK_F5 then
    SpeedButton7Click(SpeedButton7) ;
  if key=VK_F6 then
    SpeedButton3Click(SpeedButton3) ;
  if key=VK_F7 then
  begin
    If Application.FindComponent('dfmreprint')=Nil Then
      dfmreprint:=Tdfmreprint.Create(Application);
    dfmreprint.showmodal;
  end;  
  if key=VK_F8 then
    SpeedButton2Click(SpeedButton2) ;
  if key=VK_F9 then
  begin
    if CheckBox1.Checked = true then
      CheckBox1.Checked := false
    else
      CheckBox1.Checked := true;
  end;
  if key=VK_F11 then
    SpeedButton1Click(SpeedButton1) ;
  if key=VK_Delete then
  begin
    if Atblstemp.RecordCount <> 0 then
      Atblstemp.Delete ;
  end;
  if key=VK_up then
  begin
    if Atblstemp.RecordCount <> 0 then
    begin
      if trim(DBEditEh4.Text) = '' then
        Atblstemp.cancel;
      Atblstemp.Prior;
    end;
  end;
  if key=VK_down then
    Atblstemp.Next;
  vkey:=key;    
end;

procedure Tdfmsale.SpeedButton7Click(Sender: TObject);
begin
  if Atblstemp.RecordCount <> 0 then
  begin
    if trim(DBEditEh4.Text) = '' then
    begin
      Atblstemp.cancel;
      Atblstemp.last;
      dbedit2.Enabled :=true ;
      dbedit2.SetFocus;
    end
    else
    begin
      dbedit2.Enabled :=true ;
      dbedit2.SetFocus;
    end;
  end
  else
  begin
    dbedit2.Enabled :=true ;
    dbedit2.SetFocus;
  end;
end;

procedure Tdfmsale.MaskEdit9Exit(Sender: TObject);
begin
  SpeedButton3Click(SpeedButton3);
end;

procedure Tdfmsale.MaskEdit1Exit(Sender: TObject);
begin
  if trim(DBEditEh4.Text) <>'' then
    SpeedButton3Click(SpeedButton3);
end;

procedure Tdfmsale.ppVariable1Calc(Sender: TObject; var Value: Variant);
begin
  value:=FlatSpinEditFloat2.value ;
end;

procedure Tdfmsale.ppVariable2Calc(Sender: TObject; var Value: Variant);
begin
  value:=FlatSpinEditFloat3.value ;
end;

procedure Tdfmsale.DBEditEh3Exit(Sender: TObject);
begin
  if atblman.Locate('freno',trim(DBEditEh3.Text),[loPartialKey]) then
    StaticText2.caption :=atblman['fname']
  else
  begin
    StaticText2.caption :='无此员工号';
    DBEditEh3.SetFocus;
  end;  
end;

procedure Tdfmsale.DBEditEh4Exit(Sender: TObject);
begin
//  DBEditEh4.SetFocus ;
end;

procedure Tdfmsale.FlatSpinEditFloat2Exit(Sender: TObject);
begin
  if Atblstemp.RecordCount <> 0 then
  begin
    FlatSpinEditFloat3.value:=FlatSpinEditFloat2.value-FlatSpinEditFloat1.value;
    if FlatSpinEditFloat2.value-FlatSpinEditFloat1.value<0 then
    begin
      application.MessageBox('钱数不够,无法结帐!','提示信息',MB_OK);
      FlatSpinEditFloat2.SetFocus;
    end
    else
    begin
      begin
        Aqryapp.ExecSQL ;
        Aqrylose.ExecSQL ;
        if CheckBox1.Checked = true then
        begin
          ppReport1.ShowPrintDialog  := false;
          ppReport1.Print;
        end;
        Aqrydel.ExecSQL ;
        Atblstemp.Close ;
        atblstemp.Open ;

        DBEditEh1.Text:=vbmh ;
        DBComboBoxEh1.Text:=vlabel;
        dbdatetimeediteh1.Value:= vdate;
//      dbedit2.Text :=vzl;
        dbedit2.Text :='1';

        qryid;
//      FlatSpinEditFloat2.Value := 0;
//      Panel4.Visible := false;
//      Panel4.Visible := true;
        Label9.Caption := '上一单:';
        DBEditEh3.Text := vyyyh;
        DBEditEh3.SetFocus;
      end;
    end;
  end;
end;

procedure Tdfmsale.DBEditEh4KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    if trim(DBEditEh4.Text) <>'' then
    begin
{     atblextend.First;
     if atblextend.Locate('clabel;cstyle',VarArrayOf([dbcomboboxeh1.Text,dbediteh4.text]), [loPartialKey]) then
     begin
       if (dbdatetimeediteh1.Value>=atblextend['csdate'] and dbdatetimeediteh1.Value<=atblextend['cedate']) then
       begin
         if atblextend['cezl']<>null  then
         begin
           if atblextend['cezl']<>0 then
             dbedit2.Text:=atblextend['cezl']
         end
         else
         if atblextend['cesj']<>null then
           Atblstemp['lsj']:=atblextend['cesj'];
       end;
    end;}
     SpeedButton3Click(SpeedButton3);
    end;
  end;
end;

procedure Tdfmsale.DBNumberEditEh1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    DBEditEh4.SetFocus;
  end;
end;

procedure Tdfmsale.DBNumberEditEh2KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    DBEditEh4.SetFocus;
end;

procedure Tdfmsale.DBEditEh1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    DBComboBoxEh1.SetFocus ;
end;

procedure Tdfmsale.DBComboBoxEh1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    DBEditEh3.SetFocus;
end;

procedure Tdfmsale.FlatSpinEditFloat2KeyPress(Sender: TObject;
  var Key: Char);
begin
  if key=#13 then
    DBEditEh3.SetFocus;
end;

procedure Tdfmsale.AtblstempBeforePost(DataSet: TDataSet);
var
  vper:integer;
  vlsj:currency;
begin
  if not atblslday.Locate ('cdate',formatdatetime('yyyy-mm-dd',DBDateTimeEditEh1.value),[loPartialKey]) then
  begin
    if atblsalepara['cdec']='1' then
    begin
      vper:=10
    end;
    if atblsalepara['cdec']='2' then
    begin
      vper:=100
    end;
    if trim(DBEditEh4.Text) <> '' then
    begin
      with AQryware do
      begin
        close;
        Parameters.ParamByName ('vspbh').value:=trim(DBEditEh4.text);
        Parameters.ParamByName ('vlabel').value:=trim(DBComboBoxEh1.text);
        Parameters.ParamByName ('vbmh').value:=trim(DBEditEh1.text);
        open;
      end;
      if dbedit1.Text='' then
          dbedit1.text :='1';
      if TCustomADODataSet(AQryware).RecordCount>0 then
        if aqryware['dqsl']-dbedit1.Text <0 then
        begin
          application.MessageBox('库存中此款号的数量不足!','提示信息',MB_OK);
          abort;
          DBEditEh4.SetFocus;
        end
        else
        begin
          Atblstemp.edit;
          Atblstemp['sj']:=time();
          Atblstemp['skyh']:=g_uInfo.fuserid;
          Atblstemp['cname']:=aqryware['cname'] ;
//        if atblextend.RecordCount > 0 then
          atblextend.First;
          if atblextend.Locate('clabel;cstyle',VarArrayOf([trim(dbcomboboxeh1.Text),aqryware['flh']]), [loPartialKey]) then
          begin
            if atblextend['cezl']<>null  then
            begin
              if atblextend['cezl']<>0 then
              begin
//              dbedit2.Text:=atblextend['cezl'];
                Atblstemp['zl']:=atblextend['cezl'];
                Atblstemp['lsj']:=aqryware['lsj'];
                vlsj:=aqryware['lsj'];
              end
              else
              begin
                if atblextend['cesj']<>null then
                begin
                  Atblstemp['lsj']:=atblextend['cesj'];
                  vlsj:=atblextend.FieldByName('cesj').Ascurrency;                atblextend['cesj'];
                end;
              end;
//          end;
            end
            else
            if atblextend['cesj']<>null then
            begin
              Atblstemp['lsj']:=atblextend['cesj'];
              vlsj:=atblextend.FieldByName('cesj').Ascurrency;
            end;
          end
          else
          begin
            Atblstemp['lsj']:=aqryware['lsj'];
//          vlsj:=atblextend.FieldByName('cesj').Ascurrency;
            vlsj:=aqryware['lsj'];
          end;
//        Atblstemp['lsj']:=aqryware['lsj'];
          Atblstemp['sl']:= dbedit1.text;
          if atblsalepara['cdec']='0' then
            Atblstemp['sjje']:=round(vlsj*strtofloat(dbedit2.Text)*strtoint(dbedit1.text))
          else
            Atblstemp['sjje']:=round((vlsj*strtofloat(dbedit2.Text)*strtoint(dbedit1.text))*vper)/vper;
          Atblstemp['zke']:=vlsj*strtoint(dbedit1.text)-Atblstemp['sjje'];
        end
      else
      begin
        application.MessageBox('库存中没有此款号信息!','提示信息',MB_OK);
        abort;
        DBEditEh4.SetFocus;
      end;
    end
    else
    begin
      abort;
      DBEditEh4.SetFocus;
    end;
  end
  else
  begin
    application.MessageBox('这个日期已日结封帐,不允许继续输入!',
        '提示信息', MB_OK) ;
    abort;
  end;  
end;

procedure Tdfmsale.DBEditEh3KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    DBEditEh4.SetFocus;
end;

procedure Tdfmsale.FlatSpinEditFloat2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=vk_return then
    DBEditEh3.SetFocus;
end;

procedure Tdfmsale.AtblstempBeforeDelete(DataSet: TDataSet);
begin
  if Atblstemp.RecordCount =0 then
    abort;
end;

procedure Tdfmsale.DBEdit1Exit(Sender: TObject);
begin
  dbedit1.Enabled:=false ;
  Atblstemp.Post; 
end;

procedure Tdfmsale.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    DBEditEh4.SetFocus;
  end;
end;

procedure Tdfmsale.DBEdit2Exit(Sender: TObject);
begin
  DBEdit2.Enabled ;
  Atblstemp.Post;
end;

procedure Tdfmsale.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    DBEditEh4.SetFocus;
end;

procedure Tdfmsale.DBEditEh4Change(Sender: TObject);
begin
{  atblextend.First;
  if atblextend.Locate('clabel;cstyle',VarArrayOf([dbcomboboxeh1.Text,dbediteh4.text]), [loPartialKey]) then
    if (dbdatetimeediteh1.Value>=atblextend['csdate'] and dbdatetimeediteh1.Value<=atblextend['cedate']) then
    begin
      if atblextend['cezl']<>null  then
        if atblextend['cezl']<>0 then
          dbedit2.Text:=atblextend['cezl']
      else
        if atblextend['cesj']<>null then
          Atblstemp['lsj']:=atblextend['cesj'];
    end;}
end;

end.

⌨️ 快捷键说明

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