AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Ekranlar › SCR-GISEEKRANI

GiseEkrani

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

Sınıf: GiseEkrani · Modül: MOD-CARI · Türetildiği: DevExpress.XtraEditors.XtraForm · Yaşam döngüsü: ACTIVE_CRITICAL · Kapsam: ERPGOLD_CORE

Nedir?

Gise Ekrani — döviz bürosunun tezgâh (gişe) ekranı: cari hesap bakiyesi tutmadan, peşin ve TL karşılığı döviz ALIS / SATIS / TAHSILAT işlemlerini tek fişte toplar, kaydeder ve fiş/fatura basar [SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.vb:1-640] [DOCUMENT:kitap#4.4]. Sağ panelde şube PANO KURLARI (Sistem.DovizPanosu, alış/satış) canlı akar ve KASA sekmesinde kasanın nakit stoğu görünür; fiyat kaynağı zinciri pano → yoksa sistem kuru olup pano yoksa düşüş sessizdir [SOURCE_CODE:GiseEkrani.vb:70-84] [DOCUMENT:kitap#4.4] (CTR-008). Ekran, AIO.Parakende.Islem nesneleri üzerinden Cari.Islemler'e PEŞİN tipte satırlar yazar; her kaydedilen satır (RefNo) bir işlem kimliği alır [SOURCE_CODE:GiseEkrani.vb:520-533]. Aynı grupta ParakendeSatis (maden dahil perakende) ve HizliSatisEkrani vardır; bu ekran yalnız nakit kartlarıyla çalışır [SOURCE_CODE:GiseEkrani.vb:150-172].

Ne zaman kullanılır?

  • Tezgâhta gelen müşteriye döviz alım/satımı yaparken (hesap açmadan; "isimsiz" hesap ya da müşteri hesabı seçilerek) [DOCUMENT:kitap#4.4].
  • Parite (çapraz) işlemde: müşteri bir dövizi verip başka döviz alıyorsa (BIRIM ≠ TL) — iki satır üretilir [SOURCE_CODE:GiseEkrani.vb:415-470].
  • Müşteriden para tahsil ederken (TAHSILAT).
  • Gün içinde kasa nakit durumuna bakarken (KASA sekmesi 5 sn'de bir yenilenir — Timer1).

Adım adım kullanım

  1. ANA MENÜ ▸ Hesap Yonetimi ▸ Seri Islemler ▸ Gise Islemleri. Açılışta UNVAN (hesap) listesi şube hesaplarıyla dolar, USD kuru ve ISLEM TARIHI bugün, FISNO 0 [SOURCE_CODE:GiseEkrani.vb:19-40].
  2. UNVAN seçilir → işlem paneli açılır [SOURCE_CODE:GiseEkrani.vb:350-362]. Hesap, ilk satır eklendikten sonra kilitlenir (RowCount = 0 iken değiştirilebilir).
  3. ISLEM: ALIS (yeşil), SATIS (kırmızı; BSMV kutusu görünür, varsayılan EVET), TAHSILAT (sarı; yalnız kod ve miktar). KODU: TL dışı aktif nakit kartları (TAHSILAT'ta TL dahil) [SOURCE_CODE:GiseEkrani.vb:150-180].
  4. MIKTAR yazılır; BIRIM varsayılan TL — başka döviz seçilirse «KOD» KURU kutusu (pano alış/satışı) açılır ve işlem pariteye döner [SOURCE_CODE:GiseEkrani.vb:187-201]. FIYAT odaklanınca pano kurundan (ALIS'ta alış, SATIS'ta satış) dolar; TUTAR = Miktar × Fiyat (+BSMV) [SOURCE_CODE:GiseEkrani.vb:70-84,202-208]. TUTAR elle yazılırsa miktar/fiyat geri hesaplanır [SOURCE_CODE:GiseEkrani.vb:214-225].
  5. Ekle → satır ISLEM LISTESI'ne düşer; FIS BAKIYESI kutusu ALINACAK/ODENECEK toplamlarını gösterir; Vazgec alanları temizler [SOURCE_CODE:GiseEkrani.vb:481-509].
  6. F2 - Kaydet: FISNO 0 ise yeni fiş numarası alınır; kaydedilmemiş satırlar (RefNo=0, TAHSILAT hariç) hesap+oturum kasası+tarih ile Cari.Islemler'e yazılır [SOURCE_CODE:GiseEkrani.vb:520-533]. F1 - Fiş: kaydedip fişi basar; F5 - Fatura: kaydedip her satır için E-FATURA penceresini açar (ETTN listeye yazılır) [SOURCE_CODE:GiseEkrani.vb:535-577]. OTO TEMIZLE açıksa kayıt/basım sonrası F3 - Yeni Fiş otomatik çalışır.
  7. Iptal Et: kaydedilmemiş satır listeden düşer; kaydedilmiş satır için İşlem İptal yetkisi ve (ayara göre) PIN gerekir; "Seçili Satır İptal Edilecektir. Onaylıyormusunuz?" [SOURCE_CODE:GiseEkrani.vb:596-618] [BUSINESS_RULE:BR-IPTAL-013].
  8. TUM LISTE (F12): hesabın tüm gişe işlemlerini fiş no sütunuyla listeler; Ctrl+Enter seçili fişi açar, F1 fişi basar, Ctrl+Y faturasını basar; Esc kapatır [SOURCE_CODE:GiseEkrani.vb:276-294,375-397]. Transferler düğmesi TRANSFER penceresini açar.

Alanların anlamı

Ekran etiketi İş anlamı
UNVAN Cari hesap (Cari.Islemler.HesapId); perakende satırları bakiye üretmez ama hesap kimliği taşır [BUSINESS_RULE:BR-PERAKENDE-003]
ISLEM TARIHI / FISNO İşlem tarihi ve fiş numarası (Tarih, FisNo); fiş GetNewFisNo ile alınır [BUSINESS_RULE:BR-GENEL-002]
ISLEM ALIS=0 · SATIS=1 · TAHSILAT=2 (AIO.Parakende.Islem.Islem)
KODU Nakit kartı (StokId, Kodu) [SCREEN:SCR-FRMNAKITEKLE]
MIKTAR Döviz nominal miktarı (Miktar)
BIRIM Karşılık birimi; TL ise düz işlem, başka döviz ise parite (BirimId, Birim)
FIYAT Pano kuru (yön: ALIS→alış, SATIS→satış); yoksa sistem kuru (Fiyat) [BUSINESS_RULE:BR-KUR-005]
TUTAR / VERGI Tutar = Round(Miktar × Fiyat + BSMV, 2); BSMV = net × ayar‰ (yalnız SATIS, BSMV=EVET, ayar "Haric") (Tutar, Bsmv) [BUSINESS_RULE:BR-BSMV-001]
DOVIZ KURU / «KOD» KURU Paritede birinci dövizin TL kuru (TxtDovizKuru); USD kuru satıra UsdKur olarak yazılır [BUSINESS_RULE:BR-PERAKENDE-007]
BSMV (HAYIR/EVET) Vergi uygulansın mı [BUSINESS_RULE:BR-BSMV-002]
ISLEM LISTESI (Fis No, ETTN …) Fişteki satırlar; RefNo > 0 kaydedilmiş
FIS BAKIYESI (ALINACAK / ODENECEK) Fişin müşteriden alınacak / müşteriye ödenecek toplamları (IslemListesi.GetBakiye)
PANO KURLARI (ALIS / SATIS) / KASA (Kodu, Miktar) Şube pano fiyatları; kasa nakit stoğu (stok.GetNakitStoklari; resmi modda Muhasebe.Stoklar) — eksi stok kırmızı
F1 - Fiş / F2 - Kaydet / F3 - Yeni Fiş / F5 - Fatura / Iptal Et / Transferler / OTO TEMIZLE / TUM LISTE(F12) Eylemler

Hesaplama / doğrulama mantığı

  • Lütfen Miktar ve Tutar alanını Kontrol Ediniz. — miktar 0 ya da (TAHSILAT dışı) tutar 0 [SOURCE_CODE:GiseEkrani.vb:314-319].
  • Lütfen Kur Fiyatını Pano Aralığında A-B Giriniz. — ayar P.Fiyat Kitle = Pano Kuru iken fiyat pano alış–satış aralığı dışında (BIRIM TL'de) [SOURCE_CODE:GiseEkrani.vb:232-241,320-327] [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-fiyatkitle]; Acık ise FIYAT kutusu tamamen kilitlidir.
  • Lütfen Bir Hesap Seçiniz.. — hesap boş. Kayıt Edilmemiş İşlemler Var. Devam Etmek İstiyormusunuz? — Yeni Fiş öncesi. Kayıtlı İşlemi İptal Etme Yetkiniz Yok! — kaydedilmiş satır iptalinde grup yetkisi yok.
  • Küsuratlı miktar: "0,xx «KOD» Ödemek İstiyormusunuz?" — hayır denirse miktar tam sayıya yuvarlanır [SOURCE_CODE:GiseEkrani.vb:299-311].
  • Parite (BIRIM ≠ TL): TL tutarı = Miktar × «KOD» kuru; 1. satır seçilen işlem yönünde (KODU, TL karşılığı), 2. satır ters yönde (BIRIM dövizi, Miktar × FIYAT); açıklamaya "Parite : KOD/BIRIM m X f = t" yazılır; BSMV yalnız SATIS bacağına [SOURCE_CODE:GiseEkrani.vb:415-470] [BUSINESS_RULE:BR-KUR-010].
  • BSMV geri ayrıştırma: TUTAR elle girilince net = TUTAR ÷ (1 + ayar‰) [SOURCE_CODE:GiseEkrani.vb:406-413] [BUSINESS_RULE:BR-BSMV-003].
  • Not: "İsimsiz Hesaplara 7000 TL Üzeri…" ve "3000 USD üzeri…" kontrolleri ParakendeSatis ekranındadır; bu ekranın kodunda bulunmaz [BUSINESS_RULE:BR-PERAKENDE-001] [BUSINESS_RULE:BR-PERAKENDE-002] — GAP-SCR-GISE-LIMIT: gişede eşik kontrolünün başka katmanda (tetikleyici/DAO) olup olmadığı doğrulanmadı.
  • Liste sorguları dinamik SQL (2 ifade, TD-DYNAMIC-SQL).

Stok / bakiye / rapor etkisi

İşlem ekranıdır: satırlar Cari.Islemler'e PEŞİN (IslemTipi=1) tipte, Kategori/Tag='PARAKENDE' ile yazılır; TRG-CARI.ACCEPTTRANSACTION peşin satır için bakiye üretmez, kasa nakit stoğunu (Stok.StokHaraketleri StokTipi=2, GİRİŞ + / ÇIKIŞ −) değiştirir [BUSINESS_RULE:BR-PERAKENDE-003] [BUSINESS_RULE:BR-STOK-003] [BUSINESS_RULE:BR-DEFTER-URETIMI]. Kayıt anındaki USD kuru satıra yazılır (UsdKur) [BUSINESS_RULE:BR-KUR-001]. Resmi kasada satırlar e-belge/BTrans kapsamına girer; iptal, mutabakat kilidi ve PIN kurallarına tabidir [BUSINESS_RULE:BR-IPTAL-013] [BUSINESS_RULE:BR-MUTABAKAT-003].

Sık yapılan kullanıcı hataları

  • Perakendede kasa değiştiremiyorum — kasa oturum kasasıdır (LoginInformation.Kasa.Id), kullanıcı kilidi [DOCUMENT:12_Support/KnownIssues/H-090.md].
  • "Seçmiş Olduğunuz İşlem Yok yada Parakende Ekranından Yapılmamış." — F12/işlem no ile başka ekranın işlemi çağrıldı [DOCUMENT:12_Support/KnownIssues/H-089.md] [DOCUMENT:12_Support/Playbooks/PB-050.md].
  • Eksik tahsilatla kayıt oldu; önceki müşterinin açıklaması yeni fişe geçti [DOCUMENT:12_Support/KnownIssues/H-088.md].
  • Fiyat kutusu 1'e kilitli / kur giremiyorum — FiyatKitle ayarı ya da aynı birim [DOCUMENT:12_Support/KnownIssues/H-055.md] [BUSINESS_RULE:BR-KUR-006].
  • Parite işleminde müşteri dövizini verdi, karşılığı görünmüyor — çift bacak; tek satır kalmış [DOCUMENT:12_Support/KnownIssues/H-057.md] [DOCUMENT:12_Support/Playbooks/PB-048.md].
  • Pano fiyatı yokken sistem kurundan sessizce işlem yapılması (CTR-008) [DOCUMENT:00_Governance/CONTRADICTIONS.md#ctr-008].
  • Termal fiş boş çıkıyor / fiş çıkmıyor — yazıcı ve fiş tasarımı ayarı [DOCUMENT:12_Support/KnownIssues/H-153.md] [DOCUMENT:12_Support/Playbooks/PB-025.md].
  • Her şahsa resmi fatura kesmek için hesap açılması gerekir [PROCESS:PROC-106].

İlgili ticket temaları

Müşteri varyasyonları

  • Döviz bürosu (ERPGOLDV2) ekranıdır; kuyumcu kurulumunda maden içeren perakende için ParakendeSatis kullanılır [DOCUMENT:kitap#4.4].
  • KASA sekmesi kullanıcı grubunun btn_nakit menü yetkisine bağlıdır [SOURCE_CODE:GiseEkrani.vb:20].
  • Resmi/gölge modda kasa stoğu Muhasebe.Stoklar (belgelendirilmiş işlem havuzu) fonksiyonundan okunur [SOURCE_CODE:GiseEkrani.vb:578-590].
  • Fiş basımı kullanıcı ayarındaki fiş tasarımına göre sabit fiş ya da özel tasarım (FisDizayni) [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-client-fisdizayni].
  • POS/ErpPosV2 vezne arayüzü ayrı bir üründür (GENERATED_PROPOSAL); bu ekranın özelliği değildir.

Kim kullanır? Nereden açılır?

  • ANA MENÜ ▸ Hesap Yonetimi ▸ Seri Islemler ▸ Gise Islemleri

Yaşam döngüsü kanıtı

ACTIVE_CRITICAL — ANA MENÜ: Hesap Yonetimi ▸ Seri Islemler ▸ Gise Islemleri

Kullanıcı olayları

Olay Metot Dosya:satır
Me.Shown FormInit GiseEkrani.vb:19
Me.Closed FormClose GiseEkrani.vb:42
Me.KeyDown FormKeyDown GiseEkrani.vb:46
CmbBsmv.VisibleChanged, CmbBsmv.SelectedIndexChanged BSMVChanged GiseEkrani.vb:123
CmbIslemTuru.SelectedIndexChanged ISLEM_DEGISTI GiseEkrani.vb:150
CmbStokKodu.EditValueChanged STOK_DEGISTI GiseEkrani.vb:181
CmbBirim.EditValueChanged BIRIM_DEGISTI GiseEkrani.vb:187
TxtFiyat.GotFocus FIYAT_GETIR GiseEkrani.vb:202
TxtMiktar.ValueChanged, TxtFiyat.ValueChanged, CmbBsmv.SelectedIndexChanged TUTAR_HESAPLA GiseEkrani.vb:205
TxtMiktar.LostFocus, TxtFiyat.LostFocus, CmbBsmv.LostFocus Tutar_GotFocus GiseEkrani.vb:209
TxtTutar.LostFocus MIKTAR_HESAPLA GiseEkrani.vb:214
BtnVazgec.Click CLEAR_TEXTBOX GiseEkrani.vb:226
TxtFiyat.LostFocus FIYAT_VALIDATE GiseEkrani.vb:232
VwBakiye.CustomDrawCell VwBakiye_CustomDrawCell GiseEkrani.vb:242
VwIslem.RowCountChanged RowChanged GiseEkrani.vb:251
VwIslem.KeyDown VwIslem_KeyDown GiseEkrani.vb:256
VwKurlar.RowCellStyle, VwBakiye.RowCellStyle, vwKasa.RowCellStyle VwKurlar_RowCellStyle GiseEkrani.vb:259
Me.KeyDown FORM_KEYDOWN GiseEkrani.vb:276
BtnYeniFis.Click YENI_FIS GiseEkrani.vb:337
CmbHesap.EditValueChanged HESAP_DEGISTI GiseEkrani.vb:350
Pano.Refresh RefreshKur GiseEkrani.vb:368
ChkListele.Toggled ChkListele_Toggled GiseEkrani.vb:375
BtnEkle.Click ADD_ITEM GiseEkrani.vb:481
BtnKaydet.Click SAVE GiseEkrani.vb:531
BtnfisYazdir.Click PRINT_ALLFIS GiseEkrani.vb:535
BtnFaturaYazdir.Click PRINT_ALLFATURA GiseEkrani.vb:560
XtraTabControl1.SelectedPageChanged, Timer1.Tick REFRESH_KASA GiseEkrani.vb:578
BtnIptal.Click RemoveTransaction GiseEkrani.vb:596
TxtMiktar.GotFocus TxtMiktar_ValueChanged GiseEkrani.vb:619
vwKasa.CustomDrawCell vwKasa_CustomDrawCell GiseEkrani.vb:623
BtnTransfer.Click OpenTransferForm GiseEkrani.vb:631

Okuduğu / yazdığı tablolar (kod içi SQL, statik)

Tablo Fiiller
Muhasebe.Stoklar ⚠︎ DB'de yok SELECT
stok.GetNakitStoklari ⚠︎ DB'de yok SELECT

Kullandığı DAO / iş sınıfları

AIO.Cari.Islem, AIO.Cari.View.HesapDetay, AIO.Parakende.Islem, AIO.Parakende.IslemListesi, AIO.Sistem.DovizKuru, AIO.Stok.Nakit

Kullanıcıya gösterilen mesajlar (doğrulama)

  • Kayıt Edilmemiş İşlemler Var. Devam Etmek İstiyormusunuz?
  • Kayıtlı İşlemi İptal Etme Yetkiniz Yok!
  • Lütfen Bir Hesap Seçiniz..
  • Lütfen Kur Fiyatını Pano Aralığında
  • Lütfen Miktar ve Tutar alanını Kontrol Ediniz.
  • Seçili Satır İptal Edilecektir. Onaylıyormusunuz?

Yetki bayrakları

IslemIptal

Bilinen kusurlar / dikkat

  • Dinamik SQL: 2 ifade — parametresiz birleştirme riski (TD-DYNAMIC-SQL).

Kaynaklar

  • SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.Designer.vb
  • SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.vb
  • DERIVED:docs/knowledge-base/screens/GiseEkrani.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).