Kaynak: KB-v1
06_Workflows/WF-POS-VEZNE-FIS.md(2026-09-10, kısmi kod kapsamı). Bu makale artık kanoniktir; KB-v1 kopyası22_Archive'da referanstır.
ErpPosV2 dokunmatik vezne akışı ve POS.FisKaydet ile fiş yazma (Aşama 0)
Kimlik: WF-POS-VEZNE-FIS · Modül: MOD-POS · Kim: END_USER · Güven: MEDIUM · Gerçeklik: AS-IMPLEMENTED
Ne zaman başlar
Veznedar dokunmatik ekranda hesap seçip maden/hurda/nakit satırlarıyla fiş kesecekse
Ön koşullar
- ErpPosV2 aynı ERP veritabanına bağlı (InternalDb bağlantı dizesi [REDACTED_SECRET])
- POS şeması betikleri (00–05) uygulanmış; Cari.Islemler üzerinde AcceptTransaction tetiği AÇIK (demo DB'de kapalıydı)
Adımlar
| # | Ekran | Kullanıcı ne yapar | Sistem ne yapar | Tablolar |
|---|---|---|---|---|
| 1 | FrmLogin | Giriş | FrmLogin (mantık bu kaynaklarda asgari) | |
| 2 | FrmMainForm | Hesap seçilince bakiye kartı Bakiye.GetBakiye(0,HesapId,0); işlem listesi Cari.IslemListesi(0,HesapId,0,tarih1,tarih2) | Cari.Hesaplar, Cari.BakiyeIslem | |
| 3 | UiTransaction | Menü (NAKİT/MADEN/HURDA/VADELİ/HİZMET) → UiStockList'ten stok; Miktar, Milyem, Fiyat, Tutar, Birim; peşin işareti | Tutar=Round(Miktar×Fiyat,2); Fiyat=Round(Tutar÷Miktar,5); Milyem yalnız NAKİT dışı; stok listeleri Stok.Nakit / Stok.Maden(IsHurda) / Sistem.Vadeli / Stok.Hizmet | Stok.Maden, Stok.Nakit, Stok.Hizmet, Sistem.Vadeli |
| 4 | FrmMainForm | YENİ FİŞ / FİŞ BAS / FATURA BAS / İPTAL ET düğmeleri | UI katmanında Cari.Islemler'e yazan kod YOK ([GAP]); tasarlanan yol: banko.asmx → POS.FisKaydet(@KasaId,@HesapId,@UserId,@Satirlar TVP,…) → tek transaction, FisNo=NEXT VALUE FOR POS.FisNoSeq, doğrulama (trigger açık mı, kapsam IslemKodu 1/2/3, IslemTipi 0/1, stok/birim/miktar/tutar/arbitraj, HAS kuru), BSMV=Tutar×2/1002, karşı kayıt aynı FisNo+RefNo → Cari.Islemler INSERT → AcceptTransaction | Cari.Islemler, POS.FisKanal, POS.IzKaydi |
| 5 | FATURA | Fatura basımı | FrmFaturaBas kodu boş (2 satır) — [GAP] |
Sonuç (bakiye / stok / kasa)
- Tasarlanan: fiş satırları Cari.Islemler'de, bakiye/stok tetikle türetilmiş; POS.FisKanal'da kanal izi
- Mevcut UI: yalnız görüntüleme ve hesaplama doğrulanabildi
Varyantlar
- Mobil.CariIslem (mevcut mobil yol) tek satır, BSMV NULL yazar; POS.FisKaydet bunu düzeltir
Uyarı mesajları
- "Cari.AcceptTransaction trigger'i KAPALI. Bakiye ve stok turetilemez; fis yazilmadi."
- "v1 kapsami disi IslemKodu. Yalniz 1 (MADEN), 2 (HURDA), 3 (NAKIT)."
- "Hesap zorunlu. Gelen-gecen musteri icin perakende hesabinin Id'si verilmeli."
- "HAS kuru bulunamadi (tarih). Kur girilmeden islem yazilamaz."
- "PESIN satirda BirimId bir Stok.Nakit kaydi olmali."
İlgili kurallar
BR-POS-TRIGGER-ACIK-001- BR-GENEL-002
- BR-BSMV-001
Kaynaklar
- SRC-CODE-POS —
erppos/ErpPosV2/ErpPosV2/Form/FrmMainForm.vb— satır 22 - SRC-CODE-POS —
erppos/ErpPosV2/ErpPosV2/Form/FrmMainForm.vb— satır 34 - SRC-CODE-POS —
erppos/ErpPosV2/ErpPosV2/Form/FrmHesapSec.vb— satır 26 - SRC-CODE-POS —
erppos/ErpPosV2/ErpPosV2/Controls/Cusrtom/UiTransaction.vb— satır 40 - SRC-CODE-POSSQL —
pos/02_POS_FisKaydet.sql— satır 84 - SRC-CODE-POSSQL —
pos/02_POS_FisKaydet.sql— satır 117 - SRC-CODE-POSSQL —
pos/02_POS_FisKaydet.sql— satır 139 - SRC-CODE-POSSQL —
pos/00_POS_Kurulum.sql— satır 93
