亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ckjh_jjw.pas

?? 省級(jí)集郵品管理ERP
?? PAS
?? 第 1 頁 / 共 4 頁
字號(hào):
      {清空原有的票品的庫存情況}
      VL_PPDMList.Clear;
      VL_PPKCList.Clear;

      {主表信息}
      qry_List.Append;
      qry_List.FieldByName('DWDM').AsString := qry_DW.FieldByName('DWDM').AsString;
      qry_List.FieldByName('DWJC').AsString := qry_DW.FieldByName('DWJC').AsString;
      qry_List.FieldByName('CKXZ').AsString := fcb_CKXZ.FieldString;
      qry_List.FieldByName('RCKXZMC').AsString := fcb_CKXZ.Text;
      if qry_List.State in [dsEdit, dsInsert] then
        qry_List.Post;

      case rg_CKXZ.ItemIndex of                             {根據(jù)依據(jù)的來源,添加從表}
        0:
          begin
            VL_QLDH := qry_YJD.FieldByName('QLDH').AsString;
            Add_FPInfo(qry_DW.FieldByName('DWDM').AsString, qry_PPInfo_Y);
          end;
        1:
          with qry_PPInfo_N do
            Add_WYTSJ(qry_DW.FieldByName('DWDM').AsString, qry_PPInfo_N, dbg_PP);
      end;

      GetGG(qry_Detail.FieldByName('PPDM').AsString);       {取得湊整的規(guī)格}
      rg_Round.ItemIndex := 2;
      rg_Round.OnClick(self.rg_Round);
    end;
  finally
    free;
    qry_Detail.BeforeInsert := qry_DetailBeforeInsert;
  end;

  if l_Modal <> mrOK then
    Exit;
  {  qry_Detail.AfterScroll(nil);}
  {顯示庫存}
  l_Modal := VL_PPDMList.IndexOf(qry_Detail.FieldByname('PPDM').AsString);
  if l_Modal > -1 then
    medt_KC.Text := VL_PPKCList[l_Modal];
  { medt_KC.Text := FloatToStr(StrToFloat(VL_PPKCList[l_Modal]) - FieldByName('FPSL').AsInteger);}
  GetGG(qry_Detail.FieldByName('PPDM').AsString);

  VL_CKJHDH := '';                                          {新增}
  Set_State(True);                                          {設(shè)置界面可修改狀態(tài)}
end;

{-------------------------------------------------------------------------------}
{添加信息}
procedure TFrm_CKJH_JJW.Add_FPInfo(a_DWDM: String; a_SourceQuery: TQuery);
begin
  {1.添加從表信息}
  with a_SourceQuery do
  begin
    while not Eof do
    begin
      if a_SourceQuery.FieldbyName('KFDM').AsString = '' then
      begin
        {庫存中沒有該票品}
        Application.MessageBox(Pchar('票品:' + FieldByName('PPMC').asString + '沒有庫存!'), '提示', mb_Ok + MB_ICONINFORMATION);
        Next;
        Continue;
      end;
      {添加庫存信息}
      VL_PPDMList.Add(FieldbyName('PPDM').AsString);
      VL_PPKCList.Add(FLoatToStr(PS_GetSYTS(FieldByName('KFDM').AsString, FieldByName('PPDM').AsString, FieldByName('JJ').AsFloat)));

      qry_Detail.Append;
      VL_CanPost := False;
      qry_Detail.FieldByName('DWDM').AsString := a_DWDM;
      qry_Detail.FieldByName('KFDM').AsString := FieldByName('KFDM').AsString;
      qry_Detail.FieldByName('KFMC').AsString := FieldByName('KFMC').AsString;
      if FieldList.IndexOf('TDM') > -1 then
        qry_Detail.FieldByName('PPDM').AsString := FieldbyName('TDM').AsString
      else
        qry_Detail.FieldByName('PPDM').AsString := FieldbyName('PPDM').AsString;
      qry_Detail.FieldByName('PPMC').AsString := FieldByName('PPMC').AsString;
      if FieldbyName('JJ').AsString <> '' then
        qry_Detail.FieldByName('JJ').AsFloat := FieldByName('JJ').AsFloat / 100;
      qry_Detail.FieldByName('ZK').AsString := FieldByName('ZK').AsString;
      if Trim(FieldByName('XJ').AsString) <> '' then
        qry_Detail.FieldByName('XJ').AsFloat := FieldByName('XJ').AsFloat / 100;
      if Trim(FieldByName('JSJ').AsString) <> '' then
        qry_Detail.FieldByName('JSJ').AsFloat := FieldByName('JSJ').AsFloat / 100;
      if FieldList.IndexOf('XQZTS') > -1 then
        qry_Detail.FieldByName('FPSL').AsString := FieldByName('XQZTS').AsString;
      if qry_Detail.State in [dsEdit, dsInsert] then
        qry_Detail.Post;
      VL_CanPost := True;
      Next;
    end;
  end;
end;

{-------------------------------------------------------------------------------}
{選擇湊包湊版}
procedure TFrm_CKJH_JJW.rg_RoundClick(Sender: TObject);
var
  l_SingleDest: Integer;
begin
  l_SingleDest := 0;
  pgc_SeleInfo.ActivePageIndex := rg_Round.ItemIndex;       {YJ}
  case rg_Round.ItemIndex of
    0: {湊包}                                               {}
      begin
        rg_Round_Style.Visible := True;
        if cb_BZGG.Items.Count = 0 then
        begin
          Application.MessageBox('包裝規(guī)格可能不完整,無法按包進(jìn)行湊整!', '提示', MB_OK + MB_IconInformation);
          rg_Round.ItemIndex := 2;                          {默認(rèn)為不湊}
          Exit;
        end;
//        l_SingleDest := StrToInt(cb_BZGG.Text);
          l_SingleDest := StrToInt(VL_ZXTS[cb_BZGG.ItemIndex]);
      end;
    1: {湊版}                                               {}
      begin
        rg_Round_Style.Visible := True;
        l_SingleDest := VL_Ban_GG;
      end;
    2: {不用湊整數(shù)}                                         {}
      rg_Round_Style.Visible := False;
  end;


  if not qry_Detail.IsEmpty then
  begin
    with qry_Detail do
    begin
      BeforePost := nil;
      Edit;
      if rg_Round.ItemIndex = 2 then {不湊}                 {}
        FieldByName('FPSL').AsInteger := FieldByName('FPSL_OLD').AsInteger
      else
        FieldByName('FPSL').AsInteger :=
          GetRoundNumber(FieldByName('FPSL_OLD').AsInteger, l_SingleDest, rg_Round_Style.ItemIndex); {返回湊整后的數(shù)據(jù)}
      Post;
      BeforePost := qry_DetailBeforePost;
    end;

    {顯示出修改后的理論庫存}
  end;

end;

{-------------------------------------------------------------------------------}
{得到湊包后的結(jié)果}
function TFrm_CKJH_JJW.GetRoundNumber(A_source, A_SingleDest,
  A_type: Integer): Integer;
var
  l_Mod, l_Div: Integer;
begin
  Result := 0;

  if A_SingleDest <= 0 then                                 {為0或者小于0時(shí)直接返回}
  begin
    Result := A_Source;
    Exit;
  end;

  l_Mod := A_Source Mod A_SingleDest;                       {求余數(shù),為0時(shí)整除}

  if (l_Mod = 0) and (A_Source >= A_SingleDest) then        {恰好為整包或整版}
  begin
    Result := A_Source;
    Exit;
  end;

  l_Div := A_Source Div A_SingleDest;                       {}

  case A_type of
    0: {向上}                                               {}
      Result := (l_Div + 1) * A_SingleDest;
    1: {向下}                                               {}
      Result := l_Div * A_SingleDest;
  end;

  if Result < 0 then                                        {向下取整時(shí)為負(fù)數(shù)時(shí)返回0}
    Result := 0;
end;

{-------------------------------------------------------------------------------}
{湊包湊版}
procedure TFrm_CKJH_JJW.SetRounding;
var
  l_Dest: Integer;
begin
  l_Dest := 0;

  case rg_Round.ItemIndex of
    0: {湊包}                                               {}
      begin
        if cb_BZGG.Items.Count = 0 then
        begin
          Application.MessageBox('包裝規(guī)格可能不完整,無法按包進(jìn)行湊整!', '提示', MB_OK + MB_IconInformation);
          rg_Round.ItemIndex := 2;                          {默認(rèn)為不湊}
          Exit;
        end;
       { l_Dest := StrToInt(cb_BZGG.Text);}
       l_Dest :=StrToInt(VL_ZXTS[cb_BZGG.ItemIndex]);
      end;
    1: {湊版}                                               {}
      begin
        if cb_BGG.Items.Count = 0 then
        begin
          Application.MessageBox('版規(guī)格可能不完整,無法按版進(jìn)行湊整!', '提示', MB_OK + MB_IconInformation);
          rg_Round.ItemIndex := 2;                          {默認(rèn)為不湊}
          Exit;
        end;

        l_Dest := VL_Ban_GG;
      end;
    2: {不用湊整數(shù)}                                         {}
      l_Dest := 0;
    //      Exit;
  end;

  SetRoundSL(rg_Round.ItemIndex, rg_Round_Style.ItemIndex, L_Dest); {分配數(shù)量的湊整處理}
end;

{-------------------------------------------------------------------------------}
{湊包湊版只湊當(dāng)前的票品}
procedure TFrm_CKJH_JJW.SetRoundSL(A_Round, A_Round_Style,
  A_SingleDest: Integer);
{參數(shù)說明:湊包方式、湊整的方式(向上、向下)、湊整時(shí)的單包或者單版包裝規(guī)格}
begin
  {湊整}
  qry_Detail.BeforePost := nil;
  with qry_Detail do
  begin
    DisableControls;
    if not Eof then
    begin
      Edit;
      if A_Round = 2 then {不湊}                            {}
        FieldByName('FPSL').AsInteger := FieldByName('FPSL_OLD').AsInteger
      else
        FieldByName('FPSL').AsInteger :=
          GetRoundNumber(FieldByName('FPSL_OLD').AsInteger, A_SingleDest, A_Round_Style); {返回湊整后的數(shù)據(jù)}
      Post;
    end;
    EnableControls;
  end;

  qry_Detail.BeforePost := qry_DetailBeforePost;
end;

{-------------------------------------------------------------------------------}
{改變數(shù)據(jù)前保存該數(shù)據(jù)}
procedure TFrm_CKJH_JJW.qry_DetailBeforePost(DataSet: TDataSet);
begin
  qry_Detail.Edit;
  qry_Detail.FieldByName('FPSL_OLD').AsString := qry_Detail.FieldByName('FPSL').AsString;
end;
{-------------------------------------------------------------------------------}
{取消手工輸入}
procedure TFrm_CKJH_JJW.qry_DetailBeforeInsert(DataSet: TDataSet);
begin
  Abort;
end;

{-------------------------------------------------------------------------------}
{改變湊版湊包方式}
procedure TFrm_CKJH_JJW.rg_Round_StyleClick(Sender: TObject);
var
  l_SingleDest: Integer;
begin
  l_SingleDest := 0;
  pgc_SeleInfo.ActivePageIndex := rg_Round.ItemIndex;       {YJ}
  case rg_Round.ItemIndex of
    0: {湊包}                                               {}
      begin
        rg_Round_Style.Visible := True;
        if cb_BZGG.Items.Count = 0 then
        begin
          Application.MessageBox('包裝規(guī)格可能不完整,無法按包進(jìn)行湊整!', '提示', MB_OK + MB_IconInformation);
          rg_Round.ItemIndex := 2;                          {默認(rèn)為不湊}
          Exit;
        end;
{        l_SingleDest := StrToInt(cb_BZGG.Text);}
        l_SingleDest := StrToInt(VL_ZXTS[cb_BZGG.ItemIndex]);
      end;
    1: {湊版}                                               {}
      begin
        rg_Round_Style.Visible := True;
        l_SingleDest := VL_Ban_GG;
      end;
    2: {不用湊整數(shù)}                                         {}
      rg_Round_Style.Visible := False;
  end;


  if not qry_Detail.IsEmpty then
  begin
    with qry_Detail do
    begin
      BeforePost := nil;
      Edit;
      if rg_Round.ItemIndex = 2 then {不湊}                 {}
        FieldByName('FPSL').AsInteger := FieldByName('FPSL_OLD').AsInteger
      else
        FieldByName('FPSL').AsInteger :=
          GetRoundNumber(FieldByName('FPSL_OLD').AsInteger, l_SingleDest, rg_Round_Style.ItemIndex); {返回湊整后的數(shù)據(jù)}
      Post;
      BeforePost := qry_DetailBeforePost;
    end;
  end;
end;

{-------------------------------------------------------------------------------}
procedure TFrm_CKJH_JJW.cb_BZGGChange(Sender: TObject);
begin
  SetRounding;                                              {湊包湊版調(diào)用}
end;

{-------------------------------------------------------------------------------}
procedure TFrm_CKJH_JJW.cb_BGGChange(Sender: TObject);
begin
  VL_Ban_GG := StrToInt(cb_BGG.Text);
  SetRounding;                                              {湊包湊版調(diào)用}
end;

{-------------------------------------------------------------------------------}
{用戶填入數(shù)量,計(jì)算判斷}
procedure TFrm_CKJH_JJW.qry_DetailFPSLSetText(Sender: TField;
  const Text: String);
var
  l_Dest, l_Index: Integer;
  L_Text: string;
  l_SetTextEvent: TFieldSetTextEvent;
begin
  l_SetTextEvent := qry_DetailFPSL.OnSetText;
  qry_DetailFPSL.OnSetText := nil;                          {防止用鼠標(biāo)點(diǎn)擊其他記錄時(shí)遞歸調(diào)用}

  l_Text := Text;
  if Trim(Text) = '' then
  begin
    Sender.AsString := Text;
    qry_DetailFPSL.OnSetText := l_SetTextEvent;             {防止用鼠標(biāo)點(diǎn)擊其他記錄時(shí)遞歸調(diào)用}
    Exit;
  end;

  try
    if (StrToFloat(Text) >= 10000000) or (StrToFloat(Text) <= 0) then
      Abort;                                                {觸發(fā)abort異常}
  except
    Application.MessageBox('所輸入的分配數(shù)量必須合法!', '提示', MB_ICONINFORMATION + mb_ok);
    qry_DetailFPSL.OnSetText := l_SetTextEvent;             {防止用鼠標(biāo)點(diǎn)擊其他記錄時(shí)遞歸調(diào)用}
    qry_Detail.Cancel;
    Exit;
  end;

  try
    Sender.AsInteger := Trunc(StrToFloat(l_Text));          {分配數(shù)量只能為自然數(shù)}

    l_Index := VL_PPDMList.IndexOf(qry_Detail.FieldbyName('PPDM').AsString);
    if l_Index > -1 then
      medt_KC.Text := FloatToStr(StrToFloat(VL_PPKCList[l_Index]) - qry_Detail.FieldByName('FPSL').AsInteger);


    l_Dest := 0;
    case rg_Round.ItemIndex of
      0: {湊包}                                             {}
{        l_Dest := StrToInt(cb_BZGG.Text);}
       l_Dest :=StrToInt(VL_ZXTS[cb_BZGG.ItemIndex]);
      1: {湊版}                                             {}
        l_Dest := VL_Ban_GG;
      2: {不用湊整數(shù)}                                       {}
        begin
          qry_Detail.Edit;
          qry_Detail.FieldByName('FPSL').AsInteger := Trunc(StrToFloat(l_Text));
          if VL_CanPost then
            qry_Detail.Post;
          Exit;
        end;
    end;

    qry_Detail.Edit;
    qry_Detail.FieldByName('FPSL').AsInteger :=
      GetRoundNumber(Trunc(StrToFloat(l_Text)), l_Dest, rg_Round_Style.ItemIndex); {返回湊整后的數(shù)據(jù)}
    if VL_CanPost then
      qry_Detail.Post;

    {如果湊包,重新寫庫存顯示庫存}
    l_Index := VL_PPDMList.IndexOf(qry_Detail.FieldbyName('PPDM').AsString);
    if l_Index > -1 then
      medt_KC.Text := FloatToStr(StrToFloat(VL_PPKCList[l_Index]) - qry_Detail.FieldByName('FPSL').AsInteger);

  finally
    qry_DetailFPSL.OnSetText := l_SetTextEvent;             {防止用鼠標(biāo)點(diǎn)擊其他記錄時(shí)遞歸調(diào)用}
  end;
end;

{-------------------------------------------------------------------------------}
{用戶輸入數(shù)量后,程序計(jì)算其他數(shù)據(jù)}
procedure TFrm_CKJH_JJW.qry_DetailFPSLValidate(Sender: TField);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本中文字幕一区二区视频 | 色婷婷精品大在线视频| 亚洲最大色网站| 日韩精品一区二区三区在线播放 | 国产成人a级片| 五月婷婷色综合| 综合av第一页| 久久精品人人爽人人爽| 91麻豆精品国产自产在线观看一区| 国产不卡高清在线观看视频| 奇米精品一区二区三区四区| 亚洲免费在线看| 国产日韩欧美在线一区| 欧美一二区视频| 欧美色图一区二区三区| jizzjizzjizz欧美| 国产一区二区三区综合| 青椒成人免费视频| 午夜亚洲国产au精品一区二区| 国产精品白丝在线| 国产欧美日产一区| 精品日韩欧美一区二区| 91麻豆精品国产自产在线| 欧美伊人精品成人久久综合97| 成人黄色软件下载| 高清国产一区二区| 国产河南妇女毛片精品久久久| 蜜桃91丨九色丨蝌蚪91桃色| 天天综合天天综合色| 亚洲一区二区三区小说| 亚洲精品欧美综合四区| 亚洲欧美在线视频| 日韩一区有码在线| 亚洲伦在线观看| 亚洲美女屁股眼交| 尤物在线观看一区| 一区在线中文字幕| 成人免费视频在线观看| 国产精品久久久久久久久快鸭 | 91精品中文字幕一区二区三区| 在线精品视频免费播放| 91免费观看视频在线| av电影在线观看一区| 91视视频在线观看入口直接观看www | 亚洲视频 欧洲视频| 亚洲人成在线播放网站岛国| 亚洲视频网在线直播| 亚洲乱码国产乱码精品精可以看| 亚洲色图一区二区| 一区二区三区四区蜜桃| 亚洲福利视频导航| 日韩电影在线一区二区三区| 麻豆精品国产91久久久久久| 九色|91porny| 丁香五精品蜜臀久久久久99网站 | 蜜臀久久99精品久久久久久9| 日本视频在线一区| 精品在线观看视频| 国产精品中文字幕一区二区三区| 国产成人精品网址| 91免费观看在线| 91精品国产入口在线| 久久免费偷拍视频| 亚洲柠檬福利资源导航| 日韩高清不卡一区| 成人性视频免费网站| 色8久久精品久久久久久蜜| 6080亚洲精品一区二区| 久久免费电影网| 亚洲精品乱码久久久久久久久| 亚洲超碰97人人做人人爱| 国产综合色产在线精品| 91麻豆免费观看| 日韩欧美精品三级| 成人免费在线播放视频| 蜜臀久久99精品久久久久宅男| 成人美女在线观看| 欧美丰满高潮xxxx喷水动漫| 国产欧美一区二区精品性色| 一区二区三国产精华液| 久久99精品国产| 91成人网在线| 久久精品在线免费观看| 亚洲123区在线观看| 粉嫩绯色av一区二区在线观看 | 韩国三级中文字幕hd久久精品| 99精品国产91久久久久久| 欧美一区二区三区免费大片| 国产精品美女一区二区三区| 三级欧美韩日大片在线看| 成人午夜视频网站| 欧美一区欧美二区| 亚洲日本中文字幕区| 精品亚洲aⅴ乱码一区二区三区| 色香色香欲天天天影视综合网| 26uuu国产在线精品一区二区| 一级精品视频在线观看宜春院 | 欧美体内she精高潮| 国产欧美一区二区精品仙草咪 | 国产一区二区剧情av在线| 欧美专区日韩专区| 国产精品色在线| 免费成人在线播放| 欧美日韩综合在线免费观看| 亚洲国产精品高清| 国产一区二区免费在线| 欧美精品久久天天躁| 亚洲激情图片小说视频| 国产69精品一区二区亚洲孕妇| 91麻豆精品国产91久久久更新时间 | 日日夜夜精品视频免费| 91天堂素人约啪| 国产精品美女一区二区三区| 狠狠色丁香久久婷婷综合_中 | 久久一日本道色综合| 日韩影院免费视频| 91电影在线观看| 亚洲免费观看高清完整版在线观看| 国产一区二区三区美女| 日韩精品自拍偷拍| 天天影视网天天综合色在线播放| 欧美在线观看视频在线| 亚洲日穴在线视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 91精品午夜视频| 天天综合网天天综合色| 欧美日韩色综合| 午夜成人在线视频| 欧美日韩一区中文字幕| 香蕉成人伊视频在线观看| 欧美性生活大片视频| 一区二区三区四区不卡在线| 91亚洲国产成人精品一区二区三 | 久久精品国产99国产| 制服.丝袜.亚洲.另类.中文| 日本视频一区二区| 91精品婷婷国产综合久久| 日韩中文字幕麻豆| 欧美一区二区三区视频免费 | 一本大道av一区二区在线播放| 国产精品传媒入口麻豆| 99久久99久久综合| 亚洲毛片av在线| 欧美日韩一区高清| 秋霞电影网一区二区| 欧美成人免费网站| 国产成人精品免费看| 中文字幕在线一区免费| 99久久夜色精品国产网站| 一区二区不卡在线视频 午夜欧美不卡在| 色美美综合视频| 亚洲一区在线视频| 7777精品伊人久久久大香线蕉最新版| 香蕉成人啪国产精品视频综合网| 欧美一区二区三区四区高清| 国产乱码精品一区二区三区五月婷| 亚洲欧美日韩国产另类专区| 99精品视频在线观看| 一级中文字幕一区二区| 欧美一区二区成人| 国产高清不卡二三区| 中文字幕一区二区视频| 欧美日韩国产高清一区二区三区 | 久久精品亚洲精品国产欧美kt∨| 国产成a人无v码亚洲福利| 一区二区三区在线视频观看| 欧美日韩国产免费| 国产精品一区一区三区| 亚洲人123区| 欧美大胆人体bbbb| 不卡欧美aaaaa| 日韩成人免费看| 国产欧美日韩激情| 欧美日韩精品专区| 粉嫩av亚洲一区二区图片| 亚洲一二三四在线观看| 欧美精品一区二区三区一线天视频| 成人免费视频播放| 午夜精品久久久久久久久久久 | 丁香婷婷深情五月亚洲| 亚洲男同性恋视频| 久久综合狠狠综合| 91九色02白丝porn| 国产精品综合久久| 亚洲午夜激情网页| 国产精品三级在线观看| 欧美日本韩国一区二区三区视频| 国产a视频精品免费观看| 亚洲成a人片在线不卡一二三区| 欧美激情资源网| 717成人午夜免费福利电影| a级精品国产片在线观看| 视频一区二区中文字幕| 国产精品久久久久婷婷二区次| 欧美高清激情brazzers| 91美女福利视频| 成人影视亚洲图片在线| 奇米色一区二区| 亚洲国产成人av网| 中文字幕制服丝袜成人av|