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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? invquery.pas

?? 文件包含程序源原文件
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  end;
end;


procedure TfrmBalance.SetBalanceList(RID: LongInt; List: TList; DT: TDateTime);
var i, j, UPriceType: Integer;
    STS: Boolean;
    lcP: PINVENTORY;
    lcBalP: PBALANCE;
begin
  for i:=0 to List.Count-1 do Dispose(List[i]);
  List.Clear;
  UPriceType := StrToIntDef(frmMain.IniData.OutPrice, 0);
  for i:=0 to FList.Count-1 do begin
    lcP := FList[i];
    if lcP^.REC_ID = RID then Continue;
    if (DT>=strtodatetime(formatDatetime('yy/mm/dd',lcP^.DATE)+' 00:00'))and (lcP^.DATE > 2) then begin
      STS := False;
      for j:=0 to List.Count-1 do begin
        lcBalP := List[j];
        if ((lcp^.STK_ID=lcBalP^.STK_ID)and(lcP^.MAT_RID=lcBalP^.CODE)and(lcp^.GUAGE_ID=lcBalP^.GUAGE_ID))  then begin
          lcBalP^.QUANTITY := lcBalP^.QUANTITY + lcP^.QUANTITY;
          //-- get 4 mode unit_price
          if (lcP^.KIND=0)and(UPriceType in [1, 2]) then begin
            if UPriceType = 1 then STS := (lcBalP^.DATE < lcP^.DATE)
            else STS := (lcBalP^.DATE > lcP^.DATE);
            if STS then begin
              lcBalP^.Date := lcP^.DATE;
              lcBalP^.U_PRICE := lcP^.UNT_PRICE;
            end;
          end;
          lcBalP^.T_PRICE := lcBalP^.T_PRICE + lcP^.TTL_PRICE;

          //-- current Quantity < Safety Quantity
          //lcBalP^.SAFE_QTY := 1;

          if lcBalP^.QUANTITY < dm_inventory.Get_MatGuageSafety(lcP^.MAT_RID,lcp^.GUAGE_ID) then
            lcBalP^.IS_SAFETY := 0
          else
            lcBalP^.IS_SAFETY := 1;          //-- Default Normal


          STS := True;
          Break;
        end;
      end;

      if not(STS) then begin
        New(lcBalP);
        ZeroMemory(lcBalP, Sizeof(TBALANCE));
        lcBalP^.STK_ID   := lcp^.STK_ID;
        lcBalP^.DATE     := lcP^.DATE;
        lcBalP^.CODE     := lcP^.MAT_RID;
        StrPCopy(lcBalP^.NAME, lcP^.MAT_NM);
        lcBalP^.GUAGE_ID := lcp^.GUAGE_ID;
        strPCopy(lcBalP^.GUAGE_NAME,dm_Inventory.Get_GuageName(lcP^.MAT_RID,lcp^.GUAGE_ID));
        lcBalP^.QUANTITY := lcP^.QUANTITY;
        lcBalP^.U_PRICE  := lcP^.UNT_PRICE;
        lcBalP^.T_PRICE  := lcP^.TTL_PRICE;
        
        if lcP^.QUANTITY < dm_inventory.Get_MatGuageSafety(lcP^.MAT_RID,lcp^.GUAGE_ID) then
            lcBalP^.IS_SAFETY := 0
          else
            lcBalP^.IS_SAFETY := 1;          //-- Default Normal
        //lcBalP^.SAFE_QTY := 1;

        List.Add(lcBalP);
      end;
    end;
  end;

  if UPriceType = 0 then
  begin
    for i:=0 to List.Count-1 do begin
      lcBalP := List[i];
      if lcBalP^.QUANTITY = 0 then lcBalP^.U_PRICE := 0
      else  lcBalP^.U_PRICE := lcBalP^.T_PRICE / lcBalP^.QUANTITY;
    end;
  end;

  if UPriceType = 3 then     //-- standard Price
  begin
    for i := 0 to List.Count-1 do begin
      lcBalP := List[i];
      lcBalP^.U_PRICE := dm_inventory.GetStdUnitPrice(lcBalP^.CODE);
      lcBalP^.T_PRICE := lcBalP^.U_PRICE * lcBalP^.QUANTITY;
    end;
  end;

end;


////////////////////////////////////////////////////////////////////
procedure TfrmBalance.btnFilterQueryClick(Sender: TObject);
var frmBalQryCond: TfrmBalQryCond;
    i,j: Integer;
    lcP: PBalance;
    Item: TListItem;
begin

  frmBalQryCond := TfrmBalQryCond.Create(self);
  if chkStkLess0.Checked then frmBalQryCond.ichkStkLess0 := (1=1)
  else frmBalQryCond.ichkStkLess0 := (1<>1);
  frmBalQryCond.ShowModal;
  if frmBalQryCond.ModalResult = 1 then
  begin
  Screen.Cursor  := crHourGlass;
  ReViewProc;
  with ListView.Items do begin
    BeginUpdate;
    Clear;
    EndUpdate;
  end;

  //--
  ListView.Items.BeginUpdate;
  try
    ListSortKey := frmBalQryCond.iSortKey;
    FList.Sort(TListSortCompare(@ListSortCompare));

    for i :=0 to BalanceList.Count-1 do begin
      lcP  := BalanceList.Items[i];
      if not frmBalQryCond.Set_QryCondition(lcp) then continue;
      Item := ListView.Items.Add;
      for j :=0 to FColumnCount-2 do Item.Subitems.Add('');
      Item.Data := lcP;
      MakeItemCaption(Item);
    end;
  finally
    ListView.Items.EndUpdate;
    if ListView.Items.Count>0 then
    begin
      ListView.TopItem.Selected  := true;
      ListView.Selected.Selected := true;
    end;
    stsBarCnt.Panels[0].Text := '符合條件的記錄有:'+ IntToStr(ListView.Items.Count)+' 條';
    Screen.Cursor := crDefault;
  end;
  end;
end;

procedure TfrmBalance.btnReViewClick(Sender: TObject);
begin
  ReViewProc;
end;

procedure TfrmBalance.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmBalance.btnExcelClick(Sender: TObject);
begin
  if ListView.Items.Count > 0 then PrintProc;
end;

procedure TfrmBalance.ListViewColumnClick(Sender: TObject; Column: TListColumn);
  ////////////////////////////////////////
  function StrToFloatEx(S: string): Double;
  begin
    S := StringReplace(S, ',', '', [rfReplaceAll]);
    S := StringReplace(S, '\', '', [rfReplaceAll]);
    try    Result := StrToFloat(S);
    except Result := 0;
    end;
  end;
var WSB_Pos: Integer;
begin
  if ListView.Items.Count = 0 then Exit;
  WSB_Pos := GetScrollPos(ListView.Handle, SB_HORZ);
  ListSortKey := Column.Index + 1;
  with ListView do
    case ListSortKey of
      1: if Items[0].Caption < Items[Items.Count-1].Caption then
           ListSortKey := ListSortKey * -1;
      7..9: //--
         if StrToFloatEx(Items[0].SubItems[ListSortKey-2]) <
            StrToFloatEx(Items[Items.Count-1].SubItems[ListSortKey-2]) then
           ListSortKey := ListSortKey * -1;
    else if Items[0].SubItems[ListSortKey-2] <
            Items[Items.Count-1].SubItems[ListSortKey-2] then
           ListSortKey := ListSortKey * -1;
    end;
  BalanceList.Sort(TListSortCompare(@ListSortCompare));
  SetListView;
  ListView.Scroll(WSB_Pos, 0);
end;


{*********************************************************************}
procedure TfrmBalance.PrintProc;
var
  V: OleVariant;
  RecCnt, ColCnt: Integer;
  i: Integer;
  S: string;
  ireport,isheet: integer;
begin
  try
    V := CreateOleObject('Excel.Application');
  except
    MessageDlg('Excel Application is Created Error!', mtError, [mbOk], 0);
    Exit;
  end;
  V.Visible := True;
  V.WorkBooks.Add;
  V.WorkBooks[1].Activate;

  if chkboxchkQty.Checked then isheet := 2 else isheet := 1;
  for ireport := 1 to isheet do
  begin
    V.WorkSheets[ireport].Activate;
    if ireport = 1 then begin
      V.WorkSheets[ireport].Name := 'stock';
      V.ActiveSheet.Cells[1, 2].Value := '  ' +'Current Stock List';
    end
    else begin
      V.WorkSheets[ireport].Name := 'check';
      V.ActiveSheet.Cells[1, 2].Value := '  ' + 'Check Stock List';
    end;

  RecCnt := 0;
  ColCnt := 0;
  ClipBoard.asText := CopyToClipBoard(RecCnt, ColCnt);

  //-- setting Paper title/report
  V.ActiveSheet.PageSetUp.Orientation := xlPortrait;    //xlLandscape;()
  V.ActiveSheet.PageSetUp.PrintTitleRows := '$1:$3';        //--
  V.ActiveSheet.PageSetUp.RightHeader :=                    //--
                '&9 '+FormatDateTime('yyyy/mm/dd hh:nn', Now) + ' ' +
                 'Print Date';
  V.ActiveSheet.PageSetUp.CenterFooter := '&9&P/&N Page';  //--
  V.ActiveSheet.PageSetUp.Order := xlOverThenDown;          //--

  //page format
  V.ActiveSheet.PageSetUp.LeftMargin   := V.InchesToPoints(10/25.4); // 15mm
  V.ActiveSheet.PageSetUp.RightMargin  := V.InchesToPoints(10/25.4); // 15mm
  V.ActiveSheet.PageSetUp.TopMargin    := V.InchesToPoints(15/25.4); // 15mm
  V.ActiveSheet.PageSetUp.BottomMargin := V.InchesToPoints(15/25.4); // 15mm
  V.ActiveSheet.PageSetUp.HeaderMargin := V.InchesToPoints(10/25.4); // 10mm
  V.ActiveSheet.PageSetUp.FooterMargin := V.InchesToPoints(10/25.4); // 10mm

  //-- report title caption stytle
  V.ActiveSheet.Cells.Font.Size := 9;
  V.ActiveSheet.Cells[1, 1].HorizontalAlignment := xlLeft;
  V.ActiveSheet.Cells[1, 1].Font.Size := 16;
  V.ActiveSheet.Cells[1, 1].Font.Bold := True;
  V.ActiveSheet.Cells[1, 1].Font.Italic := True;
  V.ActiveSheet.Rows[3].HorizontalAlignment := xlCenter;
  V.ActiveSheet.Rows[3].Font.Size := 11;
  V.ActiveSheet.Rows[3].Font.Bold := True;

  ///--
  V.ActiveSheet.Columns[3].NumberFormatLocal := '@';    //--
  V.ActiveSheet.Columns[6].NumberFormatLocal := '#,##0.00';      //--
  V.ActiveSheet.Columns[7].NumberFormatLocal := '#,##0.00';      //--
  V.ActiveSheet.Columns[8].NumberFormatLocal := '#,##0.00';      //--

  //--
  if ireport = 1 then S := 'A3:'+Chr(Ord('A')+(ColCnt-1))+IntToStr(RecCnt+3)
  else S := 'A3:'+Chr(Ord('A')+(ColCnt-1)+1)+IntToStr(RecCnt+3);

  V.ActiveSheet.Range[S].Borders[xlDiagonalDown].LineStyle := xlNone;
  V.ActiveSheet.Range[S].Borders[xlDiagonalUp].LineStyle   := xlNone;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlInsideVertical].LineStyle  := xlDot;
  V.ActiveSheet.Range[S].Borders[xlInsideVertical].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlInsideVertical].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlInsideHorizontal].LineStyle  := xlDot;
  V.ActiveSheet.Range[S].Borders[xlInsideHorizontal].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlInsideHorizontal].ColorIndex := xlAutomatic;

  if ireport = 1 then S := 'A3:'+Chr(Ord('A')+(ColCnt-1))+'3'
  else S := 'A3:'+Chr(Ord('A')+(ColCnt-1+1))+'3';

  V.ActiveSheet.Range[S].Borders[xlDiagonalDown].LineStyle := xlNone;
  V.ActiveSheet.Range[S].Borders[xlDiagonalUp].LineStyle   := xlNone;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeLeft].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeTop].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeBottom].ColorIndex := xlAutomatic;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].LineStyle  := xlContinuous;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].Weight     := xlThin;
  V.ActiveSheet.Range[S].Borders[xlEdgeRight].ColorIndex := xlAutomatic;

  //--
  V.ActiveSheet.Cells[3, 1].PasteSpecial;
  V.ActiveSheet.Cells[3, 1].Select;

  if ireport = 1 then V.ActiveSheet.Cells[3, 8] := GetMultiLingalMsg(90034, 'Inventory Quantity')
  else begin
    V.ActiveSheet.Cells[3, 8] := GetMultiLingalMsg(90034, 'Inventory Quantity');
    V.ActiveSheet.Cells[3, 9] := GetMultiLingalMsg(90043, 'Checked Quantity');
    V.ActiveSheet.Cells[3, 10] := GetMultiLingalMsg(90044, 'Checked result');
  end;

  //--
  V.ActiveSheet.Columns['A:'+Chr(Ord('A')+(ColCnt-1))].EntireColumn.AutoFit;

  for i:=1 to ColCnt do
    V.ActiveSheet.Columns[i].ColumnWidth := V.ActiveSheet.Columns[i].ColumnWidth + 2;
end;

  if frmMain.IniData.isExcelPrint then V.Print;
end;

///////////////////////////////////////////////////////////////////
function TfrmBalance.CopyToClipBoard(var RecCnt, ColCnt: Integer): string;
var i, j: Integer;
    Buf: string;
begin
  RecCnt := 0; ColCnt := 0;
  Buf := '';
  for i:=0 to FColumnCount-1 do begin
    Buf := Buf + ListView.Column[i].Caption + #9;
    Inc(ColCnt);
  end;
  Buf := Buf + #13#10;
  for i:=0 to ListView.Items.Count-1 do begin
    for j:=0 to FColumnCount-1 do
      if j = 0 then Buf := Buf + Trim(ListView.Items[i].Caption) + #9
      else Buf := Buf + Trim(ListView.Items[i].SubItems[j-1]) + #9;
    Buf := Buf + #13#10;
    Inc(RecCnt);
  end;
  Result := Buf;
end;


procedure TfrmBalance.SetMultilingual;
begin
  self.Caption           := GetMultiLingalMsg(90021,'Inventory Query');
  pnlBalance.Caption     := GetMultiLingalMsg(90022,'Material Balance List');
  btnReView.Caption      := GetMultiLingalMsg(90023,'All Balance');
  btnFilterQuery.Caption := GetMultiLingalMsg(90024,'Banlance Filter');
  btnClose.Caption       := GetMultiLingalMsg(90025,'Exit');
  chkboxchkQty.Caption   := GetMultiLingalMsg(90026,'Inventory Check Report');
  chkPCS.Caption         := GetMultiLingalMsg(90274,'Weight TO PCS');
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品视频中文字幕| 毛片一区二区三区| 久久精品免费在线观看| 337p亚洲精品色噜噜狠狠| 一本大道久久精品懂色aⅴ| av在线不卡电影| 国产精品1区二区.| 国产suv精品一区二区883| 国产成人精品免费| 9i看片成人免费高清| 色综合天天做天天爱| 91官网在线免费观看| 欧美午夜精品免费| 日韩欧美高清dvd碟片| 26uuu亚洲| 欧美激情中文字幕一区二区| 国产精品乱码久久久久久| 国产精品久久一卡二卡| 亚洲五月六月丁香激情| 午夜精品久久久久久久蜜桃app| 天堂蜜桃一区二区三区| 麻豆精品在线播放| 国产精品主播直播| 福利一区福利二区| 在线观看亚洲成人| 4438成人网| 久久精品视频一区| 亚洲欧美日韩综合aⅴ视频| 亚洲va韩国va欧美va| 精品一区二区三区在线播放| 国产精品12区| 欧美日韩一区二区三区免费看| 日韩午夜精品电影| 国产精品激情偷乱一区二区∴| 亚洲乱码国产乱码精品精小说| 日韩高清电影一区| 成人黄色在线看| 欧美日韩视频在线一区二区| 欧美精品一区二区三区在线播放 | 欧美岛国在线观看| 2020国产精品| 亚洲综合在线电影| 国产精品综合二区| 51精品国自产在线| 亚洲免费在线看| 国产成人综合在线观看| 欧美性生交片4| 中文字幕免费不卡| 久久99国产精品免费网站| 色综合夜色一区| 国产亚洲自拍一区| 日韩精品午夜视频| 在线观看www91| 国产精品免费丝袜| 精品一区二区在线视频| 欧美日韩成人综合天天影院| 国产婷婷一区二区| 麻豆国产欧美一区二区三区| 欧美精品丝袜久久久中文字幕| 国产精品久久久久久久久免费相片| 蜜臀久久99精品久久久久久9| 欧美三级资源在线| 亚洲黄色小视频| 91老师片黄在线观看| 国产精品美女久久久久久久| 国产一区999| 2021久久国产精品不只是精品| 日韩和的一区二区| 51精品国自产在线| 日本中文在线一区| 91精品国产综合久久精品app| 一个色综合av| 欧洲另类一二三四区| 亚洲黄色录像片| 欧美午夜精品久久久久久超碰| 国产精品区一区二区三区| 国产精品一区二区在线观看不卡 | 韩国成人福利片在线播放| 欧美精品自拍偷拍动漫精品| 一区二区在线看| 欧美体内she精高潮| 亚洲一区二区三区三| 欧美日韩中文一区| 亚洲国产wwwccc36天堂| 欧美二区乱c少妇| 国产资源在线一区| 国产在线播精品第三| 美女性感视频久久| 亚洲六月丁香色婷婷综合久久| 中文字幕一区二区三区在线播放| 国产乱码精品一区二区三| 国产亚洲综合色| 丰满少妇久久久久久久| 国产日韩精品久久久| 成人动漫一区二区三区| 中文字幕乱码日本亚洲一区二区| av一区二区三区在线| 亚洲欧美国产三级| 日本久久一区二区三区| 中文字幕在线观看一区二区| 成人国产视频在线观看| 婷婷丁香久久五月婷婷| 日韩午夜三级在线| 国产福利一区二区| 一区二区三区四区中文字幕| 777a∨成人精品桃花网| 国产精品综合在线视频| 一片黄亚洲嫩模| 日韩一区二区三区免费观看| 国产二区国产一区在线观看| 亚洲靠逼com| 2021中文字幕一区亚洲| 欧美午夜一区二区三区免费大片| 久久69国产一区二区蜜臀| 悠悠色在线精品| 欧美大片国产精品| 91黄色在线观看| 免费在线成人网| 一区二区三区精品视频在线| 久久久久九九视频| 91成人免费在线| 成人性生交大片免费看中文| 午夜精品福利在线| 亚洲欧洲一区二区三区| 2020国产精品自拍| 在线电影一区二区三区| 99国产精品久久久久久久久久| 捆绑调教一区二区三区| 亚洲成人av在线电影| 亚洲三级久久久| 亚洲国产精品激情在线观看| 日韩欧美在线观看一区二区三区| 91麻豆swag| 91色在线porny| 本田岬高潮一区二区三区| 国产原创一区二区三区| 日本不卡视频一二三区| 亚洲高清免费观看 | 国精产品一区一区三区mba视频| 亚洲蜜臀av乱码久久精品| 日本一区二区三区在线观看| 精品国产乱码久久久久久老虎| 欧美日韩在线不卡| 欧美三级视频在线| 欧美性猛交xxxxxx富婆| 欧美三区在线观看| 欧美系列一区二区| 欧美日韩亚洲综合| 911精品产国品一二三产区| 欧美日韩国产首页| 欧美女孩性生活视频| 欧美日韩国产另类一区| 欧美精品日韩精品| 日韩女同互慰一区二区| 精品乱码亚洲一区二区不卡| 欧美电视剧在线观看完整版| 精品日产卡一卡二卡麻豆| 欧美v亚洲v综合ⅴ国产v| 久久婷婷国产综合国色天香| 久久综合色之久久综合| 日本一二三不卡| 亚洲美女视频在线| 亚洲第一狼人社区| 日韩成人免费看| 精品一区二区三区日韩| 国产精品一区二区免费不卡| 波多野结衣一区二区三区| 一本久道久久综合中文字幕| 在线不卡欧美精品一区二区三区| 欧美久久一二三四区| 精品三级在线观看| 日本一区二区高清| 亚洲图片欧美色图| 日本vs亚洲vs韩国一区三区二区| 久久精品国产澳门| 99久久99久久精品免费看蜜桃| 色综合激情久久| 日韩三级高清在线| 日韩毛片精品高清免费| 日韩av一区二| 国产成人自拍在线| 欧美午夜精品理论片a级按摩| 欧美大片顶级少妇| 亚洲欧美一区二区在线观看| 日韩专区一卡二卡| 成人av片在线观看| 欧美精选在线播放| 国产精品成人免费精品自在线观看| 亚洲一区二区视频在线| 国内精品第一页| 欧美图片一区二区三区| 久久久不卡网国产精品一区| 亚洲曰韩产成在线| 高清国产午夜精品久久久久久| 欧美日韩免费不卡视频一区二区三区| 久久九九影视网| 日韩黄色一级片| 色94色欧美sute亚洲13| 国产欧美一二三区| 精品综合久久久久久8888|