Kaynak: KB-v1
06_Workflows/WF-HIZMET-NORMAL.md(2026-09-10, kısmi kod kapsamı). Bu makale artık kanoniktir; KB-v1 kopyası22_Archive'da referanstır.
Hizmet / masraf kaydı — NORMAL
Kimlik: WF-HIZMET-NORMAL · Modül: MOD-CARI · Kim: END_USER · Güven: HIGH · Gerçeklik: AS-IMPLEMENTED
Ne zaman başlar
Kargo, ayar ücreti, komisyon gibi mal hareketi olmayan kalem hesaba yazılacağında
Ön koşullar
- Cari İşlemler (Ctrl+F) sekmesinde hesap seçilip TAMAM denmiş; şube, kasa ve hesap dolu (aksi hâlde "Sube,Kasa veya Hesap Seçili Değil. İşlem Yapamazsınız.")
- Hesap aktif (pasif hesapta işlem düğmeleri kapalıdır: "Hesap Pasif İşlem Yapamazsınız.")
- Kullanıcı grubunda ilgili ekran yetkisi açık; şube pasif değil (tetik: "SUBE PASIF HALDE. ISLEM YAPAMAZSINIZ...")
- Hesabın zorunlu evrakları eksik değil (tetik: "BU HESABIN ZORUNLU EVRAKLARI EKSIKTIR. ISLEM YAPAMAZSINIZ.")
- Hizmet kartı tanımlı; kullanıcı grubunda Hizmet yetkisi
Adımlar
| # | Ekran | Kullanıcı ne yapar | Sistem ne yapar | Tablolar |
|---|---|---|---|---|
| 1 | CARİ İŞLEMLER (ana ekran) | Cari İşlemler'de Hesap Adı seçilir, Kasa ve Tarih kontrol edilir, TAMAM (Enter) basılır | Bakiye kartı ve üst bilgi paneli yüklenir; bir sonraki fiş numarası (Fiş :) gösterilir | Cari.Hesaplar, Cari.BakiyeIslem |
| 2 | HİZMET | 7 - HİZMET; İŞLEM GİRİŞ (masraf) / ÇIKIŞ (gelir); tip NORMAL; HİZMET kartı, GRUP, KATEGORİ | Tip değişince BİRİM listesi yenilenir ve ilk eleman seçilir; tip varsayılanı DFIslemTipi | Stok.Hizmet |
| 3 | HİZMET | TUTAR, BİRİM, gerekirse KUR(HAS), AÇIKLAMA | HAS=(TUTAR×birim TL kuru)÷KUR(HAS) yalnız bilgi amaçlı; FİYAT=TUTAR; vade=tarih+2 | Sistem.Kurlar |
| 4 | HİZMET | F2 - KAYIT (veya F2) basılır; onay sorusuna EVET denir | Save(): şube/kasa/hesap kontrolü → miktar kontrolü → (maden/hurda/nakit çıkışta) limit kontrolü → Cari.Islemler'e INSERT; AcceptTransaction tetiği Cari.BakiyeIslem ve Stok.StokHaraketleri satırlarını türetir. HİZMET'te Save miktar kontrolü Tutar=0 için "İşlem Yapabilmek için Miktar Girmelisiniz." verir; HİZMET boşsa mesajsız çıkış. | Cari.Islemler, Cari.BakiyeIslem, Stok.StokHaraketleri |
| 5 | HİZMET | Ekran temizlenir; HİZMET, GRUP, KATEGORİ, BİRİM seçimi kalır, KUR(HAS) boşalır | OnInsert/OnUpdate olayı iScreen listesini yeniler (ListRefresh); FormClear çalışır | Cari.Islemler |
Sonuç (bakiye / stok / kasa)
- Cari bakiye: BİRİM'de TUTAR (GİRİŞ alacak / ÇIKIŞ borç)
- Stok ve kasa değişmez; Satis=TUTAR×kur
- Kategori sütununda GRUP, Kategori2'de KATEGORİ
Varyantlar
- PEŞİN: yalnız nakit birimleri; kasa ✓ bakiye ✗
- İADE: ters yönlü düzeltme
- RESMİ: fatura tipli (IslemTipi=11) saklanır; bakiye/stok dışı; düzeltmede tip doğru gelmeyebilir
Uyarı mesajları
- "İşlem Yapabilmek için Miktar Girmelisiniz. (TUTAR kastedilir)"
- "Lütfen Tutar Giriniz."
- "Karşı Hesaba Transfer Edilemedi…"
- "Geçmiş Tarihe İşlem Giriyorsunuz. Devam Etmek İstiyormusunuz ? (varsayılan HAYIR; resmi kasada sorulmaz)"
- "Sube,Kasa veya Hesap Seçili Değil. İşlem Yapamazsınız."
İlgili kurallar
Kaynaklar
- SRC-DRV-AZ —
az/ekran-C.md— bölüm 5.13.3 - SRC-DRV-AZ —
az/ekran-C.md— bölüm 5.13.5 - SRC-DRV-AZ —
az/ekran-C.md— bölüm 5.13.6 - SRC-CODE-EKRAN —
ekran/Ekran/iFHizmet.vb— satır 102 - SRC-CODE-EKRAN —
ekran/Ekran/iFHizmet.vb— satır 51 - SRC-CODE-DAO —
dao/Dao/Islem/Cari.Islem.vb— satır 513 - SRC-CODE-EXT —
ext/Ext/Cari.IslemEx.vb— satır 176
