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

📄 jm_yyypptp.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 3 页
字号:
end;

procedure Tfrm_YYYPPTP.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = 13) then {回车键}
    if not (ActiveControl is TDBGrid) then {if not is a TDBGrid}
    begin
      Key := 0; {eat enter key}
      Perform(WM_NEXTDLGCTL, 0, 0); {move to next control}
    end
    else if (ActiveControl is TDBGrid) then {if it is a TDBGrid}
      with TDBGrid(ActiveControl) do
     //           Key := VK_TAB;
        if selectedindex < (fieldcount - 1) then
          selectedindex := selectedindex + 1
        else
        begin Qry_tpdpp0.next;
          selectedindex := 2;
        end;

end;

procedure Tfrm_YYYPPTP.Qry_rkppJSJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  inherited;
  currGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_YYYPPTP.Qry_rkppJSJSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  CurrSetText(sender, text);
end;

procedure Tfrm_YYYPPTP.Qry_rkppSJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  inherited;
  CurrGetText(Sender, TExt, DisplayText);
end;

procedure Tfrm_YYYPPTP.Qry_rkppSJSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  CurrSetText(sender, Text);
end;

procedure Tfrm_YYYPPTP.Qry_rkppMZGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  inherited;
  CurrGetText(sender, Text, Displaytext);
end;

procedure Tfrm_YYYPPTP.Qry_rkppMZSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  CurrSetText(Sender, Text);
end;

procedure Tfrm_YYYPPTP.open_sql(var FQuery: TQuery; var SQLTextStr: string);
begin
  with FQuery do
  begin
    close;
    SQL.Clear;
    SQL.Text := SQLTextStr;
    Open;
  end;
end;

procedure Tfrm_YYYPPTP.exec_sql(var FQuery: TQuery; var SQLTextStr: string);
begin
  with FQuery do
  begin
    Close;
    SQL.Clear;
    Sql.Text := SQLTextStr;
    ExecSQL;
  end;
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0JJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  inherited;
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0JJSetText(Sender: TField; const Text: string);
begin
  inherited;
  CurrSetText(Sender, Text);
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0XJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  inherited;
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0XJSetText(Sender: TField; const Text: string);
begin
  inherited;
  CurrSetText(Sender, Text);
end;

procedure Tfrm_YYYPPTP.Qry_tpdAfterScroll(DataSet: TDataSet);
var
  StrSQL: string;
  I: integer;
begin
  for i := 0 to Combobox1.Items.Count - 1 do
  begin
    if Pygxm(Combobox1.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('tcz').AsString then
    begin
      ComboBox1.ItemIndex := i;
      break;
    end;
  end;
  for i := 0 to Combobox2.Items.Count - 1 do
  begin
    if Pygxm(Combobox2.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('trz').AsString then
    begin
      ComboBox2.ItemIndex := i;
      break;
    end;
  end;
  with Qry_lykc do
  begin
    Close;
    ParamByName('ygdm').AsString := Qry_tpd.FieldbyName('tcz').AsString;
    ParamByName('lb').AsString := lb_type;
    Open;
  end;
  StrSQL := 'SELECT dh,a.ppdm,a.sl,a.lb,a.dj,a.jj,b.zh,b.ppmc FROM tm_tpdpp a,tm_yyykc b where b.ppdm=a.ppdm and b.lb=a.lb and b.jj=a.jj and a.dh=''' + Qry_tpd.fieldbyname('dh').AsString + ''' and b.ygdm=''' + Qry_tpd.fieldbyname('tcz').AsString + '''';
  with Qry_tpdpp0 do
  begin
    Close;
    SQL.Text := StrSQL;
    Open;
  end;
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0DJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  inherited;
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0DJSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  CurrSetText(Sender, Text);
end;

procedure Tfrm_YYYPPTP.Qry_tpdAfterOpen(DataSet: TDataSet);
var
  StrSQL: string;
  I: integer;
begin
  for i := 0 to Combobox1.Items.Count - 1 do
  begin
    if Pygxm(Combobox1.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('tcz').AsString then
    begin
      ComboBox1.ItemIndex := i;
      break;
    end;
  end;
  for i := 0 to Combobox2.Items.Count - 1 do
  begin
    if Pygxm(Combobox2.items.Objects[i])^.ygdm = Qry_tpd.FieldbyName('trz').AsString then
    begin
      ComboBox2.ItemIndex := i;
      break;
    end;
  end;
  with Qry_lykc do
  begin
    Close;
    ParamByName('ygdm').AsString := Qry_tpd.FieldbyName('tcz').AsString;
    ParamByName('lb').AsString := lb_type;
    Open;
  end;
  StrSQL := 'SELECT dh,a.ppdm,a.sl,a.lb,a.dj,a.jj,b.zh,b.ppmc FROM tm_tpdpp a,tm_yyykc b where a.ppdm=b.ppdm and a.lb=b.lb and a.jj=b.jj and a.dh=''' + Qry_tpd.fieldbyname('dh').AsString + ''' and b.ygdm =''' + Qry_tpd.fieldbyname('tcz').AsString + '''';
  with Qry_tpdpp0 do
  begin
    Close;
    SQL.Text := StrSQL;
    Open;
  end;
end;

function Tfrm_YYYPPTP.CheckKC: integer; //检测是否超出理论库存
var
  FQuery1: TQuery;
  StrSql: string;
begin
  Result := 0;
  Qry_tpdpp0.First;
  if Qry_tpdpp0.IsEmpty then exit;
  with Qry_tpdpp0 do
  begin
    while not Eof do
    begin
      FQuery1 := TQuery.Create(nil);
      try
        if FieldByName('dh').AsString <> '' then
        begin
          StrSql := 'select DH, PPDM, LB, JJ, SL, DJ from tm_tpdpp where dh=''' + FieldByName('dh').AsString + ''' and ppdm=''' + FieldByName('ppdm').AsString + ''' and lb=''' + FieldByName('lb').AsString + ''' and jj=' + FieldByName('jj').AsString;
          with FQuery1 do
          begin
            Close;
            DataBaseName := 'yzpp';
            Sql.Clear;
            Sql.Add(StrSql);
            Open;
          end;
          if FieldByName('sl').AsInteger > FieldByName('lykc').AsInteger + FQuery1.FieldByName('sl').AsInteger then
          begin
            Result := 1;
            CHQMsgBox('退缴票品数量大于库存数量,请重新设置!'#13'库存数量为:' + VarToStr(FieldByName('lykc').AsInteger + FQuery1.FieldByName('sl').AsInteger));
            DBGrid3.SelectedIndex := 4;
            DBGrid3.SetFocus;
            Exit;
          end;
        end
        else
        begin
          if FieldByName('sl').AsInteger > FieldByName('lykc').AsInteger then
          begin
            Result := 1;
            CHQMsgBox('退缴票品数量大于库存数量,请重新设置!'#13'库存数量为:' + VarToStr(FieldByName('lykc').AsInteger));
            DBGrid3.SelectedIndex := 4;
            DBGrid3.SetFocus;
            Exit;
          end;
        end;
      finally
        FQuery1.Free;
      end;
      Next;
    end;
  end;
end;

procedure Tfrm_YYYPPTP.Rgp_ppflClick(Sender: TObject);
begin
  case Rgp_ppfl.ItemIndex of
    0:
      begin
        L_type := io_jyp;
        LB_type := '0';
      end;
    1:
      begin
        L_type := io_yp;
        LB_type := '1';
      end;
    2:
      begin
        L_type := io_grp;
        LB_type := '2';
      end;
  end;
  StateChange;

end;

procedure Tfrm_YYYPPTP.StateChange;
var
  strsql: string;
  fhed: string;

begin
  if Checkbox1.Checked then
    fhed := ' and (tcfh is null or trfh is null) '
  else
    fhed := ' ';
  with Qry_tpd do
  begin
    Close;
    SQL.Clear;
    strsql := 'select * from tm_tpdb where dh in (select distinct dh from tm_tpdpp where lb=''' + lb_type + ''')' + fhed + ' order by dh desc';
    SQL.Add(strsql);
    Open;
  end;
  DBGrid2.Refresh;
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0BeforeInsert(DataSet: TDataSet);
begin
  Abort;
end;

procedure Tfrm_YYYPPTP.FormShow(Sender: TObject);
var
  xygxm: Pygxm;
  xrkxz: Prkxz;
begin
  inherited;
  SetState(dtBrowse);
  Caption := Application.Title;
  DWMC.Caption := '  操作员:' + VG_UserName;

  Qry_ryb.close;
  Qry_ryb.sql.text := 'select ygdm,ygmc from tgs_ryb order by ygdm';
  Qry_ryb.open;
  with Qry_ryb do
  begin
    while not Eof do
    begin
      New(xygxm);
      xygxm^.ygdm := fieldbyname('ygdm').asstring;
      xygxm^.ygmc := fieldbyname('ygmc').asstring;
      Combobox1.Items.AddObject(Fieldbyname('ygmc').asstring, TObject(xygxm));
      Combobox2.Items.AddObject(Fieldbyname('ygmc').asstring, TObject(xygxm));
      Next;
    end;
  end;
  queding := false;
  insertmode := false;
  save1 := false;
  Rgp_ppflClick(nil);
end;

procedure Tfrm_YYYPPTP.CheckBox1Click(Sender: TObject);
begin
  StateChange;
end;

procedure Tfrm_YYYPPTP.DBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if (Qry_tpd.FieldByName('tcfh').AsString = '') or (Qry_tpd.FieldByName('trfh').AsString = '') then
    DBGrid2.Canvas.Font.Color := clblue
  else
    DBGrid2.Canvas.Font.Color := clRed;
  if gdSelected in State then
  begin
    dbgrid2.Canvas.Brush.Color := clNavy;
    dbgrid2.Canvas.Font.Color := clWhite;
  end;
  DBGrid2.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

procedure Tfrm_YYYPPTP.Qry_tpdpp0CalcFields(DataSet: TDataSet);
begin
  inherited;
  if Qry_lykc.Locate('ppdm;jj;lb', vararrayof([Qry_tpdpp0.fieldbyname('ppdm').AsString, Qry_tpdpp0.fieldbyname('jj').AsFloat, Qry_tpdpp0.fieldbyname('lb').AsString]), []) then
    Qry_tpdpp0.FieldByName('lykc').AsFloat := Qry_lykc.fieldByname('sl').AsFloat;
end;

end.

⌨️ 快捷键说明

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