2026-10-04 15:04:16 +00:00
# İK › Araçlar (`App.Hr.Vehicles`)
Şirket araç filosu yönetimi: araç ve şoför kayı tları , araç/şoför belgeleri (ruhsat, sigorta,
muayene, ehliyet, psikoteknik), trafik cezaları ve kazalar, fatura bazlı araç masrafları ve
güvenlik kulübesinden araç giriş– çı kı ş takibi (km, süre, gidilen yer). Tamamı konfigürasyondur
(Wizard + SQL); entity, migration ya da React kodu yoktur.
> Bu doküman modülün tek "nası l çalı şı r" kaynağı dı r. Modülde yapı lan her değişiklik aynı commit'te
> buraya yansı r (`lowcode.instructions.md` §0.13).
---
## 1. Amaç ve kapsam
| Persona | Ne yapar | Ekran |
| --- | --- | --- |
| Filo / idari işler sorumlusu | Araç, şoför, belge ve masraf tanı mları nı yönetir; araç belgelerini ve masraf faturaları nı girer | Araç Belgeleri · Araçlar · Gidilecek Yerler · Şoför Tanı mlama · Masraf Tanı mlama · Masraf Girişleri |
| Güvenlik personeli | Aracı n çı kı şı nı ve dönüşünü (km, saat, kullanan personel) kaydeder | Araç Giriş-Çı kı ş Takip |
| Yönetim | Dı şarı daki araç sayı sı , toplam km ve masrafı izler | Widget'lar, Pivot, Chart |
Kapsam: kiracı (`IsTenant`). Araç bir şubeye (tesis) bağlı dı r; satı r süzmesi yoktur.
---
## 2. Analiz ve kararlar
> Modül §0.13 kuralı ndan önce üretildi; keşif turu kaydı yoktur. Kararlar artefaktlardan (wizard,
> SQL, seed, commit'ler `7be0b4ed` "Human Resources -> Araçlar" ve `021a8a34` "Araçlar düzenlemesi")
> okunmuştur.
| Konu | Karar |
| --- | --- |
| Yol | Wizard ekranları ; aracı n altı nda Belgeler, şoförün altı nda Belgeler / Cezalar / Kazalar, masraf girişinin altı nda Kalemler (menüsüz alt formlar) |
| Belge tanı mı | Tek tanı m tablosu (`Hr_T_VehicleDocument`) iki eksenle ayrı lı r: **grup** (Vehicle / Driver) ve **tip** (Insurance, Document, Tax, Toll, Inspection, Maintenance, Penalty, Accident). Her alt form kendi kümesini süzer |
| Araç durumu | `Arrived` (Geldi — şirkette) / `Left` (Gitti — dı şarı da); giriş– çı kı ş kaydı ndan güncellenir |
| Araç km'si | `CurrentKm` giriş– çı kı ş kaydı nı n giriş km'sinden güncellenir; yeni çı kı şta önerilen çı kı ş km'si budur |
| Zimmet | Şoföre en fazla **5 araç** zimmetlenir (`Vehicle1Id`…`Vehicle5Id` sabit kolonlar) |
| Şoför km'si | Şoförün `TotalKm` 'si, kullandı ğı tüm hareketlerin yapı lan km toplamı dı r (SQL) |
| Masraf | Fatura başlı ğı + kalemler; `Net Tutar = Miktar × Tutar × (1 − İskonto% / 100)` formda hesaplanı r |
| Muayene/sigorta tarihleri | Araç kaydı nda başlangı ç– bitiş tarihleri olarak tutulur; **hatı rlatma/bildirim yoktur** |
| Hareket numarası | `MovementNo` kiracı bazı nda `MAX + 1` (insert sonrası SQL) |
---
## 3. Menü ve ekranlar
`İnsan Kaynakları › Araçlar` (`App.Hr.Vehicles`, ikon `FcAutomotive` )
| Sı ra | Menü (TR / EN) | `ListFormCode` | Alt formlar | Widget'lar |
| --- | --- | --- | --- | --- |
| 1 | Araç Belgeleri / Vehicle Documents | `App.Hr.VehicleDocument` | — | Toplam · Aktif · Pasif |
2026-10-04 21:18:13 +00:00
| 2 | Masraf Tanı mlama / Expense Definitions | `App.Hr.VehicleExpenseDefinition` | — | Toplam · Aktif · Pasif |
2026-10-04 15:04:16 +00:00
| 3 | Gidilecek Yerler / Destinations | `App.Hr.VehicleDestination` | — | Toplam · Aktif · Pasif |
2026-10-04 21:18:13 +00:00
| 4 | Araçlar / Vehicles | `App.Hr.Vehicle` | `VehicleFile` (`Id → VehicleId`) | Toplam · Geldi · Gitti · Pasif |
| 5 | Şoför Tanı mlama / Drivers | `App.Hr.Driver` | `DriverDocument` , `DriverPenalty` , `DriverAccident` (`Id → DriverId`) | Toplam · Zimmetli Araçlı · Toplam Km |
| 6 | Araç Giriş-Çı kı ş Takip / Vehicle Gate Log | `App.Hr.VehicleMovement` | — | Toplam · Gitti · Bugün |
| 7 | Masraf Girişleri / Vehicle Expenses | `App.Hr.VehicleExpense` | `VehicleExpenseLine` (`Id → VehicleExpenseId`) | Toplam · Bugün · Toplam Tutar (net kalemler) |
2026-10-04 15:04:16 +00:00
Tüm ekranlar Grid, Card, Pivot, Chart görünümleriyle gelir; özel görünüm (Todo, Scheduler) yoktur.
Seed verisi:
- 17 belge tanı mı (`data/App.Hr.VehicleDocument.json`). Örnekler: trafik sigortası , ruhsat, K2, MTV, OGS/HGS, egzoz/genel muayene, takograf (araç); sürücü belgesi, psikoteknik, SRC 4, kı rmı zı ı şı k ve hı z cezası (şoför).
- 9 masraf tanı mı (`data/App.Hr.VehicleExpenseDefinition.json`): sigorta, vergi, bakı m, muayene × 2, geçiş × 2, ceza, yakı t.
---
## 4. Veri modeli
```
Sas_T_Branch ──< Hr_T_Vehicle ─ ─ < Hr_T_VehicleFile > ── Hr_T_VehicleDocument (grup Vehicle)
│ ▲
│ └── Hr_T_Driver.Vehicle1..5Id ── AbpUsers (UserId)
│ ├──< Hr_T_DriverDocument > ── VehicleDocument (grup Driver, ceza/kaza hariç)
│ ├──< Hr_T_DriverPenalty > ── VehicleDocument (tip Penalty)
│ └──< Hr_T_DriverAccident > ── VehicleDocument (tip Accident)
├──< Hr_T_VehicleExpense ─ ─ < Hr_T_VehicleExpenseLine > ── Hr_T_VehicleExpenseDefinition
│ └── Hr_T_VehicleDestination (firma)
└──< Hr_T_VehicleMovement > ── AbpUsers (gönderen, güvenlik, kullanan), Hr_T_VehicleDestination
```
| Tablo | Önemli kolonlar |
| --- | --- |
| `Hr_T_VehicleDocument` | `DocumentGroup` (Vehicle/Driver), `DocumentType` (8 tip), `Name` , `IsActive` |
| `Hr_T_Vehicle` | `BranchId` (tesis), `Name` , `Brand` , `Model` , `BodyType` , `UsagePlace` , `RegistrationDate` , `PlateNumber` , `Status` (Arrived/Left), `CurrentKm` , muayene / sigorta / egzoz / takograf başlangı ç– bitiş tarihleri, `IsActive` |
| `Hr_T_VehicleFile` | `VehicleId` , `VehicleDocumentId` , `FileName` , `FileContent` |
| `Hr_T_VehicleDestination` | `Name` , `Distance` (km), `IsActive` |
| `Hr_T_Driver` | `UserId` , `Vehicle1Id` …`Vehicle5Id`, `TotalKm` |
| `Hr_T_DriverDocument` | `DriverId` , `VehicleDocumentId` , `FileName` , `FileContent` |
| `Hr_T_DriverPenalty` | `DriverId` , `PenaltyDate` , `Amount` , `Description` , `VehicleDocumentId` , dosya |
| `Hr_T_DriverAccident` | `DriverId` , `AccidentDate` , `VehicleDocumentId` , `Description` , dosya |
| `Hr_T_VehicleExpenseDefinition` | `ExpenseType` , `Name` , `IsActive` |
| `Hr_T_VehicleExpense` | `VehicleId` , `InvoiceNo` , `InvoiceDate` , `DestinationId` (firma), `VehicleDocumentId` , dosya |
| `Hr_T_VehicleExpenseLine` | `VehicleExpenseId` , `ExpenseDefinitionId` , `DetailName` , `Quantity` , `Amount` , `DiscountRate` , `NetAmount` , `Description` |
| `Hr_T_VehicleMovement` | `MovementNo` , `ExitDate` , `ExitTime` (SS:dd metin), `BranchId` , `ExitKm` , `SenderUserId` , `SecurityUserId` , `DriverUserId` , `VehicleId` , `DestinationId` , `Reason` , `Location` , `EntrySecurityUserId` , `EntryDate` , `EntryBranchId` , `EntryTime` , `EntryKm` , `TravelledKm` , `Status` , `DurationMinutes` , `ExpectedKm` |
Tablo düzeyinde CHECK ya da tekil indeks yoktur (plaka tekilliği zorlanmaz); kurallar form ve SQL'dedir.
---
## 5. İş kuralları ve hesaplar
### 5.1 Giriş– çı kı ş (`App.Hr.VehicleMovement`)
Form script'leri:
| Olay | Kural |
| --- | --- |
| Form açı lı şı | Çı kı ş tarihi bugün, çı kı ş saati şimdi, durum `Left` |
| Araç seçimi | `ExpectedKm` = aracı n `CurrentKm` 'si; çı kı ş km boşsa aynı değer yazı lı r |
| Çı kı ş km | `ExpectedKm` 'den küçükse uyarı + `ExpectedKm` yazı lı r; giriş km varsa yapı lan km yeniden hesaplanı r |
| Giriş km | Çı kı ş km'den küçükse uyarı + geri alı nı r. Doluysa durum `Arrived` , `TravelledKm = EntryKm − ExitKm` , giriş tarihi/saati boşsa şimdi. Boşsa durum `Left` , yapı lan km boş |
| Tarih/saat değişimi | `DurationMinutes` = giriş − çı kı ş (dakika; saat `SS:dd` biçiminde olmalı ) |
Sunucu komutları :
| Komut | Etki |
| --- | --- |
| Insert sonrası | `MovementNo` atanı r; aracı n `Status` 'u ve (giriş km varsa) `CurrentKm` 'si hareketten yazı lı r; kullanan personelin şoför kaydı ndaki `TotalKm` yeniden toplanı r |
| Delete sonrası | Şoför `TotalKm` yeniden toplanı r; aracı n `CurrentKm` 'si son girişin km'sine, `Status` 'u son hareketin durumuna döner (hareket yoksa `Arrived` ) |
| Update sonrası | **Yok** — bkz. §9 |
### 5.2 Masraf
`NetAmount = round(Quantity × Amount × (1 − DiscountRate / 100), 2)` ; miktar, tutar ya da iskonto
değişince formda hesaplanı r. Fatura tarihi yeni kayı tta bugündür. "Toplam Tutar" widget'ı
silinmemiş tüm kalemlerin toplamı dı r.
### 5.3 Belge süzmesi
| Ekran | Listelenen belge tanı mları |
| --- | --- |
| Araç › Belgeler, Masraf Girişi | `DocumentGroup = 'Vehicle'` |
| Şoför › Belgeler | `DocumentGroup = 'Driver'` ve tip `Penalty` /`Accident` dı şı |
| Şoför › Cezalar | `DocumentType = 'Penalty'` |
| Şoför › Kazalar | `DocumentType = 'Accident'` |
---
## 6. Yetki ve görünürlük
İzin grubu `App.Hr` , modül `Sas|Hr` . Yetki ağacı menüyü izler: `App.Hr.Vehicles` ara yetkisinin
altı nda yedi ekranı n kökü + `.Create/.Update/.Delete/.Export/.Import/.Note` ; alt formlar (`VehicleFile`,
`DriverDocument` , `DriverPenalty` , `DriverAccident` , `VehicleExpenseLine` ) ana ekranları nı n altı ndadı r.
Satı r süzmesi yoktur. Hiçbir yetki role otomatik atanmaz.
| Rol | Yetkiler |
| --- | --- |
| Filo sorumlusu | `App.Hr.Vehicles` dalı nı n tamamı |
| Güvenlik | `App.Hr.VehicleMovement` (+ `.Create/.Update` ) |
| Muhasebe (masraf) | `App.Hr.VehicleExpense` , `App.Hr.VehicleExpenseLine` |
---
## 7. Entegrasyonlar
| Kaynak | Kullanı m |
| --- | --- |
| `Sas_T_Branch` | Aracı n tesisi; hareketin çı kı ş/giriş şubesi |
| `AbpUsers` | Şoför, gönderen personel, güvenlik personeli, kullanan personel |
Bildirim, zamanlanmı ş iş ya da rapor şablonu yoktur.
---
## 8. Akı ş örneği
1. Filo sorumlusu **Araçlar** 'a "34 ABC 123"ü girer (şube Merkez, km 45.000, muayene/sigorta bitiş
tarihleri); **Belgeler** sekmesine ruhsat ve trafik sigortası nı yükler.
2. **Şoför Tanı mlama** 'da personeli şoför yapar, aracı zimmet 1'e bağlar; sürücü belgesini yükler.
3. Güvenlik **Araç Giriş-Çı kı ş Takip** 'te yeni kayı t açar: tarih/saat dolar, araç seçilince çı kı ş
km 45.000 olur; kullanan personel ve gidilen yer seçilir → araç **Dı şarı da** .
4. Dönüşte giriş km'si (45.180) girilir → durum Şirkette, yapı lan km 180, süre dakika olarak hesaplanı r.
5. Yakı t faturası **Masraf Girişleri** 'ne başlı k + kalem (yakı t, 40 lt × 45 ₺) olarak girilir.
6. Gelen hı z cezası şoförün **Cezalar** sekmesine tutar ve belgeyle eklenir.
---
## 9. Sı k sorulanlar ve bilinen sı nı rlar
**Plakası aynı iki araç girilebiliyor mu?** Evet; tabloda tekil kı sı t yoktur.
**Muayene/sigorta bitişi yaklaşı nca uyarı geliyor mu?** Hayı r; tarihler yalnı zca kayı ttadı r.
Hatı rlatma için zamanlanmı ş iş + bildirim tipi eklenmelidir (yok).
**Bir şoföre 5'ten fazla araç zimmetlenebilir mi?** Hayı r; kolonlar sabittir.
**Masraf girişindeki "Firma Adı " neden Gidilecek Yerler'den geliyor?** Masraf firması ayrı bir
tanı m olarak açı lmamı ş, gidilecek yer tanı mı kullanı lmı ştı r.
**Kontrol edilmeli — dönüş güncellemeyle girildiğinde araç/şoför güncellenmiyor.** Giriş– çı kı ş
ekranı nda yalnı zca insert ve delete sonrası komut vardı r. Çı kı ş kaydı açı lı p dönüş **aynı kaydı
düzenleyerek** girildiğinde aracı n `Status` /`CurrentKm`'si ve şoförün `TotalKm` 'si güncellenmez
(bir sonraki ekleme ya da silmeye kadar).
**Kontrol edilmeli — yalnı z çı kı ş girilen kayı tta aracı n km'si.** Formda `EntryKm` varsayı lanı
`0` 'dı r. Insert sonrası komut `@EntryKm` boş değilse aracı n `CurrentKm` 'sini ona eşitler. Giriş km
temizlenmeden kaydedilen bir çı kı ş kaydı aracı n km'sini 0'a çekebilir.
---
## 10. Dosyalar ve geri alma
| Dosya | İçerik |
| --- | --- |
2026-10-05 12:58:59 +00:00
| `configs/seeds/sql/object/Hr_T_{VehicleDocument,Vehicle,VehicleFile,VehicleDestination,Driver,DriverDocument,DriverPenalty,DriverAccident,VehicleExpenseDefinition,VehicleExpense,VehicleExpenseLine,VehicleMovement}.sql` | Tablolar |
| `configs/seeds/wizard/{VehicleDocument,Vehicle,VehicleFile,VehicleDestination,Driver,DriverDocument,DriverPenalty,DriverAccident,VehicleExpenseDefinition,VehicleExpense,VehicleExpenseLine,VehicleMovement}.json` | 12 wizard |
| `configs/seeds/data/App.Hr.{VehicleDocument,VehicleExpenseDefinition}.json` | Tanı m verisi |
| `configs/seeds/data/App.Menus.Menu.json` , `Abp.Identity.Permissions.json` , `App.Languages.LanguageText.json` | Menü, yetki, dil satı rları |
2026-10-04 15:04:16 +00:00
Kurulum: DB Migrate. Geri alma: Wizard Manager'dan alt formlar önce, ana ekranlar sonra silinir;
tablolar yalnı zca onayda seçilirse düşer.
<!-- module - doc:auto:begin -->
## Ek — Ekran envanteri (otomatik)
> Wizard dosyaları ndan üretilir; deploy, silme, tasarı mcı kaydı ve import'ta yenilenir. Elle düzenleme bir sonraki yenilemede kaybolur.
### Araç Belgeleri — `App.Hr.VehicleDocument`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/VehicleDocument.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Hr.Vehicles` › `App.Hr.VehicleDocument` (sı ra 1) |
| Yetki | `App.Hr.VehicleDocument` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Araç Belgeleri — araç ve şoför kayı tları nda kullanı lan belge tanı mları (ruhsat, sigorta, muayene, MTV, OGS/HGS, ehliyet, psikoteknik, ceza ve kaza belgeleri). |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_VehicleDocument` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Form varsayı lanları | IsActive=true |
| Veri aynası | `data/App.Hr.VehicleDocument.json` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `DocumentGroup` | Belge Grubu | dxSelectBox | ✓ | ✓ | liste: Vehicle, Driver |
| `DocumentType` | Belge Tipi | dxSelectBox | ✓ | ✓ | liste: Insurance, Document, Tax, Toll, Inspection, Maintenance, Penalty, Accident |
| `Name` | Belge Adı | dxTextBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-04 21:18:13 +00:00
### Masraf Tanı mlama — `App.Hr.VehicleExpenseDefinition`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/VehicleExpenseDefinition.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Hr.Vehicles` › `App.Hr.VehicleExpenseDefinition` (sı ra 2) |
| Yetki | `App.Hr.VehicleExpenseDefinition` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Masraf Tanı mlama — araç masraf kalemleri (sigorta, vergi, bakı m, muayene, geçiş, ceza, yakı t…). |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_VehicleExpenseDefinition` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Form varsayı lanları | IsActive=true |
| Veri aynası | `data/App.Hr.VehicleExpenseDefinition.json` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `ExpenseType` | Masraf Tipi | dxTextBox | ✓ | ✓ | |
| `Name` | Masraf Adı | dxTextBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
### Gidilecek Yerler — `App.Hr.VehicleDestination`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/VehicleDestination.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Hr.Vehicles` › `App.Hr.VehicleDestination` (sı ra 3) |
| Yetki | `App.Hr.VehicleDestination` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Gidilecek Yerler — araçlarla gidilen tanı mlı yerler ve uzaklı kları . |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_VehicleDestination` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total` , `App.Widget.Active` , `App.Widget.Passive` |
| Form varsayı lanları | IsActive=true |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Gidilecek Yerin Adı | dxTextBox | ✓ | ✓ | |
| `Distance` | Uzaklı ğı (km) | dxNumberBox | | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-04 15:04:16 +00:00
### Araçlar — `App.Hr.Vehicle`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Vehicle.json` |
| Yol | Liste (Wizard) |
2026-10-04 21:18:13 +00:00
| Menü | `App.Hr.Vehicles` › `App.Hr.Vehicle` (sı ra 4) |
2026-10-04 15:04:16 +00:00
| Yetki | `App.Hr.Vehicle` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Araçlar — şubeye ait şirket araçları , anlı k durumu (şirkette/dı şarı da), güncel km'si ve muayene/sigorta tarihleri. |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_Vehicle` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alt formlar | `App.Hr.VehicleFile` (Id → VehicleId) |
| Widget'lar | `App.Widget.Total` , `App.Hr.Vehicle.Widget.Arrived` , `App.Hr.Vehicle.Widget.Left` , `App.Widget.Passive` |
| Form varsayı lanları | IsActive=true |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `BranchId` | Tesis Adı | dxSelectBox | ✓ | ✓ | sorgu: Sas_T_Branch |
| `Name` | Araç Adı | dxTextBox | ✓ | ✓ | |
| `Brand` | Markası | dxTextBox | | ✓ | |
| `Model` | Modeli | dxTextBox | | ✓ | |
| `BodyType` | Cinsi | dxTextBox | | ✓ | |
| `UsagePlace` | Kullanı ldı ğı Yer | dxTextBox | | ✓ | |
| `RegistrationDate` | Tescil Tarihi | dxDateBox | | ✓ | |
| `PlateNumber` | Plakası | dxTextBox | ✓ | ✓ | |
| `Status` | Durumu | dxSelectBox | | ✓ | liste: Arrived, Left |
| `CurrentKm` | Araç Km'si | dxNumberBox | | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
| `InspectionStart` | Muayene Başlangı ç | dxDateBox | | ✓ | |
| `InspectionEnd` | Muayene Bitiş | dxDateBox | | ✓ | |
| `InsuranceStart` | Sigorta Başlangı ç | dxDateBox | | ✓ | |
| `InsuranceEnd` | Sigorta Bitiş | dxDateBox | | ✓ | |
| `EmissionStart` | Egzoz Muayene Başlangı ç | dxDateBox | | ✓ | |
| `EmissionEnd` | Egzoz Muayene Bitiş | dxDateBox | | ✓ | |
| `TachographStart` | Takograf Kalib. Başlangı ç | dxDateBox | | ✓ | |
| `TachographEnd` | Takograf Kalib. Bitiş | dxDateBox | | ✓ | |
### Şoför Tanı mlama — `App.Hr.Driver`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Driver.json` |
| Yol | Liste (Wizard) |
2026-10-04 21:18:13 +00:00
| Menü | `App.Hr.Vehicles` › `App.Hr.Driver` (sı ra 5) |
2026-10-04 15:04:16 +00:00
| Yetki | `App.Hr.Driver` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Şoför Tanı mlama — şirket araçları nı kullanan personel, zimmetli araçları ve sürüş geçmişi. |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_Driver` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alt formlar | `App.Hr.DriverDocument` (Id → DriverId), `App.Hr.DriverPenalty` (Id → DriverId), `App.Hr.DriverAccident` (Id → DriverId) |
| Widget'lar | `App.Widget.Total` , `App.Hr.Driver.Widget.WithVehicle` , `App.Hr.Driver.Widget.TotalKm` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `UserId` | Sicil No / Adı Soyadı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
| `Vehicle1Id` | Zimmetli Araç 1 | dxSelectBox | | ✓ | sorgu: Hr_T_Vehicle |
| `Vehicle2Id` | Zimmetli Araç 2 | dxSelectBox | | ✓ | sorgu: Hr_T_Vehicle |
| `Vehicle3Id` | Zimmetli Araç 3 | dxSelectBox | | ✓ | sorgu: Hr_T_Vehicle |
| `Vehicle4Id` | Zimmetli Araç 4 | dxSelectBox | | ✓ | sorgu: Hr_T_Vehicle |
| `Vehicle5Id` | Zimmetli Araç 5 | dxSelectBox | | ✓ | sorgu: Hr_T_Vehicle |
| `TotalKm` | Yapı lan KM | dxNumberBox | | ✓ | |
### Araç Giriş-Çı kı ş Takip — `App.Hr.VehicleMovement`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/VehicleMovement.json` |
| Yol | Liste (Wizard) |
2026-10-04 21:18:13 +00:00
| Menü | `App.Hr.Vehicles` › `App.Hr.VehicleMovement` (sı ra 6) |
2026-10-04 15:04:16 +00:00
| Yetki | `App.Hr.VehicleMovement` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Araç Giriş-Çı kı ş Takip — güvenliğin tuttuğu araç hareket defteri: araç şirketten ne zaman, kimle, hangi km ile çı ktı , ne zaman döndü. |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_VehicleMovement` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total` , `App.Hr.Vehicle.Widget.Left` , `App.Widget.Today` |
| Komutlar | InsertAfter: SQL · DeleteAfter: SQL |
| Form varsayı lanları | EntryKm=0 |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `MovementNo` | Hareket No | dxNumberBox | | | |
| `ExitDate` | Çı kı ş Tarihi | dxDateBox | ✓ | ✓ | script |
| `BranchId` | Çı kı ş Şube | dxSelectBox | | ✓ | sorgu: Sas_T_Branch |
| `ExitTime` | Çı kı ş Saati | dxTextBox | ✓ | ✓ | script |
| `ExitKm` | Çı kı ş Km | dxNumberBox | ✓ | ✓ | script |
| `SenderUserId` | Gönderen Personel | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `SecurityUserId` | Güvenlik Personeli | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `DriverUserId` | Kullanan Personel | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
| `VehicleId` | Araç Adı / Plaka | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Vehicle · script |
| `DestinationId` | Gidilen Yer | dxSelectBox | | ✓ | sorgu: Hr_T_VehicleDestination |
| `Reason` | Gidiş Sebebi | dxTextBox | | ✓ | |
| `Location` | Konum | dxTextBox | | ✓ | |
| `EntrySecurityUserId` | Giriş Yapan Güvenlik Per. | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `EntryDate` | Giriş Tarihi | dxDateBox | | ✓ | script |
| `EntryBranchId` | Giriş Şube | dxSelectBox | | ✓ | sorgu: Sas_T_Branch |
| `EntryTime` | Giriş Saati | dxTextBox | | ✓ | script |
| `EntryKm` | Giriş Km | dxNumberBox | | ✓ | script |
| `TravelledKm` | Yapı lan Km | dxNumberBox | | ✓ | |
| `Status` | Durum | dxSelectBox | | ✓ | liste: Arrived, Left |
| `DurationMinutes` | Gezinti Süresi / Dk | dxNumberBox | | ✓ | |
| `ExpectedKm` | Olması Gereken Km | dxNumberBox | | ✓ | |
2026-10-04 21:18:13 +00:00
### Masraf Girişleri — `App.Hr.VehicleExpense`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/VehicleExpense.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Hr.Vehicles` › `App.Hr.VehicleExpense` (sı ra 7) |
| Yetki | `App.Hr.VehicleExpense` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Masraf Girişleri — araç için gelen her fatura/fiş: başlı k bilgileri ve kalemleri. |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_VehicleExpense` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alt formlar | `App.Hr.VehicleExpenseLine` (Id → VehicleExpenseId) |
| Widget'lar | `App.Widget.Total` , `App.Widget.Today` , `App.Widget.TotalRevenue` |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `VehicleId` | Araç Adı | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Vehicle |
| `InvoiceNo` | Fatura No | dxTextBox | ✓ | ✓ | |
| `InvoiceDate` | Fatura Tarihi | dxDateBox | ✓ | ✓ | script |
| `DestinationId` | Firma Adı | dxSelectBox | | ✓ | sorgu: Hr_T_VehicleDestination |
| `VehicleDocumentId` | Belge Adı | dxSelectBox | | ✓ | sorgu: Hr_T_VehicleDocument |
| `FileName` | Dosya Adı | dxTextBox | | ✓ | |
| `FileContent` | Dosya | dxImageUpload | | ✓ | |
2026-10-04 15:04:16 +00:00
### Araç Belgeleri — `App.Hr.VehicleFile`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/VehicleFile.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Hr.VehicleFile` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Araç Dosyaları — araca yüklenen belgeler (ruhsat, poliçe, muayene raporu…). |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_VehicleFile` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `VehicleId` | Araç | dxSelectBox | | | sorgu: Hr_T_Vehicle |
| `VehicleDocumentId` | Belge Adı | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_VehicleDocument |
| `FileName` | Dosya Adı | dxTextBox | ✓ | ✓ | |
| `FileContent` | Dosya | dxImageUpload | ✓ | ✓ | |
### Şoför Belgeleri — `App.Hr.DriverDocument`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/DriverDocument.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Hr.DriverDocument` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Şoför Belgeleri — şoföre ait belgeler (sürücü belgesi, psikoteknik, SRC…). |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_DriverDocument` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `DriverId` | Şoför | dxSelectBox | | | sorgu: Hr_T_Driver |
| `VehicleDocumentId` | Belge Adı | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_VehicleDocument |
| `FileName` | Dosya Adı | dxTextBox | ✓ | ✓ | |
| `FileContent` | Dosya | dxImageUpload | ✓ | ✓ | |
### Ceza Belgeleri — `App.Hr.DriverPenalty`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/DriverPenalty.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Hr.DriverPenalty` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Şoför Cezaları — şoföre kesilen trafik cezaları . |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_DriverPenalty` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `DriverId` | Şoför | dxSelectBox | | | sorgu: Hr_T_Driver |
| `PenaltyDate` | Ceza Tarihi | dxDateBox | ✓ | ✓ | |
| `Amount` | Tutarı | dxNumberBox | | ✓ | |
| `Description` | Ceza Açı klama | dxTextBox | | ✓ | |
| `VehicleDocumentId` | Belge Adı | dxSelectBox | | ✓ | sorgu: Hr_T_VehicleDocument |
| `FileName` | Dosya Adı | dxTextBox | | ✓ | |
| `FileContent` | Dosya | dxImageUpload | | ✓ | |
### Kaza Belgeleri — `App.Hr.DriverAccident`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/DriverAccident.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Hr.DriverAccident` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Şoför Kazaları — şoförün karı ştı ğı trafik kazaları ve belgeleri. |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_DriverAccident` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `DriverId` | Şoför | dxSelectBox | | | sorgu: Hr_T_Driver |
| `AccidentDate` | Kaza Tarihi | dxDateBox | ✓ | ✓ | |
| `VehicleDocumentId` | Belge Adı | dxSelectBox | | ✓ | sorgu: Hr_T_VehicleDocument |
| `Description` | Kaza Açı klama | dxTextBox | | ✓ | |
| `FileName` | Dosya Adı | dxTextBox | | ✓ | |
| `FileContent` | Dosya | dxImageUpload | | ✓ | |
### Masraf Kalemleri — `App.Hr.VehicleExpenseLine`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/VehicleExpenseLine.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Hr.VehicleExpenseLine` + `.Create` , `.Update` , `.Delete` , `.Export` , `.Import` , `.Note` |
| Açı klama | Masraf Kalemleri — bir masraf faturası nı n satı rları . |
| Geliştirme talebi | Human Resources -> Araçlar |
| Kaynak | `Hr_T_VehicleExpenseLine` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açı lı ş grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alan | Başlı k | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `VehicleExpenseId` | Masraf Girişi | dxTextBox | | | |
| `ExpenseDefinitionId` | Masraf Adı | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_VehicleExpenseDefinition |
| `DetailName` | Masraf Detay Adı | dxTextBox | | ✓ | |
| `Quantity` | Miktar | dxNumberBox | ✓ | ✓ | script |
| `Amount` | Tutarı | dxNumberBox | ✓ | ✓ | script |
| `DiscountRate` | İskonto Oranı (%) | dxNumberBox | ✓ | ✓ | script |
| `NetAmount` | Net Tutar | dxNumberBox | ✓ | ✓ | |
| `Description` | Masraf Açı klama | dxTextBox | | ✓ | |
<!-- module - doc:auto:end -->