Kaynak: KB-v1
06_Workflows/WF-NAKIT-PESIN-DOVIZ-SATIS.md(2026-09-10, kısmi kod kapsamı). Bu makale artık kanoniktir; KB-v1 kopyası22_Archive'da referanstır.
Döviz satışı — PEŞİN, BSMV'li (kasa hareketi)
Kimlik: WF-NAKIT-PESIN-DOVIZ-SATIS · Modül: MOD-CARI · Kim: END_USER · Güven: HIGH · Gerçeklik: AS-IMPLEMENTED
Ne zaman başlar
Müşteriye döviz satılıp TL'si anında alındığı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.")
- Şubede BSMV tanımlı ise H/E kutusu görünür (Settings.BSMV≠0)
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 | NAKİT | 5 - NAKİT; ÇIKIŞ; tip PEŞİN; KODU=USD, MİKTAR; BİRİM=TL (liste nakit stokları, KODU hariç) | FİYAT kur listesinden; PEŞİN'de TutarBirim Stok.Nakit üzerinden çözülür | Stok.Nakit, Sistem.Kurlar |
| 3 | NAKİT | H / E kutusunda E seçilir; VERGİ alanı görünür | BSMV=net×BSMV‰/1000; TUTAR=net+BSMV (BSMVTipi=Haric iken); satıra BSMV ayrı yazılır | Sistem.Settings |
| 4 | NAKİT | 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. | Cari.Islemler, Cari.BakiyeIslem, Stok.StokHaraketleri |
| 5 | NAKİT | Satır işlem listesine düşer, bakiye kartı yenilenir; yeni kayıtta ekran temizlenip açık kalır, düzeltmede ekran kapanır | OnInsert/OnUpdate olayı iScreen listesini yeniler (ListRefresh); FormClear çalışır | Cari.Islemler |
Sonuç (bakiye / stok / kasa)
- Cari bakiye: değişmez
- Kasa: KODU'da −MİKTAR, BİRİM'de +TUTAR
- Kısaltma NCP
Varyantlar
- GİRİŞ PEŞİN (NGP): döviz alışı, kasa KODU +, TL −
- BSMV yalnız satış (ÇIKIŞ) tarafında; TUTAR'a elle dokunulursa geriye hesapta BSMV brütten düşülür (kuruş kayması)
Uyarı mesajları
- "Lütfen Tutar Giriniz."
- "Satım Fiyatınız X Fiyattan %Y farklı…"
- "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."
- "İşlem Yapabilmek için Miktar Girmelisiniz."
İlgili kurallar
Kaynaklar
- SRC-DRV-AZ —
az/ekran-A.md— bölüm 5.3.3-C - SRC-DRV-AZ —
az/ekran-A.md— bölüm 5.3.4-b - SRC-CODE-EKRAN —
ekran/Ekran/iFNakit.vb— satır 15 - SRC-CODE-EKRAN —
ekran/Ekran/iFNakit.vb— satır 449 - SRC-CODE-EKRAN —
ekran/Ekran/iFNakit.vb— satır 460 - SRC-DRV-KITAPCIK —
kitapcik/01-yapi.md— bölüm 1.7
