---
id: "01M3D5WXMMMRTS8JW6WEDMRHTF"
title: Time Clock Uygulaması Nasıl Yapılır?
slug: /4-14-time-clock-uygulamasi-nasil-yapilir/
language: tr
category: customization
visibility: public
product: sambapos-5
order: 0
tags: []
excerpt: Doküman İndeksi 1. PunchIn (Giriş) ve PunchOut (Çıkış) Durumlarının Eklenmesi 2. Personellerin Varlık Olarak Eklenmesi 2.1. Personel Varlık Tipinin Eklenmesi 2.2. Personellerin Varlık Olarak Eklenmesi 3. Time Clock Varlık Ekranının Eklenme…
legacyUrl: "https://kb.sambapos.com/4-14-time-clock-uygulamasi-nasil-yapilir/"
translationGroupId: null
publishedAt: "2018-07-10T06:10:33.000Z"
updatedAt: "2026-08-24T05:14:15.000Z"
---

### Doküman İndeksi

#### 1. PunchIn (Giriş) ve PunchOut (Çıkış) Durumlarının Eklenmesi

#### 2. Personellerin Varlık Olarak Eklenmesi

2.1. Personel Varlık Tipinin Eklenmesi

2.2. Personellerin Varlık Olarak Eklenmesi

#### 3. Time Clock Varlık Ekranının Eklenmesi

#### 4. Otomasyon Komutlarının Eklenmesi

#### 4.1. Time Clock Butonu

#### 5. Eylemlerin Eklenmesi

#### 5.1. Mesaj Göster Eylemi

#### 5.2. Time Clock Ekranını Göster Eylemi

#### 5.3. Otomasyon Komutu Çalıştır Eylemi

#### 5.4 Program Ayarı Değiştir Eylemi

#### 5.5. Soru Sor Eylemi

#### 5.6. Varlık Durumunu Değiştir Eylemi

#### 5.7. Varlık Durumunu Günlüğe At Eylemi

#### 5.8. Varlığı Yükle Eylemi

#### 6. Kuralların Eklenmesi

#### 6.1. Time Clock Ekranını Göster Kuralı

#### 6.2. Varlık Yükle Kuralı

#### 6.3. Time Clock Punch (Sor) Kuralı

#### 6.4. Varlık Durumunu Değiştir Kuralı

#### 6.5. Varlık Durumunu Günlüğe At Kuralı

#### 7. Raporların ve Komutların Eklenmesi

#### 7.1. Raporların Eklenmesi

#### 7.1.1. Saatlik Rapor

#### 7.2. Komutların Eklenmesi

#### 7.2.1. Personel Saatleri Günlük

#### 7.2.2. Personel En Son Giriş

#### 7.2.3. Personel Saatleri Total

### Time Clock Uygulamasına Başlamadan Önce

#### Bu dokümanda, Personel Çalışma Saatleri Takibi Uygulaması anlatılacaktır. Bu uygulama, personellerin sisteme Varlık olarak Giriş ve Çıkış yapmalarına imkan vermektedir.

#### Time Clock uygulamasına başlamadan önce, Navigasyon Ekranı Buttonları ile ilgili yapılması gereken 2 ayar vardır;

#### 1- Özel Navigasyona İzin Verme

#### Ana Menü > Yönetim > Ayarlar > Yerel Ayarlar > Görüntüle > burada Özel Navigasyon’a İzin Ver seçili olmalıdır.

![Time Clock Tr 01](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-01-2-c7bc2b6ea0.jpg)

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 2- Varsayılan Navigasyon Butonları Oluşturma

#### Ana Menü > Yönetim > Ayarlar > Program Ayarları > Bakım > burada Create Default Navigation Buttons üzerine tılayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-02-59a38f0b47.jpg)

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### Time Clock Uygulamasının Görünümü

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-31-0c96abf252.jpg)

### Time Clock Uygulaması

### 1. PunchIn (Giriş) ve PunchOut (Çıkış) Durumlarının Eklenmesi

Bu durumlar, personelin Giriş yada Çıkış yapmasını takip etmek amaçlı kullanılır.

**Ana Menü > Yönetim > Ayarlar > Durumlar >** burada **Durum Ekle** üzerine tıklanır. PunchOut durumu için de aynı işlem tekrarlanır.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-03-5345b02fa4.jpg)

**`Giriş İçin Varlık Durumu`**
**Adı:** `PunchIn`
**Durum Adı:** `TCStatus`
**Durum Tipi:** `Varlık Durumu`

**`Çıkış İçin Varlık Durumu`**
**Adı:** `PunchOut`
**Durum Adı:** `TCStatus`
**Durum Tipi:** `Varlık Durumu`

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

### 2. Personel Varlıklarının Eklenmesi

#### 2.1. Personel Varlık Tipinin Eklenmesi

**Ana Menü > Yönetim > Varlıklar > Varlık Tipleri >** burada **Varlık Tipi Ekle** üzerine tıklayın.

**Genel Ayarlar Sekmesi;**

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-04-31bab9d8ce.jpg)

**Adı:**`Personeller`
**Varlık Adı:**`Personel`
**Birincil Alan Adı:**`Adı`
**Varsayılan Durumlar:** `TCStatus=PunchOut;TCReport=Unloaded`

Version 5, Varlık Tipleri için **Varsayılan Durumları** desteklemektedir. Bu özellik, yeni bir Varlık oluşturulduğunda, bir ”Başlangıç Durumu” belirler.

**Özel Alanlar Sekmesi;**

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-05-6a325d8d93.jpg)

#### Hesap Sekmesi; (Opsiyonel)

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-06-997e60f85d.jpg)

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

Hesap Tipi olarak, Personel Hesaplarını seçebilmek için, Personel Hesapları Hesap Tipi ve her personel için bir Hesap oluşturmuş olmanız gereklidir.

#### Personel Hesapları Hesap Tipinin Eklenmesi

**Ana Menü > Yönetim > Hesaplar > Hesap Tipleri >** burada **Hesap Şablonu Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-07-6c66414612.jpg)

**Adı:** Personel Hesapları

**Filtre Tipi:** Ay (İhtiyacınıza göre seçin)

**Kurallar:** Varsayılan

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### Her Bir Personel İçin Hesap Eklenmesi

**Ana Menü > Yönetim > Hesaplar > Hesaplar >** burada **Hesap Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-08-277d37bbd3.jpg)

**Hesap Adı:** Personelinizin adını yazın.

**Hesap Tipi:** Personel Hesapları

**Para Birimi:** Boş

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 2.2. Personellerin Varlık Olarak Eklenmesi

**Ana Menü > Yönetim > Varlıklar > Varlıklar >** burada **Varlık Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-09-481a06e995.jpg)

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

### 3. Time Clock Varlık Ekranın Eklenmesi

**Ana Menü > Yönetim > VArlıklar > Varlık Ekranları >** burada **Varlık Ekranı Ekle** üzerine tıklayın.

**Genel Ayarlar Sekmesi;**

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-10-4f71b0ff69.jpg)

**Adı:** `Time Clock`

**Adisyon Tipi:** `Ticket`

**Görünüm Modu:** Özel

**Görünüm Sekmesi;**

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-11-cef00f01c7.jpg)

**Varlık Listesi Sekmesi;**

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-12-729d972c28.jpg)

**Varlık tipi:** `Personeller`

**Görünüm Durumu:** `TCStatus`

**Durum Filtresi:** `Boş`

Varlık Seç butonuna tıklayarak, varlık ekranında görünmesini istediğiniz personellerinizi seçin.

**İlişkiler Sekmesi;**

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-13-6623b0f6b1.jpg)

İlişkiler sekmesinde, **Ekle** üzerine tıklayarak bir satır ekleyin.

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### Düzenleme Modu Ayarları

Time Clock varlık ekranında, fare sağ tıklanarak Düzenleme Moduna geçilir, bir adet **Entity Grid** ve görüntülenmesi istenen personel sayısı kadar **Özel Rapor Görüntüleyici** oluşturulur.

### Entity Grid Widget

#### Entity Grid Özellikler

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-14-e47e86ff30.jpg)

#### Entity Grid Ayarlar

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-15-9520ba6428.jpg)

**Varlık Tipi:** `Personeller`
**Display State:** `TCStatus`
**Otomasyon Komutu:** `TC-Varlık Yükle`
**Command Value:** `{ENTITY NAME}`

### Rapor Görüntüleyici Widgets

#### Rapor Görüntüleyici Özellikler; Personel Nizam

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-16-ce20559b81.jpg)

Name: `Hours Nizam`

#### Rapor Görüntüleyici Ayarlar; Personel Nizam

![Time Clock Tr 17](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-17-3-2b1a5cb15c.jpg)

Rapor Adı: `Personel Saatleri`
Parameters: `Personel,Nizam`

#### Rapor Görüntüleyici Özellikler; Personel Veysel

![Time Clock Tr 18](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-18-1-0a0d02d7f3.jpg)

Name: `Hours Veysel`

#### Rapor Görüntüleyici Ayarlar; Personel Veysel

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-18-f7391add77.jpg)

Rapor Adı: `Personel Saatleri`
Parameters: `Personel,Veysel`

### 4. Otomasyon Komutlarının Eklenmesi

#### 4.1. Time Clock Butonu

**Ana Menü > Yönetim > Otomasyon > Otomasyon Komutları >** burada **Otomasyon Komutu Ekle** üzerine tıklanır.

**Genel Ayarlar Sekmesi;**

![Time Clock Tr 20](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-20-1-47a153434b.jpg)

**Adı:** TC-Time Clock Göster

**Kategori:** Navigasyon

**Düğme Başlığı:** Time Clock

**Renk:** Darkblue

**Font Size:** 26

**Onay:** Hiçbiri

**Seçimi Temizle:** Bu kutucuk seçili olmalıdır.

**Navigasyon Seçenekleri Sekmesi;**

![Time Clock Tr 21](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-21-1-cd918c9995.jpg)

**Navigasyon Modülü:** Entity

**Navigasyon Modul Parametresi:** Time Clock

**Şablon:**

| `[People:1]``\\<size 44\\>\\<bold\\>Time Clock\\</bold\\>\\</size\\>``@Nizam,Veysel``[='{SETTING:TCStatus $1}'=='Clocked In' ? '$1 ::: ' + '{ENTITY STATE MINUTES BY NAME:Personeller.$1:TCStatus}' : '']` |
| --- |

**İlişkiler Sekmesi;**

![Time Clock Tr 22](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-22-1-f756ae0b9f.jpg)

İlişkiler sekmesinde, **Ekle** üzerine tıklayarak bir satır ekleyin.

**Visibility:** Navigasyonda Göster

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

### 5. Eylemlerin Eklenmesi

#### 5.1. Mesaj Göster Eylemi

Bu eylem, mesajları göstermek için kullanılır.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-30-334fe9786f.jpg)

**Eylem Adı:** TC-Mesaj Göster

**Eylem Tipi:** Mesaj Göster

**Parametreler:**

**Mesaj:** \[:mesaj\]

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 5.2. Time Clock Ekranını Göster Eylemi

Bu eylem, Time Clock ekranını yenilemek için kullanılır.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-23-fdca0e50a6.jpg)

**Eylem Adı:** TC-Time Clock Ekranını Göster

**Eylem Tipi:** Modülü Göster

**Module Name:** Entity

**Parametre:** Time Clock

**Hide Header:** True

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 5.3. Otomasyon Komutu Çalıştırıldı Eylemi

Bu eylem, diğer eylemleri çalıştırmak için kullanılır.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-24-19c6456c0e.jpg)

**Eylem Adı:** TC-Otomasyon Komutu Çalıştır

**Eylem Tipi:** Otomasyon Komutu Çalıştır

**Automation Command Name:** \[:AMCname\]

**Command Value:***(Boş)*

**Background:** False

**Delay:** 0

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 5.4. Program Ayarı Değiştir Eylemi

Bu eylem, belirli parametreleri takip etmek için kullanılan, çeşitli Program Ayarlarını güncellemek için gereklidir.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-25-41e8a252c1.jpg)

**Eylem Adı:** TC-Program Ayarı Değiştir

**Eylem Tipi:** Program Ayarı Değiştir

**Parametreler:**

**Ayar Adı:** \[:SettingName\]

**Ayar Değeri:** \[:SettingValue\]

**Güncelleme Şekli:** \[:Güncelle\]

**Is Local:** False

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 5.5. Soru Sor Eylemi

Bu eylem, kullanıcıya **Giriş** yada **Çıkış** yapmak isteyip istemediğini sormak için kullanılır.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-26-7381360bc0.jpg)

**Eylem Adı:** TC-Punch (Sor)

**Eylem Tipi:** Soru Sor

**Soru:** \[:Question\]

**Buttons:**  \[:Buttons\]

**Automation Command Name:** \[:AMCname\]

**Arkaplan Rengi:** \[:BGcolor\]

**Transparent Color:***(Boş)*

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 5.6. Varlık Durumunu Değiştir

Bu eylem, Personel Varlık Durumunu, **Giriş** yada **Çıkış** olarak ayarlamak için kullanılır.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr 27](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-27-1-b8aa090a36.jpg)

**Eylem Adı:** TC-Varlık Durumunu Değiştir

**Eylem Tipi:** Varlık Durumunu Değiştir

**Entity Type Name:** Personeller

**Varlık Adı:***(Boş)*

**Entity State Name:** TCStatus

**Entity State:** \[:NewState\]

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 5.7. Varlık Durumunu Günlüğe At Eylemi

Bu eylem, Personel Varlık Durumunun, **Giriş** yada **Çıkış** yaptı olarak günlüğe atılması için kullanılır.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-28-00696cfd1f.jpg)

**Eylem Adı:** TC-Varlık Durumunu Günlüğe At

**Eylem Tipi:** Varlık Durumunu Günlüğe At

**Parametreler:**

**Adı:** \[:logName\]

**Entity Id:** \[:entityId\]

**State Name:** \[:SGroupName\]

**Start State:** \[:StateBeg\]

**Start State Date:** \[:SDateBeg\]

**End State:** \[:StateEnd\]

**End State Date:** \[:SDateEnd\]

**Custom Data:** \[:SCustomData\]

**Async:** \[:Async\]

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 5.8. Varlık Yükle Eylemi

Bu eylem, Personel Varlığını yüklemek için kullanılır, bu sayede Varlık Datasını ve Durumunu okumak ve ayarlamak mümkün olmaktadır.

**Ana Menü > Yönetim > Otomasyon > Eylemler >** burada **Eylem Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-29-e9eea840ea.jpg)

**Eylem Adı:** TC-Varlık Yükle

**Eylem Tipi:** Varlık Yükle

**Entity Type Name:** \[:EntityTypeName\]

**Entity Name:** (Boş)

**Entity Search Value:** \[:SearchValue\]

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

### 6. Kuralların Eklenmesi

#### 6.1. Time Clock Ekranını Göster Kuralı

**Ana Menü > Yönetim > Otomasyon > Kurallar >** burada **Kural Ekle** üzerine tıklayın.

![Time Clock Tr 32](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-32-1-5f368c1af6.jpg)

**Kural Adı:** TC-Time Clock Ekranını Göster

**Olay Adı:** Otomasyon Komutu Çalıştırıldı

**Eğer Kural Çalışırsa:** Eşleşmeler

**Özel Kısıtlama Ekle:** Automation Command Name | Eşittir | TC-Time Clock Göster

**Eylem:** TC-Time Clock Ekranını Göster

**Constraint:** Boş

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 6.2. Personel Varlığını Yükle Kuralı

**Ana Menü > Yönetim > Otomasyon > Kurallar >** burada **Kural Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-33-c5f9dfa67e.jpg)

**Kural Adı:** TC-Personel Varlığını Yükle

**Olay Adı:** Otomasyon Komutu Çalıştırıldı

**Eğer Kural Çalışırsa:** Eşleşmeler

**Özel Kısıtlama Ekle:** Automation Command Name | Eşittir | TC-Varlık Yükle

**Eylem:** TC-Varlık Yükle

**Entity Type Name:** Personeller

**Search Value:** \[:CommandValue\]

**Action:** TC-Otomasyon Komutu Çalıştır

**Constraint:** Boş

**AMCname:** TC-Punch

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 6.3. Time Clock Punch (Sor) Kuralı

**Ana Menü > Yönetim > Otomasyon > Kurallar >** burada **Kural Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-34-f494945f38.jpg)

**Kural Adı:** TC-Time Clock Punch (Sor)

**Olay Adı:** Otomasyon Komutu Çalıştırıldı

**Eğer Kural Çalışırsa:** Eşleşmeler

**Özel Kısıtlama Ekle:** Automation Command Name | Eşittir | TC-Punch

**Eylem:** TC-Punch (Sor)

**Constraint:** Boş

**Question:** {ENTITY NAME}: İçin Bir time Clock Eylemi Seçin:

**Buttons:**  Giriş=PunchIn:Orange;Gray,Çıkış=PunchOut:White;Gray,İptal=Cancel:Red;Gray

**AMCname:** TC-Varlık Durumunu Değiştir

**BGColor:** DarkBlue

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 6.4. Varlık Durumunu Değiştir Kuralı

**Ana Menü > Yönetim > Otomasyon > Kurallar >** burada **Kural Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-35-26010aa315.jpg)

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-36-3fad98d1e2.jpg)

**Kural Adı:** TC-Varlık Durumunu Değiştir

**Olay Adı:** Otomasyon Komutu Çalıştırıldı

**Eğer Kural Çalışırsa:**  *Tümü Eşleşiyor*

**Özel Kısıtlama Ekle:**

Automation Command Name | Eşittir | TC-Varlık Durumunu Değiştir

Command Value | Eşit Değil | Cancel

Command Value | Eşit Değil | {ENTITY STATE:TCStatus}

**Action-1:** TC-Varlık Durumunu Değiştir

**Constraint:** Boş

**NewState:** \[:CommandValue\]

**Action-2:** TC-Program Ayarı Değiştir

**Constraint:** Boş

**SettingName:** TCStatus {ENTITY NAME}

**SettingValue:** `[=('[:CommandValue]'=='PunchIn' ? 'Clocked In' : 'Clocked Out')]`

**Action-3:** TC-Otomasyon Komutu Çalıştır

**Constraint:** Boş

**AMCname:** TC-Time Clock Göster

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 6.5. Varlık Durumunu Günlüğe At Kuralı

**Ana Menü > Yönetim > Otomasyon > Kurallar >** burada **Kural Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-37-7c39fb6463.jpg)

**Kural Adı:** TC-Varlık Durumunu Günlüğe At

**Olay Adı:** Varlık Durumu Güncellendi

**Eğer Kural Çalışırsa:** Eşleşmeler

**Özel Kısıtlama Ekle:**

Entity Type Name | Eşittir | Personeller

State Name | Eşittir | TCStatus

Durum | Eşit Değil | Cancel

**Eylem:** TC-Varlık Durumunu Günlüğe At

**Constraint:** Boş

**logName:** Time Clock

**entityId:** \[:EntityId\]

**SGroupName:** \[:StateName\]

**StateBeg:** \[:StartState\]

**SDateBeg:** \[:StartStateDate\]

**StateEnd:** \[:EndState\]

**SDateEnd:** \[:EndStateDate\]

**SCustomDate:** ManualPunch~{SETTING:HolidayFlag}

**Async:** False

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

### 7. Raporların ve Komutların Eklenmesi

#### 7.1. Raporların Eklenmesi

#### 7.1.1. Saatlik Rapor

**Ana Menü > Yönetim > Raporlar > Raporlar >** burada **Rapor Ekle** üzerine tıklayın.

![Time Clock V1 D%C3%BCzeltmeTR](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-v1-d-c3-bczeltmetr-01-de51864b18.jpg)

Aşağıdaki kod grubunu kopyalayıp şablon alanına yapıştırın;

| [Şimdiki Saatler $2:10,21,21,9] @@EmployeePunchInLatest:$1,$2[Önceki Saatler $2:10,21,21,9] \>Personel\|Başlangıç\|Bitiş\|Saatler @@EmployeeHoursDaily:$1,$2 |
| --- |

Buradaki `$ değişkenleri` Özel Rapor Görüntüleyici Widget Parametre listesinden geçmektedir. Parametreler aşağıdaki şekilde atanmıştır:

| $1 : Varlık Tipi (Personel)$2 : Personel Adı (Nizam yada Veysel yada …vs)$3 : Tarih Filtresi Başlangıcı (opsiyonel)$4 : Tarih Filtresi Bitişi (opsiyonel)$5 : Kullanılmayan |
| --- |

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

Rapordaki şablon alanında $1 değerini Personel kelimesiyle, $2 değerini Personel İsmiyle değiştirmeniz gerekmektedir. Bu işlemden sonra, komutların da eklenmesiyle, rapor aşağıdaki gibi görünecektir.

![Time Clock V1 D%C3%BCzeltmeTR](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-v1-d-c3-bczeltmetr-02-b88a15a36d.jpg)

#### 7.2. Komutların Eklenmesi

SQL Komutları, yukarıda görünen rapordan çağrılmaktadır.

#### 7.2.1. Personel Saatleri Günlük

**Ana Menü > Yönetim > Otomasyon > Komutlar >** burada **Komut Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-40-e83a671d3f.jpg)

**Komut Adı:** EmployeeHoursDaily

**Denetimci:** @@EmployeeHoursDaily

**Komut:** Aşağıdaki kod grubunu kopyalayıp, komut alanına yapıştırın;

| ```````````-- PARM for Employee Entity Type declare @EntityType varchar(20) = '@1' -- PARM for Employee Name declare @Employee varchar(20) = '@2' -- PARM for Date Filter Start declare @StartDateIn varchar(25) = '@3' -- PARM for Date Filter End declare @EndDateIn varchar(25) = '@4'````````````-- if Employee Entity Type is invalid, set default as 'Employee' IF (@EntityType = '') OR (@EntityType is null) OR (@EntityType = '$1') SET @EntityType = 'Employee'``-- if Date Filter START is invalid, set default to beginning of Current Month IF (@StartDateIn = '') OR (@StartDateIn is null) OR (@StartDateIn = '$3') SET @StartDateIn = left(CONVERT(VARCHAR(25), GETDATE(), 126),7)+'-01T00:00:00'``-- if Date Filter END is invalid, set a default IF (@EndDateIn = '') OR (@EndDateIn is null) OR (@EndDateIn = '$4') SET @EndDateIn = dateadd(Month,1,@StartDateIn)``-- set START and END date for Report Period declare @StartDate datetime = convert(varchar(25),@StartDateIn,126) declare @EndDate datetime = convert(varchar(25),@EndDateIn,126) declare @EndDateInc datetime = convert(varchar(25),dateadd(day,-1,@EndDate),126)``-- set name of HolidayFlag declare @HolidayFlag varchar(20) = 'Holiday' -- set name of Clock-In State declare @Clockin varchar(20) = 'PunchIn' -- set Overtime Hour Limit declare @HourLimit decimal(4,2) = 8.00``-- NOTHING TO SET BEYOND HERE)``SELECT``e.Name,StartStateDate,EndStateDate,CONVERT(VARCHAR(8),(EndStateDate-StartStateDate),108) as TotalHours``FROM [EntityStateLogs] sl left join [Entities] e on e.[Id]=sl.[EntityId] left join [EntityTypes] et on et.[Id]=e.[EntityTypeId] WHERE 1=1 and sl.[StartStateDate] \>= '{Start}' and sl.[EndStateDate] \<= '{End}' and et.[EntityName] = @EntityType and sl.[StartState] = @Clockin and e.[Name]=@Employee` |
| --- |

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

#### 7.2.2. Personel En Son Giriş

**Ana Menü > Yönetim > Otomasyon > Komutlar >** burada **Komut Ekle** üzerine tıklayın.

![Time Clock Tr](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-tr-41-870dbc6dc5.jpg)

#### Komut Adı: EmployeePunchInLatest

#### Denetimci: @@ EmployeePunchInLatest

**Komut:** Aşağıdaki kod grubunu kopyalayıp, komut alanına yapıştırın;

| ```-- PARM for Employee Entity Type declare @EntityType varchar(20) = '@1' -- PARM for Employee Name declare @Employee varchar(20) = '@2' -- PARM for Date Filter Start declare @StartDateIn varchar(25) = '@3' -- PARM for Date Filter End declare @EndDateIn varchar(25) = '@4'````-- if Employee Entity Type is invalid, set default as 'Employee' IF (@EntityType = '') OR (@EntityType is null) OR (@EntityType = '$1') SET @EntityType = 'Employee'``-- if Date Filter START is invalid, set default to beginning of Current Month IF (@StartDateIn = '') OR (@StartDateIn is null) OR (@StartDateIn = '$3') SET @StartDateIn = left(CONVERT(VARCHAR(25), GETDATE(), 126),7)+'-01T00:00:00'``-- if Date Filter END is invalid, set a default IF (@EndDateIn = '') OR (@EndDateIn is null) OR (@EndDateIn = '$4') SET @EndDateIn = dateadd(Month,1,@StartDateIn)``-- set START and END date for Report Period declare @StartDate datetime = convert(varchar(25),@StartDateIn,126) declare @EndDate datetime = convert(varchar(25),@EndDateIn,126) declare @EndDateInc datetime = convert(varchar(25),dateadd(day,-1,@EndDate),126)````-- set name of HolidayFlag declare @HolidayFlag varchar(20) = 'Holiday' -- set name of Clock-In State declare @Clockin varchar(20) = 'PunchIn' -- set Overtime Hour Limit declare @HourLimit decimal(4,2) = 8.00``-- NOTHING TO SET BEYOND HERE declare @Now datetime = CONVERT(VARCHAR(25), GETDATE(), 126)``````SELECT e.Name,StartStateDate,EndStateDate,CONVERT(VARCHAR(5),(EndStateDate-StartStateDate),108) as TotalHours````FROM [EntityStateLogs] sl left join [Entities] e on e.[Id]=sl.[EntityId] left join [EntityTypes] et on et.[Id]=e.[EntityTypeId] WHERE 1=1 and sl.[Id]=(select max([Id]) from [EntityStateLogs] where [EntityId]=sl.[EntityId] and [EndState]=@Clockin) and [EndStateDate]\>(select max([StartStateDate]) from [EntityStateLogs] where [EntityId]=sl.[EntityId] and [StartState]=@Clockin) and sl.[StartStateDate] \>= @StartDate -- something wrong here and sl.[EndStateDate] \< @EndDate and et.[EntityName] = @EntityType and sl.[EndState] = @Clockin and e.[Name]=@Employee ORDER BY e.[Name], sl.[StartStateDate]` |
| --- |

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.

**7.2.3.** **Personel Saatleri Total**

**Ana Menü > Yönetim > Otomasyon > Komutlar >** burada **Komut Ekle** üzerine tıklayın.

![Time Clock V1 D%C3%BCzeltmeTR](/media/assets/imported/01M3D5WXMMMRTS8JW6WEDMRHTF/time-clock-v1-d-c3-bczeltmetr-03-40febe947e.jpg)

**Komut Adı:** EmployeeHoursTTL

**Denetimci:** @@EmployeeHoursTTL

**Komut:** Aşağıdaki kod grubunu kopyalayıp, komut alanına yapıştırın;

| `SELECT sum( DATEPART(SECOND, EntityStateLogs.EndStateDate-EntityStateLogs.StartStateDate) + 60 * DATEPART(MINUTE, EntityStateLogs.EndStateDate-EntityStateLogs.StartStateDate) + 3600 * DATEPART(HOUR, EntityStateLogs.EndStateDate-EntityStateLogs.StartStateDate) ) as 'TotalHours' FROM EntityStateLogs INNER JOIN Entities ON EntityStateLogs.EntityId = Entities.Id where Entities.Name=@Employee and StartStateDate\>='{Start}' and EndStateDate\<='{End}'` |
| --- |

#### Gerekli düzenlemeleri yaptıktan sonra, Kaydet butonuna tıklayın.
