AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › İş akışları › WF-POS-VEZNE-FIS

ErpPosV2 dokunmatik vezne akışı ve POS.FisKaydet ile fiş yazma (Aşama 0)

WORKFLOWMOD-POSPOS_VARIANTACTIVEMEDIUMDOCUMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

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 → FrmHesapSec (Id, HesapAdi, TCNo, VergiNo listesi, Türkçe normalize arama) 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

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