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

📄 wm_tk.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    txt_zj.Caption := FloatToStr(v);
  end;
end;

function Tfrm_wm_tk.RuleCheck: integer;
var
  code1, code2: integer;
  v1 : Double;
  v2: Double;
  v3: Double;
begin
  Result := 0;
  //
  if Trim(txt_sum.Text) = '' then begin
    MessageBox(Handle, '请确定退库数量', '沈阳信德', MB_ICONQUESTION or MB_OK);
    txt_sum.SetFocus;
    Result := 1;
    Exit;
  end else begin
    Val(Trim(txt_sum.Text), v1, code1);
    if (code1 <> 0) then begin
      MessageBox(Handle, '退库数量无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_sum.SetFocus;
      Result := 1;
      Exit;
    end else begin
      v3 := cur_ck_sum + cur_fk_sum;
      if v1 > v3 then begin
        MessageBox(Handle, '退库数量超界', '沈阳信德', MB_ICONQUESTION or MB_OK);
        txt_sum.SetFocus;
        Result := 1;
        Exit;
      end;
    end;
  end;
  //
  if Trim(txt_jj.Text) = '' then begin
    if v1 < 0.01 then
      v2 := 0
    else begin
      MessageBox(Handle, '请确定返款金额', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_jj.SetFocus;
      Result := 1;
      Exit;
    end;
  end else begin
    Val(Trim(txt_jj.Text), v2, code2);
    if (code2 <> 0) then begin
      MessageBox(Handle, '返款金额无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
      txt_jj.SetFocus;
      Result := 1;
      Exit;
    end else begin
      if (v1 < 0.01) and (v2 > 0) then begin
        MessageBox(Handle, '没有退货,返款无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
        txt_jj.SetFocus;
        Result := 1;
        Exit;
      end;
      v3 := v1 * cur_dj;
      v3 := Int(v3) + Round((Frac(v3)*100))/100;
      if v2 > v3 then begin
        MessageBox(Handle, '返款金额超界', '沈阳信德', MB_ICONQUESTION or MB_OK);
        txt_jj.SetFocus;
        Result := 1;
        Exit;
      end;
    end;
  end;
  //
  v3 := cur_ck_sum + cur_fk_sum - v1;
  if v3 < 0.01 then v3 := 0;
  qe_wm.FieldByName('pj_ck_sum').Value := v3;
  qe_wm.FieldByName('pj_fk_sum').Value := v1;
  v3 := v1 * cur_dj - v2;
  if v3 < 0.01 then v3 := 0;
  qe_wm.FieldByName('pj_other').Value := v3;
end;

procedure Tfrm_wm_tk.EditInit;
begin
  pe_bh.Enabled := False;
  pe_info.Enabled := False;
  //
  cmd_edit.Enabled := False;
  cmd_cancel.Enabled := True;
  cmd_save.Enabled := False;
  cmd_print.Enabled := False;
  //
  pe_edit.Enabled := True;
  txt_sum.SetFocus;
  //
  cur_dj := qe_wm.FieldByName('pj_dj').Value;
  cur_ck_sum := qe_wm.FieldByName('pj_ck_sum').Value;
  cur_fk_sum := qe_wm.FieldByName('pj_fk_sum').Value;
  //
  qe_wm.Edit;
end;

procedure Tfrm_wm_tk.ControlChange(Sender: TObject);
var
  strValue: string;
  strText: string;
  code: integer;
  v, v1: Double;
begin
   if qe_wm.State = dsEdit then begin
     EnabledComponent(dsEdit);
     if TEdit(Sender).Tag = 1 then begin
       strValue := '';
       strText := Trim(txt_sum.Text);
       //
       if (strText = '') then
         strValue := ''
       else begin
         Val(strText, v, code);
         if (code <> 0) then
           strValue := ''
         else begin
           v := Int(v) + Round((Frac(v)*100))/100;
           v1 := v * cur_dj;
           v1 := Int(v1) + Round((Frac(v1)*100))/100;
           strValue := FloatToStr(v1);
         end;
       end;
       //
       txt_jj.Text := strValue;
     end;
   end;
end;

procedure Tfrm_wm_tk.controlKeyPress2(Sender: TObject; var Key: Char);
begin
  if not (((Key >= '0') and (Key <= '9')) or (Ord(Key) = 8) or (Ord(Key) = 46) or (Ord(Key) = 13)) then
    Key := Chr(0);
  if Ord(Key) = 13 then controlSetFocus(TWinControl(Sender).Tag);
end;

procedure Tfrm_wm_tk.controlKeyPress1(Sender: TObject; var Key: Char);
begin
  if not (((Key >= '0') and (Key <= '9')) or (Ord(Key) = 8) or (Ord(Key) = 46) or (Ord(Key) = 13)) then
    Key := Chr(0);
end;

procedure Tfrm_wm_tk.controlSetFocus(intpos: integer);
begin
  case intpos of
    1: txt_jj.SetFocus;
  end;  
end;

procedure Tfrm_wm_tk.EnabledComponent(intState: TDataSetState);
begin
  case intState of
    dsBrowse: begin
                cmd_save.Enabled := False;
                cmd_cancel.Enabled := False;
                cmd_print.Enabled := True;
                cmd_edit.Enabled := True;
                //
                if (qe_wm.Bof) and (qe_wm.Eof) then begin
                  cmd_print.Enabled := False;
                  cmd_edit.Enabled := False;
                end;
              end;
    dsEdit  : begin
                cmd_save.Enabled := True;
                cmd_cancel.Enabled := True;
                cmd_print.Enabled := False;
                cmd_edit.Enabled := False;
              end;
    dsInsert: begin
                cmd_save.Enabled := True;
                cmd_cancel.Enabled := True;
                cmd_print.Enabled := False;
                cmd_edit.Enabled := False;
              end;
  end;
end;

procedure Tfrm_wm_tk.cmd_saveClick(Sender: TObject);
var
  intResult: integer;
begin
  intResult := RuleCheck;
  if intResult = 1 then
    Exit
  else begin
    qe_wm.Post;
    //
    SaveInit;
  end;
end;

procedure Tfrm_wm_tk.cmd_cancelClick(Sender: TObject);
begin
  CancelInit;
end;

procedure Tfrm_wm_tk.cmd_printClick(Sender: TObject);
begin
  if MessageBox(Handle, '确定要进行退货结算吗?', '沈阳信德', MB_ICONQUESTION or MB_OKCANCEL) = ID_OK then begin
    combo_p.Items.Clear;
    combo_p.items.Assign(Printer.Printers);
    if combo_p.Items.Count = 0 then begin
      MessageBox(Handle, '没有可用的打印机,请添加打印机', '沈阳信德', MB_ICONQUESTION or MB_OK);
      Exit;
    end;
    //
    ExportInit;
  end;
end;

procedure Tfrm_wm_tk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure Tfrm_wm_tk.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
var
  v: Double;
  code: integer;
begin
  CanClose := True;
  //
  Val(Trim(txt_zj.Caption), v, code);
  if (code = 0) and ( v > 0.01) then begin
    MessageBox(Handle, '此委托编号退库尚未结算,不能退出', '沈阳信德', MB_ICONQUESTION or MB_OK);
    CanClose := False;
    Exit;
  end;
  //
  if CanClose then begin
    qe_wm.Close;
    qe_sum.Close;
    qe_sum1.Close;
    //
    frm_main.mu_yw_gl_xs_th.Enabled := True;
    frm_main.current_handle := 0;
    //
    frm_main.Tag := 1; //标识窗体能否关闭; 1-能关闭;2-不能关闭;
  end;
end;

procedure Tfrm_wm_tk.FormShow(Sender: TObject);
begin
  qe_wm.Close;
  qe_wm.ParamByName('ibh').Value := cur_bh;
  qe_wm.Open;
  qe_wm.First;
  //
  cur_dw := Trim(qe_wm.FieldByName('pj_ghdw').AsString);
  //
  frm_main.mu_yw_gl_xs_th.Enabled := False;
  frm_main.current_handle := Handle;
  //
  EnabledComponent(dsBrowse);
end;

procedure Tfrm_wm_tk.FormDestroy(Sender: TObject);
begin
  qe_wm := nil;
  qe_sum := nil;
  qe_sum1 := nil;
  //
  frm_wm_tk := nil;
end;

procedure Tfrm_wm_tk.cmd_editClick(Sender: TObject);
begin
  EditInit;
end;

procedure Tfrm_wm_tk.qe_sum1CalcFields(DataSet: TDataSet);
var
  f_fk: Double;
begin
  f_fk := qe_sum1.FieldByName('pj_fk_sum').Value * qe_sum1.FieldByName('pj_dj').Value - qe_sum1.FieldByName('pj_other').Value;
  f_fk := Int(f_fk) + Round((Frac(f_fk)*100))/100;
  qe_sum1.FieldByName('pj_fk').Value := f_fk;
end;

end.

⌨️ 快捷键说明

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