Hàm chấm công

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

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#1
Chao cac ban,
Trong thoi gian vua qua nhieu ban lam ke toan co hoi toi ve "Ham cham cong", bai viet cua toi tren PC World. Toi da upload bai len Web ke toan, nhung khong co hinh anh. Cac ban can cac ban vao trang www.pcworld.com.vn de xem huong dan.
Chuc cac ban thanh cong.
Le Van Duyet
levanduyet@yahoo.com
 
Sửa lần cuối:
S

SieuMa

Sơ cấp
15/12/04
13
0
0
HCM
#2
anh Levanduyet oi!

sao em tìm hoài mà kô thấy hàm chấm công đâu hết vậy.Anh coi lại dùm em nha
nếu có thể anh gửi vào mail cho em nha:bigbigworld00084@yahoo.com
 
S

SieuMa

Sơ cấp
15/12/04
13
0
0
HCM
#4
hi

nhận được rối, cảm ơn ban.
ah
ban giúp mình sum() được ko?
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#5
Xin gởi đến các bạn một bài hướng dẫn nữa về hàm chấm công.
TỪNG BƯỚC THIẾT KẾ HỆ THỐNG QUẢN LÝ TIỀN LƯƠNG VÀ NHÂN SỰ
(Lược ghi từ Hướng dẫn kế tóan thực hành bằng Excel, Tác giả Trần Văn Thắng và tổng hợp từ các nguồn khác)
Tổng quan về các chứng từ lao động tiền lương
Theo quy định của Nhà Nước, hệ thống chứng từ lao động tiền lương trong các doanh nghiệp hay các đơn vị hành chánh sự nghiệp gồm khỏang 10 biểu mẫu. Tuy nhiên không phải mọi chứng từ đều thuận tiện và cần thiết khi đưa vào quản lý bằng Excel. Hơn nữa, các biểu mẫu theo quy định của Nhà nước thường mang tính hướng dẫn và tùy theo từng yêu cầu của mỗi doanh nghiệp mà thay đổi.
Để quản lý dễ dàng thông thường đối với một doanh nghiệp chúng ta cần lập các bảng sau trên Excel:
_Bảng chấm công. (Tôi chủ yếu giới thiệu các bạn về bảng này)
_Bảng thanh tóan tiền lương. (Mẫu thì tùy từng công ty)
_Bảng mã các phòng ban của công ty. (Bạn thiết lập sao cho hợp lý và dễ dàng truy vấn)
_Bảng danh sách nhân viên. (Đây là bảng chính, do đó bạn nên chú ý thiết lập hợp lý sao cho dễ dàng truy vấn dữ liệu của nhân viên tùy theo mã số nhân viên)
Tùy theo yêu cầu quản lý của từng doanh nghiệp, bạn có thể tự tạo cho mình các biểu mẫu khác bằng Excel.
Từng bước xây dựng các bảng và các mối quan hệ của các thành phần trong bảng bằng Excel
Đầu tiên bạn mở một File Excel mới, tạo các sheet có tên lần lượt như sau:
_CHAMCONG: Bảng chấm công.
_LUONG: Bảng thanh tóan tiền lương.
_HSNV: Bảng hồ sơ nhân viên.
_THUONG: Bảng danh sách tiền thưởng.
Và đặt tên cho File Excel mới này theo định dạng sau:
TLttnnn

Định dạng
Diễn giải
TL
Bảng tính chứa chứng từ lao động tiền lương.
tt
Gồm 2 ký tự số, thể hiện tháng phát sinh chứng từ lao động tiền lương. (Chú ý: phải điền đủ 2 chữ số)
nnnn
Gồm 4 chữ số, thể hiện năm phát sinh chứng từ lao động tiền lương

Ở sheet CHAMCONG, bạn tạo các dữ liệu ban đầu như sau:
A1: Tên công ty.
A2: Địa chỉ, số điện thọai, số fax công ty.
A3: BẢNG CHẤM CÔNG THÁNG 03/2005
A5: STT (số thứ tự)
B5: MSNV (mã số nhân viên
C5: MDV (mã đơn vị)
D5: Họ và Tên
E5: Ngày bắt đầu của tháng. Ví dụ 01/03/2005.
F5: Bạn lập công thức như sau = E5 + 1
Bạn lập công thức tương tự cho các cột kế tiếp của hàng thứ 5. Nhằm sử dụng file này cho các tháng sau, tôi đề nghị bạn nên tạo bảng chấm công có 31 ngày. Với việc thiết lập công thức ở các cột ngày như vậy, qua tháng kế tiếp bạn có thể chỉ cần sửa ngày đầu tiên của tháng, còn các ngày còn lại sẽ tự động cập nhật. Khi bạn muốn các ô này chỉ thể hiện ngày mà thôi (ví dụ như ngày 01/03/2005 bạn chỉ muốn thể hiện 01) thì bạn phải định dạng ô này lại như hình 1.
Một vấn đề được đặt ra là một khi đây là File mẫu bạn sử dụng lại cho các tháng sau đó, bạn muốn các ngày Chủ Nhật phải được tô đỏ, tôi xin hướng dẫn bạn dùng Conditional Formatting để làm điều này.
Giả sử trong bảng này tôi có tất cả là 8 nhân viên (tức là từ hàng thứ 6 đến hàng thứ 13), đồng thời tôi muốn có thêm 2 hàng trống bên dưới. Tức là đến hàng 15. Tôi chọn vùng E5:AI15 và nhập vào công thức như hình 2, chọn nút format và định dạng theo yêu cầu của bạn. Xong bạn chọn OK, thì tất cả các cột là ngày Chủ Nhật sẽ được định dạng theo yêu cầu của bạn.

proxy.php?image=http%3A%2F%2Fi2.photobucket.com%2Falbums%2Fy4%2Flevanduyet%2FThietk0.gif&hash=913d51a3fda2fa700a3d3a03173bd18b


proxy.php?image=http%3A%2F%2Fi2.photobucket.com%2Falbums%2Fy4%2Flevanduyet%2FThietk1.gif&hash=fbb03b4b4137391411488e76ab78c9eb


AK5
TCL
Tăng ca ngày lễ (Ví dụ như tết, ngày nghỉ quốc khánh,...tỉ lệ 1:3)
AL5
TCC
Tăng ca ngày Chủ Nhật (Tỉ lệ 1:2)
AM5
TCT
Tăng ca ngày thường (Tỉ lệ 1:1,5)
Từ AK4 đến AM4 được liên kết lại và đưa vào: Tăng ca.
AN5
NPN
Nghỉ phép năm (Được hưởng lương 100%)
AO5
NPB
Nghỉ phép bệnh (Được hưởng lương bảo hiểm xã hội, 75%)
AP5
NPK
Nghỉ không lương
AQ5
NPM
Nghỉ phép ma chay, cưới hỏi,...(Được nghỉ số ngày theo bộ luật lao động)
Bạn chú ý cho một điều là cách đặt tên như trên cũng sẽ giúp ích bạn trong việc lập công thức chấm công sau này.
Từ AN4 đến AQ4 được liên kết lại và đưa vào: Nghỉ phép.
AR4: Tổng số ngày công
AR5: NC
Bây giờ chúng ta đưa hàm chấm công vào file của chúng ta.
Bạn nhấn tổ hợp phím Alt + F11, hay vào Tools/Macro/Visual Basic Editor như hình 3
proxy.php?image=http%3A%2F%2Fi2.photobucket.com%2Falbums%2Fy4%2Flevanduyet%2FThietk2.gif&hash=fb54f27e543c2f3eb5c34bc4d068f538


Bạn vào Insert/Class Module, và nhập vào nội dung như sau:
Option Explicit
Private SText As String
Private SDelimiter As String
Private IPos As Integer
Private ILen As Integer
Public MaxToken As Integer
Private Tokens() As String
Public Property Get Text() As Variant
Text = SText
End Property
Public Property Let Text(ByVal vNewValue As Variant)
SText = vNewValue
ILen = Len(SText): IPos = 1
End Property
Public Property Get Delimiter() As Variant
Delimiter = SDelimiter
End Property
Public Function TokenAt(TNum) As String
If (TNum > 0) And (TNum <= MaxToken) Then
TokenAt = Tokens(TNum)
Else
TokenAt = ""
End If
End Function
Public Property Let Delimiter(ByVal vNewValue As Variant)
SDelimiter = vNewValue
Tokenise
End Property
Private Sub Tokenise()
Dim i
i = 0: IPos = 1
Do Until IPos > ILen
i = i + 1
ReDim Preserve Tokens(i)
Tokens(i) = GetToken
Loop
MaxToken = i
IPos = 1
End Sub
Public Sub ReplaceToken(TNum, NewToken)
If (TNum > 0) And (TNum <= MaxToken) Then
Tokens(TNum) = NewToken
ReconstructText
End If
End Sub
Private Sub ReconstructText()
Dim i
SText = ""
For i = 1 To MaxToken
SText = SText & Tokens(i)
If i < MaxToken Then SText = SText & SDelimiter
Next
End Sub
Public Function KeepLeftPart(NumChar) As String
If ILen >= NumChar Then
SText = Left(SText, NumChar): ILen = Len(SText)
End If
KeepLeftPart = SText
End Function
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#6
Public Function KeepRightPart(NumChar) As String
If ILen >= NumChar Then
SText = Right(SText, NumChar): ILen = Len(SText)
End If
KeepRightPart = SText
End Function
Public Function KeepMidPart(SPos, NumChar) As String
If ILen >= SPos Then
SText = Mid(SText, SPos): ILen = Len(SText)
End If
If ILen >= NumChar Then
SText = Right(SText, NumChar)
End If
KeepMidPart = SText
End Function
Public Property Get CurrentPos() As Variant
CurrentPos = IPos
End Property
Public Property Let CurrentPos(ByVal vNewValue As Variant)
IPos = vNewValue
End Property
Public Function GetToken() As String
Dim Pos
GetToken = ""
If SDelimiter = " " Then
Do While Mid(SText, IPos, 1) = " "
IPos = IPos + 1
If IPos > ILen Then
Exit Function
End If
Loop
End If
Pos = InStr(IPos, SText, SDelimiter)
If Pos > 0 Then
GetToken = Mid(SText, IPos, Pos - IPos)
IPos = Pos + Len(SDelimiter)
Else
GetToken = Mid(SText, IPos, ILen - IPos + 1)
IPos = ILen + 1
End If
End Function
Public Sub Substitude(Param, ParamValue)
Dim Pos, PLen
PLen = Len(Param)
Pos = InStr(SText, Param)
Do While Pos > 0
SText = Left(SText, Pos - 1) & ParamValue & Mid(SText, Pos + PLen)
Pos = InStr(SText, Param)
Loop
ILen = Len(SText)
End Sub
Public Function GetLastToken() As String
Dim Pos, Tlen
Tlen = Len(SDelimiter)
GetLastToken = ""
If ILen = 0 Then
Exit Function
End If
Pos = ILen - Tlen + 1
Do While Pos > 0
If Mid(SText, Pos, Tlen) = SDelimiter Then
GetLastToken = Mid(SText, Pos + Tlen)
End If
Pos = Pos - 1
Loop
End Function
Public Property Get Length() As Integer
Length = ILen
End Property
Public Property Get TokenCount() As Variant
TokenCount = MaxToken
End Property
Bạn đặt tên Class Module là ClsString
Tương tự bạn vào Insert/Module và đưa nội dung hàm Chamcong vào và đặt tên Module là Chamcong

Public Function Chamcong(ByVal Khoang As Range, ByVal Chucnang As String) As Single
Dim Socot As Integer, Sohang As Integer
Dim i As Integer, j As Integer, k As Integer
Dim Btotal As Single
Dim Bgiatriso As Single
Dim Bchucnang As String
Dim SoLoai As Byte ' Bien nay nham xac dinh so loai ngay nghi, tang ca... trong mot chuoi
Dim BChuoi As ClsString
Dim BGiatri
On Error Resume Next
Application.Volatile 'Nham tinh lai gia tri khi cac o co thay doi
'Xac dinh so cot trong bien Khoang
Socot = Khoang.Columns.Count
'Xac dinh so hang trong bien Khoang
Sohang = Khoang.Rows.Count
' Nham bao dam so sanh dung ta dung ham UCase
Chucnang = UCase(Chucnang)
'Duyet qua cac cell trong bien Khoang
For i = 1 To Sohang
For j = 1 To Socot
BGiatri = Khoang.Cells(i, j).Value
BGiatri = Trim(BGiatri)
' Bat dau xu ly bgiatri qua Class clsString
Set BChuoi = New ClsString
BChuoi.Text = BGiatri
'Ky tu de phan cach cac Chuc nang
'Ban co the sua lai tuy theo yeu cau cua ban
BChuoi.Delimiter = ";"
'Xac dinh so Chuc nang trong 1 cell
SoLoai = BChuoi.TokenCount
For k = 1 To SoLoai
'Chuoi cua tung chuc nang
BGiatri = BChuoi.TokenAt(k)
Bchucnang = UCase(Left(BGiatri, Len(Chucnang)))
Bgiatriso = Val(Right(BGiatri, Len(BGiatri) - Len(Chucnang)))
Select Case Bchucnang
Case Chucnang
Btotal = Btotal + Bgiatriso
End Select
Next k
Next j
Next i
Chamcong = Btotal
End Function
Điều quan trọng là ở cột MSNV, dựa vào mã số nhân viên này mà chúng ta có thể lấy dữ liệu từ bảng HSNV trong sheet HSNV. Chúng ta cũng dựa vào MSNV này mà lấy dữ liệu từ bảng MSNV trong sheet MSNV. Việc bố trí dữ liệu trong bảng HSNV làm sao để dễ hiểu và dễ trích rút dữ liệu thì tùy bạn. Tôi muốn nhấn mạnh ở chỗ sử dụng hàm chamcong như thế nào mà thôi.
Như bạn biết hàm chấm công có hai tham số. Tham số thứ nhất là kiểu Range, tức là tập họp các ô. Ví dụ như E6:AI6 (thường khỏang này trong bảng chấm công sẽ tương ứng với khỏang thể hiện việc chấm công ứng với từng nhân viên, tức là một dãy các ô cùng một hàng). Tham số thứ hai là là kiểu String (kiểu chuỗi) thể hiện chức năng cần chấm. Ví dụ như TCL là tăng ca ngày lễ...vv...
Ví dụ trong ngày 2 nhân viên A, tăng ca 2 tiếng (ngày thường), làm đủ công (tức là 8 tiếng) thì ở cột thể hiện ngày thứ 2 trong tháng bạn nhập vào NC1; TCT2, điều chú ý quan trọng ở đây là các chức năng sẽ cách nhau bởi ";". Bạn có thể thay đổi điều này trong hàm chấm công ở trên. Vậy là bạn cứ theo nguyên tắc này để chấm công các ngày còn lại.
Vậy ở cột ngày công (AR), bạn lập công thức như sau, với giả sử rằng nhân viên A được chấm công ở hàng thứ sáu
=chamcong(E6:AI6,"NC")
hay bạn cũng có thể lập công thức như sau, với chú ý ở ô AR5 có giá trị NC
=chamcong(E6:AI6, $AR$5), sở dĩ chúng ta sử dụng địa chỉ tuyệt đối nhằm việc sao chép công thức được dễ dàng.
Bây giờ bạn hãy thử nhập số liệu vào các ô trong khỏang E6:AI6 và thử xem hàm chấm công làm việc như thế nào!
Cuối cùng mục đích của hàm chấm công nhằm tách rời các số ra theo từng chuỗi ký tự đưa vào, và trong nhiều ô. Trong ví dụ trên là số nằm liền sau chữ NC. Ví dụ NC1, thì hàm chấm công sẽ có giá trị là 1. Chú ý quan trọng như đã nói ở trên là phải cách nhau bởi ";". Như vậy chúng ta không chỉ có thể sử dụng hàm chấm công để chấm công mà còn có thể sử dụng vào các mục đích tách số ra khỏi chuỗi ký tự.
Việc hiểu mục đích của hàm sẽ giúp bạn rất nhiều trong việc áp dụng hàm vào mục đích của bạn.
Như đã nói ở trên mục đích của bài viết này một lần nữa tôi muốn hướng dẫn các bạn chức năng của hàm chấm công để các bạn có thể áp dụng vào các mục đích khác.
Việc thiết lập các bảng khác các bạn có thể tham khảo trong tài liệu tôi có đề cập ở trên.
Chúc các bạn thành công.
Lê Văn Duyệt
levanduyet@gmail.com
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
7
18
37
Nha Trang
#7
Ghi chú một chút
Ở hình 2: formula is: =if(weekday(E$5)=1,TRUE,FALSE)
có thể được làm như sau: formula is: = weekday(E$5)=1
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#8
Nếu các bạn còn dùng hàm chấm công vào các mục đích khác thì xin các bạn cũng chia sẻ với diễn đàn của EFC.
Chúc các bạn luôn mạnh khoẻ, và luôn nhiệt tình đóng góp cho sự lớn mạnh của EFC.
Lê Văn Duyệt
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,012
125
63
45
Hà nội
vnuni.net
#9
Thế nào gọi là Hàm chấm công???

Hi mọi người,

Mọi người cho mình hỏi thế nào là hàm chấm công?

Ví dụ:
1 nhà máy có 5 đầu đọc thẻ. Cứ lúc đầu ca, kết thúc ca làm việc, mọi người phải đi qua quẹt cái thẻ 1 cái (có người quẹt vài 3, 4 cái cho ăn chắc). Ko quẹt coi như ko làm việc; quẹt thì coi như có đi làm; quẹt sớm hay muộn thì bị tính là late-in/early-out hay là overtime các loại từ 150% đến 230%; v.v.... (ty tỷ các trường hợp xảy ra nữa như break-time, ăn trưa, làm việc overnigh, kiểm duyệt lý do nghỉ việc hay đi muộn về sớm, v.v... nữa)

Vậy để chấm công cho những người làm việc với hệ thống trên thì đâu là "Hàm chấm công"?
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
7
18
37
Nha Trang
#10
Bác hai2hai ơi! Bác gải đúng chổ ngứa của em bấy lâu rồi. :biggrin:

Em cũng thắc mắc như bác nhưng kô dám nói. Em sợ làm mọi người phản đối về sự chi ly này. Và em cũng cân nhắc rằng liệu có cần thiết chi ly đến vậy kô? Vậy thì sao nhỉ?
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#11
hai2hai nói:
Hi mọi người,

Mọi người cho mình hỏi thế nào là hàm chấm công?

Ví dụ:
1 nhà máy có 5 đầu đọc thẻ. Cứ lúc đầu ca, kết thúc ca làm việc, mọi người phải đi qua quẹt cái thẻ 1 cái (có người quẹt vài 3, 4 cái cho ăn chắc). Ko quẹt coi như ko làm việc; quẹt thì coi như có đi làm; quẹt sớm hay muộn thì bị tính là late-in/early-out hay là overtime các loại từ 150% đến 230%; v.v.... (ty tỷ các trường hợp xảy ra nữa như break-time, ăn trưa, làm việc overnigh, kiểm duyệt lý do nghỉ việc hay đi muộn về sớm, v.v... nữa)

Vậy để chấm công cho những người làm việc với hệ thống trên thì đâu là "Hàm chấm công"?
To: hai2hai,
Thật ra, việc chấm công rất phức tạp chứ không phải cứ vào bấm thẻ, ra bấm thẻ là xong đâu.
Vậy khi tôi "cà kê trong công ty" thì tôi tăng ca sao?
Việc chấm công rất phức tạp, mỗi nhân viên, mỗi bộ phận tùy thuộc vào từng công ty mà có cách chấm công riêng. Chổ D làm nó rất rất phức tạp cho việc tính lương vì thế D nghĩ ra hàm này. Thật sự ra có thể viết theo cách khác (bây giờ mới nghĩ đến) thì hay hơn.
Ngòai ra với hàm trên bạn có thể áp dụng cho việc nhập vào cùng một ô (xem như là ngày) nhiều đơn hàng và số lượng của từng đơn hàng, sau đó bạn có thể tách ra được.
Ví dụ đơn giản cho H hiểu. Ví dụ anh A, nghỉ nửa ngày công, sau đó anh A đi làm thì được yêu cầu tăng ca. Vậy thì yêu cầu trong một cell thể hiện đầy đủ những thông tin này. Việc tính tăng ca còn phụ thuộc vào cấp bậc. Ví dụ nếu là xếp hơi hơi cao...thì thậm chí không cần tính công...vì dựa trên công việc là chính mà.
Thân,

LVD
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,012
125
63
45
Hà nội
vnuni.net
#12
Đầu vào là "Vào quẹt thẻ, ra quẹt thẻ" (chỉ có 3 dữ liệu: ID, Date, Time thôi), Còn lại là phần mềm phải có 1 hệ thống parameters cực kỳ nhiều kèm theo các chính sách về quản lý thời gian làm việc thì mới tính được thời gian làm việc (chứ ko phải tính lương như anh Duyệt nói).

Vậy khi tôi "cà kê trong công ty" thì tôi tăng ca sao? Việc chấm công rất phức tạp, mỗi nhân viên, mỗi bộ phận tùy thuộc vào từng công ty mà có cách chấm công riêng. Chổ D làm nó rất rất phức tạp cho việc tính lương vì thế D nghĩ ra hàm này
Vấn đề tăng ca à, em cũng làm rồi anh Duyệt ạ.

Khi anh cà kê trong công ty, sẽ có 1 báo cáo list ra những người về muộn 1 vài chục phút hoặc thậm chí 1 vài tiếng. Nếu những người này ko giải trình với manager của họ thì vài tiếng đó coi như ko có gì. (thậm chí nhiều khi bị khiển trách nếu xảy ra nhiều lần cà kê như vậy)

Phần mềm chấm công hỗ trợ rất nhiều báo cáo liên quan đến thời gian làm việc của con người trong tổ chức. Nó giúp cho các managers kiểm soát được thời gian làm việc của nhân viên (kể cả thời gian cố tình ngồi chơi (cheating) như bác Duyệt nói - vì theo thực tế làm gì cũng phải đăng ký và bất kỳ ai cũng phải được quản lý bởi một tổ trưởng, quản đốc nào đó - gọi tắt những người đó là managers, nếu làm thêm giờ thì thời gian đó cũng phải được xem xét và kiểm duyệt, ngay cả chỗ em là dân IT, mọi người ngồi đến 9PM nhưng có phải ai cũng làm việc cả đâu - có job card cả rồi, quản trị dự án nó thừa biết ông nào là làm thêm thật, ông nào là ngồi ... chatting :))

Ví dụ đơn giản cho H hiểu. Ví dụ anh A, nghỉ nửa ngày công, sau đó anh A đi làm thì được yêu cầu tăng ca. Vậy thì yêu cầu trong một cell thể hiện đầy đủ những thông tin này. Việc tính tăng ca còn phụ thuộc vào cấp bậc. Ví dụ nếu là xếp hơi hơi cao...thì thậm chí không cần tính công...vì dựa trên công việc là chính mà.
Việc kiểm soát thời gian làm việc nhiều khi không chỉ là để tính lương mà chủ yếu chỉ để kiểm soát mà thôi (ví dụ: thống kê tình hình làm tăng ca trong tháng, bộ phận nào hay làm tăng ca,... rồi đánh giá nguyên nhân tại sao lại xảy ra tình trạng tăng ca nhiều/ít như vậy, kết quả của việc tăng ca là gì??? - chủ yếu phục vụ mục tiêu quản lý - chứ ko phải tính lương anh Duyệt ạ) (nhiều khi ngồi chơi lại tốn cost của công ty lắm).

Hầu hết các trường hợp làm tăng ca, OT, một ngày có nhiều ca khác nhau, các kiểu trường hợp cheating với hệ thống TimeSheet, v.v... em đều phải đương đầu cả rồi anh Duyệt ạ (Mất bao nhiêu time để bàn bạc giải pháp với các nhà quản lý nhân sự, với các đốc công,...). Em làm hệ thống chấm công cho nhiều nhà máy lắm rồi.

Nhưng gì thì gì, kiểu gì cũng phải based trên một chính sách hành chính của đơn vị. Không có chính sách thì PM ko biết đâu mà lần và ko thể quản lý được time anh ạ.

Đây có lẽ là mấu chốt của vấn đề mà anh Duyệt có khi tưởng em hiểu nhầm:
Time Attendance (hay TimeSheet) là quản lý thời gian làm việc. Việc thời gian đó có ảnh hưởng đến lương như thế nào thì còn tùy thuộc vào chính sách lương của mỗi công ty.

Vì thế mới có một hệ thống chấm công, tính lương, nhân sự (3 modules chính) vừa là hoạt động độc lập, vừa là tích hợp với nhau. (Nhiều nhà máy chỉ mua mỗi Time&Att thôi, còn 2 hệ thống kia họ hoặc là mua của hãng khác, hoặc là tự làm trên ...excel. Một hệ thống tổng thể giá khoảng từ 10k đến 20k)

Ngoài Time ra, lương còn phụ thuộc vào sản phẩm, năng suất, chất lượng, dịch vụ, v.v... (tùy theo chính sách mỗi công ty)

Trong chấm công, nhiều trường hợp oái ăm sảy ra lắm, và thường những trường hợp đó nằm hết trong Abnomal Report và các managers phải kiểm duyệt báo cáo này.

- Trường hợp các chàng lái xe thì chịu, ko chấm công nổi --> Ignored list
- Một số trường hợp của sales nhiều lúc cũng là abnomal case (có thể setup trong hệ thống là trường hợp nào thì ko tracking time của họ)
- Một số trường hợp làm liền 3 ngày (ăn ngủ ngay trong nhà máy) rồi nghỉ liền mấy hôm. Trường hợp này thì chỉ xảy ra theo vụ việc thôi, cũng hiếm nhưng vẫn có.
- Trường hợp đi ra, đi vào nhiều lần --> Giống sales
- Trường hợp đến công ty rồi ra và đi công tác vài ngày mới quay lại --> Phải lên báo cáo abnormal
- Double Check, OT các loại (trong đó có việc kiểm soát chuyện cà kê như anh Duyệt nói), chuyển ca liên tục - nay làm ca này, mai làm ca khác, v.v... --> Đều có thể setup được trong ệ thống và lên báo cáo
- Xử lý đi muộn, về sớm (late-in/early-out)
- v.v... Nhiều lắm
 
Sửa lần cuối:

Thành viên trực tuyến

Không có thành viên trực tuyến.




Xem nhiều