Sınıf: FrmKasaEkle · Modül: MOD-SISTEM · Türetildiği: ERPPRO.FormEditBase · Yaşam döngüsü: ACTIVE_CRITICAL · Kapsam: ERPGOLD_CORE
Nedir?
Kasa (vezne/gişe) tanımlama ekranıdır; bir şirket ▸ şube altına kasa açar ve Sistem.Kasalar'a yazar [SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Sistem/FrmKasaEkle.vb:1-33] [DB_OBJECT:Sistem.Kasalar]. ERPGOLD'da stok kasa düzeyinde tutulur (her nakit/maden hareketi bir kasaya düşer), cari bakiye ise kasaya bölünmez [DOCUMENT:kitap#6.3 Sistem.Kasalar] [DOCUMENT:18_Glossary/TERM-KASA.md]. Resmi Kasa anahtarı kasayı resmi (faturalı) tarafa ayırır: resmi kasada geçmiş tarih uyarısı sorulmaz, hesap listesinde resmi unvan gösterilir, "Fiş No ile iptal" düğmesi görünür ve hurda ekranı FATURA tipiyle açılır [DOCUMENT:06_Workflows/WF-KASA-TANIMLAMA.md] [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-kasa-resmikasa] [BUSINESS_RULE:BR-TIP-010]. Yeni şube açıldığında tetikleyici o şubeye otomatik ANAKASA açar; bu ekran ek kasalar içindir [BUSINESS_RULE:BR-KASA-005].
Ne zaman kullanılır?
- Şubeye ikinci kasa (ör. ikinci banko, kasa görevlisi başına kasa) eklenirken [PROCESS:PROC-34].
- Resmi işlemler için resmi kasa açılırken / mevcut kasa resmi yapılırken [PROCESS:PROC-166] [DOCUMENT:12_Support/KnownIssues/H-024.md].
- Kullanıcıya kasa atanmadan önce (kullanıcı tanımında şube-kasa satırı bu listeden seçilir) [SCREEN:SCR-FRMKULLANICIEKLE].
Adım adım kullanım
- ANA MENÜ ▸ Tanımlamalar ▸ Sistem Tanimlari ▸ Kasa Tanımlama; sol menü: YENİ KAYIT / KAYIT DÜZELT / KAYIT SİL / KAYIT TAZELE / YAZDIR / KAPAT [PROCESS:PROC-34].
- YENİ KAYIT → Sirket / Sube: önce şirket, sonra o şirketin şubesi seçilir (şirket değişince şube listesi yenilenir) [SOURCE_CODE:FrmKasaEkle.vb:9-13].
- Kodu (kasa adı, en çok 10 karakter —
nvarchar(10)) ve Acıklama yazılır. - Resmi kasa ise Resmi Kasa anahtarı OFF → ON [PROCESS:PROC-34 adım 4].
- Kayıt; Ctrl+F5 ile sistem yenilenir [DOCUMENT:12_Support/Playbooks/PB-039.md].
- Resmi kasayı doldurmak için DEVİR carisinden NAKİT – GİRİŞ – MAHSUP – birim işlemi yapılır ve nakit stokları kontrol edilir [PROCESS:PROC-166] [DOCUMENT:06_Workflows/WF-ACILIS-STOK-DEVIR-HESABI.md].
- Kullanıcıya atama: KULLANICI TANIMLAMA ▸ şube-kasa-grup satırı.
Alanların anlamı
| Ekran etiketi | İş anlamı (kolon, Sistem.Kasalar) |
|---|---|
| Sirket / Sube | Kasanın bağlı olduğu şirket ve şube (SirketId, SubeId); stok listeleri şube+kasa ile süzülür |
| Kodu | Kasa adı; işlem üst bilgisinde ve stok listelerinde görünür (Kodu, 10 karakter) |
| Acıklama | Uzun ad (Aciklama) |
| Resmi Kasa | Belge uyum işareti (ResmiKasa bit; legacy etiket: resmi/gayri resmi) → LoginInformation.Kasa.ResmiKasa / Program.IsResmi |
Kolon anlamları kitapçık §6.3'ten [DOCUMENT:kitap#6.3 Sistem.Kasalar].
Hesaplama / doğrulama mantığı
- Ekranda doğrulama mesajı yoktur. KAYIT SİL yumuşak silmedir (
IsDeleted); hareketi olan kasanın silinmesini kod engellemez — GAP: DAOAIO.Sistem.Kasa.DeleteAtiçinde hareket kontrolü olup olmadığı okunmadı. - Kasasız şubede işlem denenirse "Sube,Kasa veya Hesap Seçili Değil. İşlem Yapamazsınız." [BUSINESS_RULE:BR-KASA-003] [DOCUMENT:06_Workflows/WF-KASA-TANIMLAMA.md#uyarı-mesajları].
- Kullanıcının kasa kilidi (
UserDetails.IsLocked) açıksa işlem ekranlarında KASA kutusu değiştirilemez [BUSINESS_RULE:BR-KASA-001].
Stok / bakiye / rapor etkisi
Defter etkisi yok — tanım ekranı. Ancak kasa, stok defterinin (Stok.StokHaraketleri.KasaId) kırılımıdır: yanlış kasadan yapılan işlem stok listesinde o kasada görünür ve DÜZELT ile kasa değiştirilemez — iptal edilip doğru kasadan girilir ya da kasalar arası transfer yapılır [DOCUMENT:12_Support/KnownIssues/H-113.md] [SCREEN:SCR-FRMTRANSFER].
Sık yapılan kullanıcı hataları
- Resmi işlemler çalışmıyor, "resmi" bölüm boş — şube/kasa resmi işaretlenmemiş [DOCUMENT:12_Support/KnownIssues/H-024.md] [DOCUMENT:12_Support/Playbooks/PB-042.md].
- Stok listesi boş ya da eksik — yanlış kasa seçili [DOCUMENT:12_Support/KnownIssues/H-113.md] [DOCUMENT:12_Support/Playbooks/PB-037.md].
- "Sube,Kasa veya Hesap Seçili Değil…" — kullanıcıya kasa atanmamış [DOCUMENT:12_Support/KnownIssues/H-037.md] [DOCUMENT:12_Support/Playbooks/PB-045.md].
- Perakendede kasa değiştiremiyorum — kullanıcı kasa kilidi [DOCUMENT:12_Support/KnownIssues/H-090.md].
- Tanımladım ama listede yok — Ctrl+F5 [DOCUMENT:12_Support/Playbooks/PB-039.md].
İlgili ticket temaları
- PRB-TANIMLAMA-000, PRB-FATURA-000 (resmi kasa); zincirler SYM-TANIMLAMA, SYM-FATURA.
- Playbook'lar: PB-042, PB-037.
Müşteri varyasyonları
Bilinen ekran farkı yok. Kasa sayısı kuruluma göre değişir (V2 örnek DB'de 26 kasa) [DOCUMENT:kitap#6.3 Sistem.Kasalar].
Kim kullanır? Nereden açılır?
- ANA MENÜ ▸ Tanımlamalar ▸ Sistem Tanimlari ▸ Kasa Tanımlama
- Liste ekranındaki Ekle/Düzenle:
AIO.Sistem.Kasa.FormEditBase→ bu form
Yaşam döngüsü kanıtı
ACTIVE_CRITICAL — ANA MENÜ: Tanımlamalar ▸ Sistem Tanimlari ▸ Kasa Tanımlama; DAO FormEditBase hedefi: AIO.Sistem.Kasa
Alanlar → veritabanı
| Ekrandaki alan | Kontrol | Tablo.Kolon | Yön |
|---|---|---|---|
| Sirket / Sube | CmbSirket |
Sistem.Kasalar.SirketId |
yaz |
| Sirket / Sube | CmbSube |
Sistem.Kasalar.SubeId |
yaz |
| Kodu | TxtKodu |
Sistem.Kasalar.Kodu |
yaz |
| Acıklama | TxtAciklama |
Sistem.Kasalar.Aciklama |
yaz |
| Resmi Kasa | ToggleSwitch1 |
Sistem.Kasalar.ResmiKasa |
yaz |
Kullanıcı olayları
| Olay | Metot | Dosya:satır |
|---|---|---|
CmbSirket.EditValueChanged |
SirketDegisti |
FrmKasaEkle.vb:9 |
Okuduğu / yazdığı tablolar (kod içi SQL, statik)
| Tablo | Fiiller |
|---|---|
Sistem.Sirketler |
SELECT |
Sistem.Subeler |
SELECT |
Kullandığı DAO / iş sınıfları
Bilinen kusurlar / dikkat
- Dinamik SQL: 1 ifade — parametresiz birleştirme riski (TD-DYNAMIC-SQL).
Kaynaklar
SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Sistem/FrmKasaEkle.Designer.vbSOURCE_CODE:ERPPRO/Form/Tanımlamalar/Sistem/FrmKasaEkle.vbDERIVED:docs/knowledge-base/screens/FrmKasaEkle.md(KB-docs statik analiz)DERIVED:kb_src/erppro/scan.json(olay/SQL/çağrı)
Bilinmeyenler
- Hangi sürümde eklendiği: VERSION_UNKNOWN (GAP-CODE-VERSION-DATE).
