File Excel về Xuất Nhập Tồn

  • Thread starter HaiTam
  • Ngày gửi
L

lampham

Guest
4/10/04
61
0
0
Xin chào,
Cho mình xin file quản lý XNT bằng excel với nhé! E.mail: lamphamquynh@hotmail.com
Cảm ơn bạn lần nữa v/v đăng ký thành viên và file excel bạn sắp gửi nhé.
 
Khóa học Quản trị dòng tiền
2

240703

Guest
Gửi Whoam!
Bạn muốn bảo mật trong excel thì vào File/save as/option/tools/general options rồi nhập password là ok.
Gửi bà con!
Bà con ơi cho mình hỏi về công thức về "Vlook up" cụ thể là như thế nào với.
Mình chỉ nhớ mang máng là để lấy dữ liệu từ sheet này sang sheet kia thì có thể dùng vloop up nhưng lâu quá không sử dụng nên quên mất. Bà con làm ơn mau mau hồi âm cho mình với nhé! Mình cảm ơn nhiều nhiều!
Gửi VNgeek!
Bạn có thể gửi cho mình một file excel về xuất nhập tồn được không?
Mình cũng muốn tham khảo một chút nếu có thể bạn gửi sớm cho mình về email: greenfarm@hn.vnn.vn
Mình thanks alots!
 
P

Phanatic

Guest
21/11/03
7
0
0
46
HaNoi
Ban WhoamI, ban co the gui cho minh mot ban ve NXT vat tu duoc khong, minh lam Ktoan nhung lam phan XNT minh mat nhhieu thoi gian qua ban gui cho minh theo dia chi dangngocphan@yahoo.com! Xin cam on ban nhieu.
 
C

changtraithitran2000

Guest
8/9/04
3
0
0
48
haiduong
minh cung lam 1 file ve hang NXT nhung minh muon ban gui cho minh 1 ban de chung ta cung tham khao duoc ko
 
C

changtraithitran2000

Guest
8/9/04
3
0
0
48
haiduong
minh van chua hieu ve cong thuc mang lam va minh cung dang quan ly hang XNT ban co the gui cho minh 1 ban de minh tham khoa duoc ko
dia chi: toiyeuhaiduong2000@yahoo.com
rat mong duoc su giup do cua ban
 
M

Minhmon

Guest
23/7/04
10
0
0
Ban co the gui cho minh mot ban duoc ko. Minh thuc su cung rrat can
Dia chi Emai cua minh la:anhminh050181@yahoo.com
Minh cam on nhieu
 
gladiator

gladiator

Guest
27/7/04
2
0
0
W

WhoamI

Cao cấp
Vì đang bận thi nên mình không online thường xuyên được. Các bạn cần file có thể gửi thư vào địa chỉ hanghtt2003@yahoo.com mình sẽ gửi lại cho các bạn. Ngòai ra mình thấy trên Thư viện của WKT có nhiều chương trình về NXT lắm đấy.VD của Bác Thanhnhan53, NPH,..hay lắm! các bạn có thể vào đó lấy về.
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Vang chao cac ban,
Toi thay mot so ban sau khi download file ve thi khong biet phai su dung nhu the nao. Nhan day toi muon xin y kien gop y cua cac ban ve file nay de hoan thien them. Toi da co phien ban moi nhung dang cho y kien dong gop cua cac ban. Sau do toi se viet mot bai huong dan cac ban su dung.
Xin cac ban goi gop y cho toi theo dia chi
levanduyet@yahoo.com
Chuc cac ban khoe,
Le Van Duyet
 
T

thanh trung

Guest
Phan mem nay dac qua, xin hoai chang co

Minh cung quan tam van de nay, nhung xin hoai chang co ban nao goi cho minh ca. sao cac ban khong share cho minh voi.
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Hướng dẫn sử dụng phần I
HƯỚNG DẪN SỬ DỤNG TẬP TIN EXCEL XUẤT/NHẬP/TỒN
Giới thiệu về các sheet:

Tên sheet
Mục đích
Menu
Nhằm chứa các dữ liệu để tạo các lọai Menu (Xin đọc bài tạo Menu trên báo PC World VN).
BaoCaoXuat
Nhằm đưa dữ liệu xuất hàng ngày được nhập liệu tại Sheet VatTu
BaoCaoNhap
Nhằm đưa dữ liệu nhập hàng ngày được nhập liệu tại Sheet VatTu
BaoCaoThang
Nhằm tổng hợp dữ liệu nhập, xuất trong tháng từ Sheet VatTu
VatTu
Đây là Sheet chính nhằm nhập liệu hàng ngày
DuLieu
Nhằm chứa các dữ liệu khác

Với Sheet Menu, khi bạn mở File ra với điều kiện bạn chấp nhận cho thực hiện các Macro thì chương trình sẽ lấy dữ liệu ở Sheet này để tạo các Menu.
Chương trình sử dụng các thủ tục CreateMenuAll để tạo các Menu và thủ tục DeleteMenuAll để xóa các Menu khi chương trình được đóng lại. Đây là nội dung của Module Menu, với hằng số TenMenuSheet là tên Sheet chứa dữ liệu để tạo Menu. Hằng số ToolBarMenuName là tên của Menu mà bạn muốn tạo. Hai thủ tục trên có 3 tham số đại diện cho việc bạn muốn tạo hay xóa lọai Menu nào. Nếu các bạn thích các bạn có thể chỉnh sửa lại hai thủ tục này nhằm làm cho gọn hơn.
Public Const TenMenuSheet = "Menu"
' Ten sheet chua du lieu de tao Menu
Public Const ToolBarMenuName = "Raw Material Warehouse"
' Ten cua ToolBar Menu
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' TAO VA DELETE MENU
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Thu tuc nay duoc tong hop lai vao ngay 31/10/2004
' nham tao 3 loai menu dua tren du lieu o Sheet Menu
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub CreateMenuAll(Optional CreateMenuBar As Boolean, Optional CreateShortcutMenu As Boolean, Optional CreateToolBarMenu As Boolean)
''''''''''''''''''''''''''''''''''''''''''''''''''
' Khai bao bien cho CreateMenuBar
Dim MenuSheet As Worksheet
Dim MenuObject As CommandBarPopup
Dim MenuItem As Object
Dim SubMenuItem As CommandBarButton
Dim Row As Integer
Dim MenuLevel, NextLevel, PositionOrMacro, Caption, Divider, FaceId
''''''''''''''''''''''''''''''''''''''''''''''''''
' Khai bao bien cho CreateShortcutMenu
Dim MenuSCControl As CommandBarControl
''''''''''''''''''''''''''''''''''''''''''''''''''
' Khai bao bien cho CreateShortcutMenu
Dim ToolBarMenu As CommandBar
Dim ToolbarMenuControl As CommandBarControl
''''''''''''''''''''''''''''''''''''''''''''''''''
' Kiem tra ActiveWorkbook truoc khi thuc hien
If ActiveWorkbook.Name <> TenWB Then
Exit Sub
End If
' Assign default value if the argument is missing
' Dua cac gia tri mac dinh vao neu cac doi so khong dua vao
If IsMissing(CreateMenuBar) Then CreateMenuBar = False
If IsMissing(CreateShortcutMenu) Then CreateShortcutMenu = False
If IsMissing(CreateToolBarMenu) Then CreateToolBarMenu = False
' Trong truong hop CreateMenuBar=True
If CreateMenuBar = True Then
''''''''''''''''''''''''''''''''''''''''''''''''''
' Location for menu data
' Chi dinh Sheet de lay du lieu cho Menu
Set MenuSheet = ThisWorkbook.Sheets(MenuSheet)
''''''''''''''''''''''''''''''''''''''''''''''''''
' Make sure the menus aren't duplicated
' De chac chan rang Menu khong bi trung lap
Call DeleteMenuAll(True, False, False)
' Initialize the row counter; Hang bat dau la hang thu 2
Row = 2
' Add the menus, menu items and submenu items using
' data stored on MenuSheet
' Dua vao du lieu tren MenuSheet ma xay dung Menu
Do Until IsEmpty(MenuSheet.Cells(Row, 1))
With MenuSheet
MenuLevel = .Cells(Row, 1)
Caption = .Cells(Row, 2)
PositionOrMacro = .Cells(Row, 3)
Divider = .Cells(Row, 4)
FaceId = .Cells(Row, 5)
NextLevel = .Cells(Row + 1, 1)
End With
Select Case MenuLevel
Case 1 ' A Menu
' Add the top-level menu to the Worksheet CommandBar
' Menu cap mot
Set MenuObject = Application.CommandBars(1). Controls.Add(Type:=msoControlPopup, Before:=PositionOrMacro, Temporary:=True)
MenuObject.Caption = Caption
Case 2 ' A Menu Item
If NextLevel = 3 Then
Set MenuItem = MenuObject.Controls.Add(Type:=msoControlPopup)
Else
Set MenuItem = MenuObject.Controls.Add(Type:=msoControlButton)
MenuItem.OnAction = PositionOrMacro
End If
MenuItem.Caption = Caption
If FaceId <> "" Then MenuItem.FaceId = FaceId
If Divider Then MenuItem.BeginGroup = True
Case 3 ' A SubMenu Item
Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
SubMenuItem.Caption = Caption
SubMenuItem.OnAction = PositionOrMacro
If FaceId <> "" Then SubMenuItem.FaceId = FaceId
If Divider Then SubMenuItem.BeginGroup = True
End Select
Row = Row + 1
Loop
End If
' Trong truong hop CreateShortcutMenu=True
If CreateShortcutMenu = True Then
''''''''''''''''''''''''''''''''''''''''''''''''''
' Location for shortcutmenu data
' Chi dinh Sheet de lay du lieu cho ShortcutMenu
Set MenuSheet = ThisWorkbook.Sheets(TenMenuSheet)
''''''''''''''''''''''''''''''''''''''''''''''''''
' Make sure the shortcut menus aren't duplicated
' De chac chan rang Shortcut Menu khong bi trung lap
Call DeleteMenuAll(False, True, False)
' Initialize the row counter; Hang bat dau la hang thu 2
Row = 2
' Add the shortcut menus, shortcutmenu items
' and subshortcutmenu items using
' data stored on MenuSheet
' Dua vao du lieu tren MenuSheet ma xay dung Menu
Do Until IsEmpty(MenuSheet.Cells(Row, 1))
With MenuSheet
MenuLevel = .Cells(Row, 1)
Caption = .Cells(Row, 2)
PositionOrMacro = .Cells(Row, 3)
Divider = .Cells(Row, 4)
FaceId = .Cells(Row, 5)
NextLevel = .Cells(Row + 1, 1)
End With
Select Case MenuLevel
Case 1 ' A Menu
' Add the top-level shortcut menu to the Cell CommandBar
' Menu cap mot
Set MenuSCControl = Application.CommandBars("Cell"). Controls.Add(Type:=msoControlPopup)
MenuSCControl.Caption = Caption
Case 2 ' A Menu Item
If NextLevel = 3 Then
Set MenuItem = MenuSCControl.Controls.Add(Type:=msoControlPopup)
Else
Set MenuItem = MenuSCControl.Controls.Add(Type:=msoControlButton)
MenuItem.OnAction = PositionOrMacro
End If
MenuItem.Caption = Caption
If FaceId <> "" Then MenuItem.FaceId = FaceId
If Divider Then MenuItem.BeginGroup = True
Case 3 ' A SubMenu Item
Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
SubMenuItem.Caption = Caption
SubMenuItem.OnAction = PositionOrMacro
If FaceId <> "" Then SubMenuItem.FaceId = FaceId
If Divider Then SubMenuItem.BeginGroup = True
End Select
Row = Row + 1
Loop
End If
If CreateToolBarMenu = True Then
''''''''''''''''''''''''''''''''''''''''''''''''''
' Location for menu data
' Chi dinh Sheet de lay du lieu cho Menu
Set MenuSheet = ThisWorkbook.Sheets(TenMenuSheet)
''''''''''''''''''''''''''''''''''''''''''''''''''
' Make sure the Toolbar menus aren't duplicated
' De chac chan rang Toolbar Menu khong bi trung lap
Call DeleteMenuAll(False, False, True)
' Create Toolbar
Set ToolBarMenu = Application.CommandBars.Add
With ToolBarMenu
.Visible = False
.Name = ToolBarMenuName
.Position = msoBarTop
.Protection = msoBarNoCustomize
End With
' Initialize the row counter; Hang bat dau la hang thu 2
Row = 2
' Add the Toolbar menus, Toolbar menu items and submenu items using
' data stored on MenuSheet
' Dua vao du lieu tren MenuSheet ma xay dung Menu
Do Until IsEmpty(MenuSheet.Cells(Row, 1))
With MenuSheet
MenuLevel = .Cells(Row, 1)
Caption = .Cells(Row, 2)
PositionOrMacro = .Cells(Row, 3)
Divider = .Cells(Row, 4)
FaceId = .Cells(Row, 5)
NextLevel = .Cells(Row + 1, 1)
End With
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Hướng dẫn phần II

Select Case MenuLevel
Case 1 ' A Menu
' Add the top-level shortcut menu to the Cell CommandBar
' Menu cap mot
Set ToolbarMenuControl = Application.CommandBars(ToolBarMenuName). Controls.Add(Type:=msoControlPopup)
ToolbarMenuControl.Caption = Caption
Case 2 ' A Menu Item
If NextLevel = 3 Then
Set MenuItem = ToolbarMenuControl.Controls.Add(Type:=msoControlPopup)
Else
Set MenuItem = ToolbarMenuControl.Controls.Add(Type:=msoControlButton)
MenuItem.OnAction = PositionOrMacro
End If
MenuItem.Caption = Caption
If FaceId <> "" Then MenuItem.FaceId = FaceId
If Divider Then MenuItem.BeginGroup = True
Case 3 ' A SubMenu Item
Set SubMenuItem = MenuItem.Controls.Add(Type:=msoControlButton)
SubMenuItem.Caption = Caption
SubMenuItem.OnAction = PositionOrMacro
If FaceId <> "" Then SubMenuItem.FaceId = FaceId
If Divider Then SubMenuItem.BeginGroup = True
End Select
Row = Row + 1
Loop
ToolBarMenu.Visible = True
End If
End Sub
Public Const TenMenuSheet = "Menu"
' Ten sheet chua du lieu de tao Menu
Public Const ToolBarMenuName = "Raw Material Warehouse"
' Ten cua ToolBar Menu
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' TAO VA DELETE MENU
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub DeleteMenuAll(Optional DeleteMenuBar As Boolean, Optional DeleteShortcutMenu As Boolean, Optional DeleteToolBarMenu As Boolean)
' Thu tuc nay nen duoc thuc hien khi Workbook duoc dong
' This sub should be executed when the workbook is closed
' Deletes the Menus
''''''''''''''''''''''''''''''''''''''''''''''''''
' Khai bao bien cho CreateMenuBar
Dim MenuSheet As Worksheet
Dim CB As CommandBar
Dim Row As Integer
Dim MenuLevel, NextLevel, PositionOrMacro, Caption, Divider, FaceId
''''''''''''''''''''''''''''''''''''''''''''''''''
' Kiem tra ActiveWorkbook truoc khi thuc hien
If ActiveWorkbook.Name <> TenWB Then
Exit Sub
End If
' Assign default value if the argument is missing
' Dua cac gia tri mac dinh vao neu cac doi so khong dua vao
If IsMissing(DeleteMenuBar) Then DeleteMenuBar = False
If IsMissing(DeleteShortcutMenu) Then DeleteShortcutMenu = False
If IsMissing(DeleteToolBarMenu) Then DeleteToolBarMenu = False
' Delete Menu
If DeleteMenuBar = True Then
On Error Resume Next
Set MenuSheet = ThisWorkbook.Sheets(TenMenuSheet)
Row = 2
Do Until IsEmpty(MenuSheet.Cells(Row, 1))
If MenuSheet.Cells(Row, 1) = 1 Then
Caption = MenuSheet.Cells(Row, 2)
Application.CommandBars(1).Controls(Caption).Delete
End If
Row = Row + 1
Loop
On Error GoTo 0
End If
' Delete Shortcut Menu
If DeleteShortcutMenu = True Then
On Error Resume Next
Set MenuSheet = ThisWorkbook.Sheets(TenMenuSheet)
Row = 2
Do Until IsEmpty(MenuSheet.Cells(Row, 1))
If MenuSheet.Cells(Row, 1) = 1 Then
Caption = MenuSheet.Cells(Row, 2)
Application.CommandBars("Cell").Controls(Caption).Delete
End If
Row = Row + 1
Loop
On Error GoTo 0
End If
' Delete ToolbarMenu
If DeleteToolBarMenu = True Then
On Error Resume Next
For Each CB In CommandBars
If mb.Name = ToolBarMenuName Then
CommandBars(ToolBarMenuName).Delete
End If
Next
On Error GoTo 0
End If
End Sub
Ở sheet VatTu, ở ô C3 ta dùng validation nhằm cho người sử dụng chọn các thao tác. Các thao tác gồm : nhập, xuất và cập nhật công thức. Dữ liệu validation được lấy ở sheet Dulieu vùng E2:E4 (Tên ThaoTac). Nếu ở ô này là Nhap thì bạn chỉ nhập được dữ liệu ở cột nhập, tương tự đối với Xuat hay CapNhat. Ở ô E3, để bạn chọn ngày nhập hay xuất dữ liệu. Ta cũng dùng validation để giúp người nhập liệu chọn ngày. Dựa vào dữ liệu ở 2 ô này và biến cố Change của sheet DuLieu mà kiểm tra việc người nhập liệu đúng cột hay không.
Private Sub Worksheet_Change(ByVal Target As Range)
' Thu tuc nay nham tranh cho nguoi nhap lieu sai
Dim bThaoTac As String, bNgay As Integer
Dim bHangHienTai As Long, bCotHienTai As Integer
Dim bCotTon As Integer, bCotNhap As Integer, bCotXuat As Integer
Dim BTuaDeThongBao As String
Dim bThongBao As String
Dim bTam
Static bThucHien As Boolean
BTuaDeThongBao = Sheets("DuLieu").Cells(2, 1)
bThongBao = Sheets("DuLieu").Cells(3, 8)
bThaoTac = ActiveSheet.Cells(3, 3)
bNgay = ActiveSheet.Cells(3, 5)
bHangHienTai = Target.Row
bCotHienTai = Target.Column
bCotNhap = (bNgay - 1) * 3 + 8: bCotXuat = (bNgay - 1) * 3 + 9: bCotTon = (bNgay - 1) * 3 + 10
Select Case bThaoTac
Case "Nhap"
If bCotHienTai <> bCotNhap And bThucHien = False And bCotHienTai > 7 Then
bTam = ThongBaoNguoiDung(BTuaDeThongBao, bThongBao, True)
Application.SendKeys ("%eu")
bThucHien = True
Exit Sub
Else
bThucHien = False
End If
Case "Xuat"
If bCotHienTai <> bCotXuat And bThucHien = False And bCotHienTai > 7 Then
bTam = ThongBaoNguoiDung(BTuaDeThongBao, bThongBao, True)
Application.SendKeys ("%eu")
bThucHien = True
Exit Sub
Else
bThucHien = False
End If
Case "CapNhatCT"
Exit Sub
End Select
End Sub
Một chú ý quan trọng là khối dữ liệu bạn nhập vào trong sheet DuLieu, được đặt tên là VatTu. Địa chỉ của VatTu là: =VatTu!$A$5:$CV$125. Khi bạn thêm vào một mã vật tư bằng cách Inser row, thì khối dữ liệu của bạn sẽ tự động lớn ra. Đây cũng là một cách thuận lợi của việc đặt tên khối dữ liệu! Khi bạn thêm vào một mã vật tư mới bạn sẽ chọn CapNhat, sau đó chọn Cập nhật công thức trong Menu (Các lọai Menu, bạn để ý trên Menu File, Edit, View...hay bạn Click chuột phải trên bất kỳ ô này trên sheet, hay Menu trên Toolbar cũng được...tiện lợi !!!)
Ở ô G2, sẽ có công thức như sau =IF(D2+E2-F2=SUM(G6:G125),SUM(G6:G125),"Lỗi") để kiểm tra việc nhập dữ liệu nhập xuất có đúng hay không! Nếu ô này có giá trị là Lỗi, thì bạn phải xem lại.
Sau khi bạn nhập dữ liệu nhập, xuất trong ngày thì bạn có thể chọn trên Menu: Báo cáo xuất, Báo cáo nhập và nhập vào ngày bạn muốn tạo báo cáo, thế là xong. Cuối tháng bạn lại chọn Báo cáo tháng.
Ngoài ra chương trình còn giúp bạn In tồn kho, In thẻ kho. Các bạn có thể phát triển thêm. Xin các bạn xem đọan mã của 2 form: frmPrinting, frmStockView.
Ngòai ra còn có nhiều đọan mã trong các module mà các bạn có thể sử dụng cho công việc của các bạn.
Khi qua một tháng khác, các bạn phải rất cẩn thận, các bạn làm theo các bước sau:
_Lưu file và đặt với tên khác nhằm tránh tình trạng nếu lỡ bạn thao tác sai thì còn có thể phục hồi lại được.
_Copy dữ liệu ở cột tồn cuối kỳ đưa qua tồn đầu kỳ.
_Xóa dữ liệu nhập vào của các ngày trong tháng.
_Đổi giá trị của ngày đầu tháng mới ở ô H3. Ví dụ: 1/12/2004. Các cột sau sẽ tự động cập nhật.
_Đặt ô C3 có giá trị CapNhat.
_Lưu lại (SaveAs) tập tin với tên của tập tin là tên để theo dõi cho tháng mới. Chú ý quan trọng, bạn phải thay đổi giá trị của hằng số Public Const TenWB As String = "RawMaterialsControl.xls" sang tên mà bạn vừa đặt tên trong module PublicConst. (Nhấn Alt + F11, bạn sẽ thấy)
_Chọn Cập nhật công thức trên Menu.
_Lưu lại một lần nữa.

Các bạn hãy từ từ thực hiện và nghiền ngẫm. Tôi đã sửa lại file xuất nhập tồn cho các bạn dễ thao tác. Tôi có thể gởi cho bạn nào file này để bạn có thể gởi cho các bạn cần? Xin cám ơn.
Mong các bạn góp ý !

Chúc các bạn thành công.

Lê Văn Duyệt
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Chào các bạn, tôi xin gởi file cho bạn WhoamI ,hanghtt2003@yahoo.com.
Xin ban cung cấp cho các bạn cần.
Cám ơn bạn nhiều.
Lê Văn Duyệt
 
W

WhoamI

Cao cấp
levanduyet nói:
Chào các bạn, tôi xin gởi file cho bạn WhoamI ,hanghtt2003@yahoo.com.
Xin ban cung cấp cho các bạn cần.
Cám ơn bạn nhiều.
Lê Văn Duyệt
Thanks bác Lê Văn Duyệt!
Mình đã gửi file NXT của bác Lê Văn Duyệt cho các bạn theo địa chỉ mail các bạn để lại trên WKT, nếu bạn nào chưa nhận được xin để lại hoặc gửi mail vào địa chỉ hanghtt2003@yahoo.com mình sẽ gửi tiếp.
Mong các bạn đọc file nhớ đóng góp ý kiến giúp tác giả hoàn thiện!
 
P

pink

Guest
Gui cho minh theo DC nay voi:phuong1699@yahoo.com
Cam o nhieu nhe.
 
W

WhoamI

Cao cấp
Bác Duyệt ơi. Em down cái NXT về rồi nhưng khi mở ra thì chỉ có mấy cái sheet dữ liệu "chết" thôi. Em thử làm mấy lần rồi mà nó vẫn thế, có phải máy em bị virus ko? hay có vấn đề gì ạ?
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
_Ban kiem tra lai xem ban co cho Macro Enable?
_Co Menu Popup hay khong?
_Ban co doc bai huong dan cua minh chua?
_Xin ban xem lai
Le Van Duyet
 

Xem nhiều

Webketoan Zalo OA