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

MutabakatOnay

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

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

Nedir?

Mutabakat Onay FormuStok Mutabakat ekranında girilen günlük stok sayımını, stok defterindeki miktarla yan yana gösterip yöneticinin onayladığı ekrandır; cari mutabakat (F12) değildir [SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Stok/MutabakatOnay.vb:1-74] [DOCUMENT:00_Governance/CONTRADICTIONS.md#ctr-sec-mutabakat-01]. Her satır bir stok kartıdır: StokMiktar (Stok.StokHaraketleri toplamı = defter), Miktar (bugünkü sayım), Fark = |StokMiktar| − |Miktar|, Onay kutusu. Sayımı girilmemiş kalemler kırmızı (domates) zeminle, onaylananlar üstü çizili gösterilir; liste her 5 saniyede kendini yeniler, böylece sayım ekranında yazılan miktarlar anında görünür [SOURCE_CODE:MutabakatOnay.vb:4-7,19-56]. Onay kutusu işaretlenince Stok.Mutabakat.Onay = 1 ve OnayUserId = onaylayan yazılır; onaylı satır sayım ekranından düşer [SOURCE_CODE:MutabakatOnay.vb:64-72].

Ne zaman kullanılır?

  • Kasa sayımı girildikten sonra yönetici defter ile sayımı karşılaştırıp kalem kalem onaylarken (kuyumcu/rafineri kurulumu) [DOCUMENT:kitap#4.2] [DOCUMENT:08_Database/Tables/TBL-STOK.MUTABAKAT.md].
  • Sayımı eksik (kırmızı) kalemleri görüp sayım ekranına geri döndürmek için.
  • Farkı sıfır olmayan kalemleri tespit etmek için — düzeltme işlemi bu ekrandan yapılmaz (bkz. Stok/bakiye etkisi).

Adım adım kullanım

  1. ANA MENÜ ▸ Hesap Yonetimi ▸ Rapor ▸ Mutabakat Onay; Kasa : kullanıcının kasası (kasa kilidi varsa değiştirilemez), Stok : NAKIT / MADEN [SOURCE_CODE:MutabakatOnay.vb:12-18].
  2. Liste dolar: yalnız sayımı ya da defter miktarı sıfırdan farklı kalemler; sütunlar Tarih (sayım kayıt anı), Kodu, Aciklama, StokMiktar, Miktar, Fark, Onay [SOURCE_CODE:MutabakatOnay.vb:24].
  3. Kırmızı satır = bugün için sayım kaydı yok (OnayId = 0) → sayım ekranına dönülür; bu satırda Onay kutusu düzenlenemez [SOURCE_CODE:MutabakatOnay.vb:42-63].
  4. Fark kabul edilebilir/ sıfır ise Onay kutusu işaretlenir; satırdan çıkınca kayıt yazılır ve satır üstü çizili olur.
  5. Refresh ya da 5 sn'lik otomatik yenileme; pencere kapanınca zamanlayıcı bırakılır [SOURCE_CODE:MutabakatOnay.vb:7-9].

Alanların anlamı

Ekran etiketi / sütunu İş anlamı (kaynak)
Kasa : / Stok : Karşılaştırılan kasa ve stok sınıfı (NAKIT=0 / MADEN=1 combo indeksi)
Tarih Sayım kaydının InsertDate'i (yalnız bugünün sayımı eşlenir: D.Tarih = bugün)
Kodu / Aciklama Stok kartı (Stok.Nakit / Stok.Maden)
StokMiktar Defter stoğu: SUM(Stok.StokHaraketleri.Miktar) kasa+stok bazında (nakit StokTipi=2 → 0, maden StokTipi=1 → 1 eşlemesiyle)
Miktar Sayım ekranında girilen fiziksel miktar (Stok.Mutabakat.Miktar)
Fark ABS(StokMiktar) − ABS(Miktar) (decimal 18,2) — artı: defter fazla / sayım eksik; eksi: sayım fazla
Onay Stok.Mutabakat.Onay (bit); işaretleyen OnayUserId
(gizli) OnayId Stok.Mutabakat.Id; 0 ise sayım yok (kırmızı)

Hesaplama / doğrulama mantığı

  • Fark mutlak değerler üzerinden alınır; işaretli stoklarda (negatif defter) yön bilgisi kaybolur — GAP-SCR-MUTABAKATONAY-FARK: negatif defter stoğunda farkın anlamı doğrulanmalı [SOURCE_CODE:MutabakatOnay.vb:24].
  • Onay kutusu yalnız OnayId ≠ 0 satırda düzenlenebilir; başka sütun düzenlenemez [SOURCE_CODE:MutabakatOnay.vb:57-63].
  • Ekranda mesaj yoktur; Save = False yutulur; yenileme hatası boş catch ile yutulur (TD-EMPTY-CATCH). Sorgu dinamik SQL (2 ifade).
  • Onayın geri alınması: kutu kaldırılınca Onay = 0 yazılır (aynı ValidateRow); ayrı bir "geri al" mekanizması yoktur.
  • StokTipi eşlemesi: Stok.Mutabakat.StokTipi (0 nakit / 1 maden) ↔ Stok.StokHaraketleri.StokTipi (2 nakit / 1 maden) — CTR-SCR-MUTABAKAT-STOKTIPI-01 [SCREEN:SCR-MUTABAKAT].

Stok / bakiye / rapor etkisi

Defter etkisi yok — Cari.Islemler'e, Stok.StokHaraketleri'ne ya da bakiyeye yazmaz; yalnız Stok.Mutabakat.Onay/OnayUserId güncellenir. Onay, defteri sayıma eşitlemez: fark için ayrı düzeltme işlemi (giriş/çıkış, MAHSUP) gerekir — GAP: sayım farkını işleme çeviren akış kaynakta yok. Cari mutabakat kilidi (MutabakatPermission, "«N» Numaralı İşlemde Mutabakat Yapılmış…") bu ekranla ilişkisizdir [BUSINESS_RULE:BR-MUTABAKAT-003] [DOCUMENT:18_Glossary/TERM-MUTABAKAT-KILIDI.md].

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

  • Cari mutabakat kilidi mesajıyla karıştırma [DOCUMENT:12_Support/KnownIssues/H-095.md] [DOCUMENT:12_Support/Playbooks/PB-038.md].
  • Satır kırmızı, onaylanamıyor — sayım girilmemiş; sayım ekranına dönülür [SOURCE_CODE:MutabakatOnay.vb:42-63].
  • Yanlış kasada bakıyorum — stok kasa bazlı [DOCUMENT:12_Support/KnownIssues/H-113.md].
  • Stokta olmayan mal çıkılmış (negatif stok) — fark eksi görünür [DOCUMENT:12_Support/KnownIssues/H-123.md].
  • Bu ekrana özgü kaynaklı destek kaydı yok — GAP.

İlgili ticket temaları

  • PRB-BAKIYE-000 (stok tutmuyor) — dolaylı; doğrudan PRB/SYM kaydı yok.

Müşteri varyasyonları

  • KUYUMCU kurulumunda kullanılır (Stok.Mutabakat 153.394 satır); döviz V2'de kullanılmamış [DOCUMENT:08_Database/Tables/TBL-STOK.MUTABAKAT.md].
  • Devir bu tabloyu boşaltmaz; geçmiş yılların sayım/onay satırları birikir (GAP-DEVIR-SCOPE) [DOCUMENT:00_Governance/KNOWN_GAPS.md#gap-devir-scope].
  • POS/ErpPosV2 tasarımındaki "GunSonu" gün kapatma ekranı ayrı üründür (GENERATED_PROPOSAL); bu ekranla ilişkisi netleştirilmemiş (GAP-PROCESS-04) [DOCUMENT:00_Governance/KNOWN_GAPS.md#gap-process-04].

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

  • ANA MENÜ ▸ Hesap Yonetimi ▸ Rapor ▸ Mutabakat Onay

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

ACTIVE_CRITICAL — ANA MENÜ: Hesap Yonetimi ▸ Rapor ▸ Mutabakat Onay

Kullanıcı olayları

Olay Metot Dosya:satır
Me.Shown FormLoad MutabakatOnay.vb:4
Me.FormClosed MutabakatOnay_FormClosed MutabakatOnay.vb:7
Me.Load FormInit MutabakatOnay.vb:12
CmbKasa.EditValueChanged, CmbStokTipi.EditValueChanged, BtnRefresh.Click RefreshData MutabakatOnay.vb:19
VwBakiye.CustomDrawCell VwBakiye_CustomDrawCell MutabakatOnay.vb:42
VwBakiye.FocusedColumnChanged VwBakiye_FocusedColumnChanged MutabakatOnay.vb:57
VwBakiye.ValidateRow VwBakiye_ValidateRow MutabakatOnay.vb:64

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

Tablo Fiiller
Stok.StokHaraketleri SELECT

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

AIO.Stok.Mutabakat

Bilinen kusurlar / dikkat

  • Boş catch bloğu: 1 — hata yutuluyor (TD-EMPTY-CATCH).
  • Dinamik SQL: 2 ifade — parametresiz birleştirme riski (TD-DYNAMIC-SQL).

Kaynaklar

  • SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Stok/MutabakatOnay.Designer.vb
  • SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Stok/MutabakatOnay.vb
  • DERIVED:docs/knowledge-base/screens/MutabakatOnay.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).