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

📄 jm_fhdsc_getpp.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      while not eof do
      begin
        if FieldByName('PPDM').AsString = rxQry_kxpp.FieldByName('PPDM').AsString then
        begin
          Result := true;
          Exit;
        end;
        Next;
      end;
      EnableConstraints;
    end;
  end;

begin
  if (rg_fplb.ItemIndex = 1) and (DCBo_yyy.KeyValue = null) then
  begin
    CHQMsgBox('请先选择营业员,再选票品!');
    exit;
  end;
  if DBG_ckpp.Columns[0].Title.caption = '发货单号' then
    bbt_nextClick(nil);
  Before_Insert := rxQry_ckpp.BeforeInsert;
  rxQry_ckpp.BeforeInsert := nil;
  try
    if not rxQry_ckpp.Active then
    begin
      rxQry_ckpp.Close;
      rxQry_ckpp.Open;
    end;
    SetFHDHDisplay('营业员');
    rxQry_ckpp.Edit;
    case rg_fplb.ItemIndex of
      0: //单——多去向
        begin
          if not CheckExisted then
          begin
            qry_yyy.First;
            while not qry_yyy.Eof do
            begin
              Addckpp;
              qry_yyy.Next;
            end;
          end;
        end;
      1: //多——单去向
        if not CheckExisted then
          Addckpp;
    end;
    rg_fplb.Enabled := false;
  except
  end;
  rxQry_ckpp.BeforeInsert := Before_Insert;
end;

procedure Tfrm_FHDSC_GETPP.BBt_okClick(Sender: TObject);
begin
  if rxQry_ckpp.IsEmpty then
    exit;
  rxQry_ckpp.first;
  while not rxQry_ckpp.Eof do
  begin
    if rxQry_ckpp.FieldByName('SL').AsFloat = 0 then
      rxQry_ckpp.Delete
    else
      rxQry_ckpp.next;
  end;

  if CheckKC = 1 then
    Exit;

  GenerateFHD;
  rg_fplb.Enabled := true;
  InitData(1);
end;

procedure Tfrm_FHDSC_GETPP.BBt_nextClick(Sender: TObject);
begin
  if not rxQry_ckpp.IsEmpty then
    rxQry_ckpp.CancelUpdates;
  if not qry_fhd.IsEmpty then
    qry_fhd.CancelUpdates;
  rg_fplb.Enabled := true;
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppDJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppDJSetText(Sender: TField;
  const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure Tfrm_FHDSC_GETPP.InitData(init: integer);
var
  fkfxx: Pkfxx;
begin
  Cmb_kfdm.Items.Clear;
  with Qry_kfdm do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select a.kfdm,a.kfmc from tgs_kfb a,tgs_kfrydzb b where b.kfdm=a.kfdm and b.ygdm=''' + VG_USERID + '''');
    Open;
    First;
    while not eof do
    begin
      new(fkfxx);
      fkfxx^.kfdm := FieldByName('kfdm').AsString;
      fkfxx^.kfmc := FieldByName('kfmc').AsString;
      Cmb_kfdm.Items.AddObject(FieldByName('kfmc').AsString, TObject(fkfxx));
      next;
    end;
  end;
  if init = 0 then
  begin
    if Cmb_kfdm.Items.Count > 0 then
    begin
      Cmb_kfdm.ItemIndex := 0;
      rxQry_kxpp.Close;
      case L_type of
        io_jyp: rxQry_kxpp.SQL := SqlStrings1.jyp_Sql;
        io_yp: rxQry_kxpp.SQL := SqlStrings1.yp_Sql;
        io_grp: rxQry_kxpp.SQL := SqlStrings1.grp_Sql;
      end;
      rxQry_kxpp.Params[0].Value := Pkfxx(Cmb_kfdm.Items.Objects[0])^.kfdm;
      rxQry_kxpp.Open;
    end;
  end
  else
  begin
    if Cmb_kfdm.Items.Count > 0 then
    begin
      Cmb_kfdm.ItemIndex := Cmb_kfdm.Items.IndexOf(Cmb_kfdm.text);
      rxQry_kxpp.Close;
      case L_type of
        io_jyp: rxQry_kxpp.SQL := SqlStrings1.jyp_Sql;
        io_yp: rxQry_kxpp.SQL := SqlStrings1.yp_Sql;
        io_grp: rxQry_kxpp.SQL := SqlStrings1.grp_Sql;
      end;
      rxQry_kxpp.Params[0].Value := Pkfxx(Cmb_kfdm.Items.Objects[Cmb_kfdm.Items.IndexOf(Cmb_kfdm.text)])^.kfdm;
      rxQry_kxpp.Open;
    end;
  end;
end;

procedure Tfrm_FHDSC_GETPP.rg_fplbClick(Sender: TObject);
begin
  case rg_fplb.ItemIndex of
    0: dcbo_yyy.Enabled := False;
    1: dcbo_yyy.Enabled := True;
  end;
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppJJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppJJSetText(Sender: TField;
  const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppYJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppYJSetText(Sender: TField;
  const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppXJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppXJSetText(Sender: TField;
  const Text: string);
begin
  CurrSetText(Sender, Text);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppJSJGetText(Sender: TField;
  var Text: string; DisplayText: Boolean);
begin
  CurrGetText(Sender, Text, DisplayText);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppJSJSetText(Sender: TField;
  const Text: string);
begin
  CurrSettext(SEnder, Text);
end;

procedure Tfrm_FHDSC_GETPP.Cmb_kfdmChange(Sender: TObject);
begin
  InitData(1);
end;

procedure Tfrm_FHDSC_GETPP.rxQry_ckppBeforeInsert(DataSet: TDataSet);
begin
  Abort;
end;

procedure Tfrm_FHDSC_GETPP.SetFHDHDisplay(DisplayLabel: string);
begin
  DBG_ckpp.Columns[0].Title.Caption := DisplayLabel;
  if DisplayLabel = '发货单号' then
  begin
    DBG_ckpp.Columns[1].ReadOnly := True;
    BBt_ok.Enabled := False;
  end
  else
  begin
    DBG_ckpp.Columns[1].ReadOnly := False;
    bbt_ok.Enabled := True;
  end;
end;

function Tfrm_FHDSC_GETPP.CheckKC: Integer;
var
  StrSql, old_ppdm, old_jj, old_kfdm: string;
  FPSL: Integer;
  BK: TBookMark;
begin
  Result := 0;
  if rxQry_ckpp.IsEmpty then exit;
  rxQry_ckpp.First;
  with rxQry_ckpp do
  begin
    while not eof do
    begin
      Fpsl := 0;
      old_ppdm := FieldbyName('ppdm').AsString;
      old_jj := Fieldbyname('jj').AsString;
      old_kfdm := Fieldbyname('kfdm').AsString;
      BK := GetBookmark;
      with rxQry_ckpp do
      begin
        First;
        while not eof do
        begin
          if (FieldbyName('ppdm').AsString = old_ppdm) and (FieldbyName('jj').asString = old_jj) and (FieldbyName('kfdm').AsString = old_kfdm) then
            fpsl := fpsl + FieldbyName('sl').AsInteger;
          Next;
        end;
      end;
      GotoBookmark(bk);
      if rxQry_kxpp.Locate('ppdm;jj;kfdm', vararrayof([old_ppdm, old_jj, old_kfdm]), []) then
        if fpsl > rxQry_kxpp.FieldByName('ts').AsInteger then
        begin
          Result := 1;
          MessageBox(application.handle, '分配票品的数量超出库存数量,请重新设置!', '提示', mb_ok + mb_iconinformation);
          Exit;
        end;
      next;
    end;
  end;
end;

procedure Tfrm_FHDSC_GETPP.SpeedButton1Click(Sender: TObject);
begin
  if (trim(Edt_loc.Text) = '') then
    exit;

  if (trim(Edt_loc.Text) <> V_S_loc) then
  begin
    V_S_loc := trim(Edt_loc.Text);
    rxQry_kxpp.First;
    rxQry_kxpp.Filter := 'PPDM<>''''';
    rxQry_kxpp.FindFirst;
  end
  else
    rxQry_kxpp.FindNext;

end;

procedure Tfrm_FHDSC_GETPP.rxQry_kxppFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  accept := false;
  if (V_S_loc <> '') then
    if Rbtn_zh.Checked then
    begin
      if (pos(V_S_loc, DataSet.fieldbyname('ZH').asstring) <> 0) then
        accept := true;
    end
    else if (pos(V_S_loc, DataSet.fieldbyname('PPMC').asstring) <> 0) then
      accept := true;

end;

end.

⌨️ 快捷键说明

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