Tip: TABLE · Şema: Stok · Modül: MOD-STOK · Temizlik sınıfı: CRITICAL (kategori A, güven 0) · Kapsam: ERPGOLD_CORE / ALL
Kurulum karşılaştırması
| Kurulum | Var mı | Satır |
|---|---|---|
| INST-ERPGOLDV2 (döviz, 2023-12) | ● | 1619657 |
| INST-KUYUMCU (kuyumcu/rafineri, 2025-01) | ● | 439923 |
İş anlamı
Stok defteri. Yine Cari.Islemler tetikleyicisinin ürettiği türev tablo. Peşin işlemlerin %99,3'ü buraya satır üretir. Bir ürünün eldeki miktarı ve ortalama maliyeti bu defterden hesaplanır. Id kolonu yoktur; IslemId ile kaynağına bağlanır.
İlişkiler (JOIN kanıtı ≥ 2 sorgu — FK değil)
StokId→Stok.Maden.Id9×IslemId→Cari.Islemler.Id7×StokId→Stok.Nakit.Id7×StokId→Stok.Takoz.Id6×VaryantId→Stok.Varyant.Id2×
Kullanım haritası (13.09.2026)
| Kategori | A — ERPGOLD CORE · A-APP_CODE |
| Güven | 100 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → MutabakatOnay → Stok.StokHaraketleri |
| Uygulama kullanımı | APP_CODE · MutabakatOnay |
Bkz. Database Usage Map · Direct Application Objects. Hiçbir DB değişikliği yapılmadı; SAFETY > CLEANUP.
Temizlik kanıtı
| Kontrol | Sonuç |
|---|---|
| app | YES |
| report | NO |
| config | NO |
| dynamic | NO |
| db_in | YES |
| db_out | NO |
| trigger | NO |
| fk | NO |
| computed | NO |
| crossdb | NO |
| runtime | YES |
| external | NO |
Gerekçe: APP
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Modül: MOD-STOK · Satır (örnek DB): 1,619,657 · Kolon: 15 · İndeks: 9 · Tetikleyici: yok · DB'de oluşturma/değişiklik: 2017-09-19 / 2023-11-30
Özet
Cari.Islemler'den tetikleyiciyle türetilen fiziki stok defteri. Kasa bazında maden/nakit/takoz/pırlanta hareketlerini tutar; giriş +, çıkış -. Nakit ve maden stok listeleri bu tablodan gruplanır.
Ayrıntı
Bolum=0 satırlarını Cari.AcceptTransaction, Bolum=2 (transfer) satırlarını Cari.TransferUpdateSTatus yazar. Nakit stok: SUM(Miktar) WHERE StokTipi=2 GROUP BY KasaId,StokId. Maden stok: StokTipi=1.
Kolonlar
| # | Kolon | Tip | Null | Özellik | Varsayılan | Anlam |
|---|---|---|---|---|---|---|
| 1 | IslemId | int | ✔ | Ana işlem satırı (Cari.Islemler.Id). Türetilmiş defterler bu alanla bağlanır. → Cari.Islemler.Id (7 kanıt) |
||
| 2 | Bolum | int | ✔ | ((0)) | 0 = cari işlem (trigger yönetir), 2 = kasa transferi, 1 = üretim (Uretim.TrBakiyeHesapla) | |
| 3 | IslemTuru | int | ✔ | Yön: 0 GİRİŞ(+) · 1 ÇIKIŞ(−) · 2 ALACAK(+) · 3 BORÇ(−) · 4 ALIŞ(+) · 5 SATIŞ(−). Veride yalnız 0,1,4,5 kullanılıyor. | ||
| 4 | Tarih | date | ✔ | İşlem tarihi (muhasebe günü). Oluşturma anından farklı olabilir. | ||
| 5 | SubeId | int | ✔ | Şube. Her şubenin hesapları, stokları ve bilançosu ayrıdır. | ||
| 6 | KasaId | int | ✔ | Kasa (vezne/gişe). Stok kasa seviyesinde tutulur; cari bakiye kasaya bölünmez. → Sistem.Kasalar.Id (1 kanıt) |
||
| 7 | StokTipi | int | ✔ | Stok defterinde ürün sınıfı: 1 = maden, 2 = nakit. | ||
| 8 | StokId | int | ✔ | İşlemin ürünü. Hangi tabloya işaret ettiği IslemKodu'na bağlıdır: 1/2 → Stok.Maden, 3 → Stok.Nakit, 5 → Stok.Hizmet, 6 → Sistem.Vadeli. → Stok.Maden.Id (9 kanıt) · Stok.Nakit.Id (7 kanıt) |
||
| 9 | Adet | int | ✔ | Parça sayısı. Yalnız sayılarak alınıp satılan ürünlerde anlamlı (çeyrek, yarım, ata). | ||
| 10 | Miktar | decimal(18,5) | ✔ | Ürünün kendi birimindeki miktarı: dövizde nominal tutar, madende gram. | ||
| 11 | Milyem | decimal(18,5) | ✔ | Saflık oranı (binde). 0,995 = 995 ayar. Miktar × Milyem = has karşılığı. | ||
| 12 | Has | decimal(18,5) | ✔ | Saf altın karşılığı (gram). Miktar × Milyem. | ||
| 13 | Maliyet | decimal(18,2) | ✔ | İşlemin maliyet karşılığı (ana birim fiyatıyla hesaplanmış). | ||
| 14 | VaryantId | int | ✔ | ((0)) | Arbitraj/karşı kayıt eşleştirmesi. İki bağlı satırdan ilkinde −1, ikincisinde ilk satırın Id'si. → Stok.Varyant.Id (2 kanıt) |
|
| 15 | NetBakiye | decimal(37,10) | ✔ | hesaplanan: ([Miktar]*case when [Milyem]=(0) then (1) else [Milyem] end) | Hesaplanan bakiye (bazı birimlerde katsayı uygulanmış hâli). |
İndeksler
| İndeks | Tip | PK | Tekil | Kolonlar | Dahil |
|---|---|---|---|---|---|
| IX_1 | NONCLUSTERED | SubeId,StokTipi | KasaId,StokId,Miktar,VaryantId | ||
| IX_2 | NONCLUSTERED | IslemTuru,StokTipi,StokId | IslemId,Tarih,SubeId,KasaId | ||
| IX_3 | NONCLUSTERED | IslemTuru,StokTipi,StokId | IslemId,Tarih,SubeId,KasaId | ||
| IX_4 | NONCLUSTERED | StokTipi,StokId,Tarih | Miktar | ||
| IX_5 | NONCLUSTERED | StokTipi,StokId,Tarih | Miktar | ||
| IX_Pozisyon01 | NONCLUSTERED | SubeId,StokTipi | KasaId,StokId,Miktar | ||
| IX_StokHaraketleri | CLUSTERED | SubeId,KasaId,StokTipi,StokId,Tarih | |||
| IX_StokId | NONCLUSTERED | SubeId,StokTipi,StokId | |||
| IXX_4 | NONCLUSTERED | StokTipi | SubeId,KasaId,StokId,Miktar,VaryantId |
BİLGİ — Bu tabloda tanımlı yabancı anahtar yok; bütünlük uygulama katmanında (Dao sınıfları) ve tetikleyicilerde sağlanır.
Bu tabloyu kullanan SQL nesneleri
İlgili iş kuralları
- MADEN işlemi (IslemKodu 1/2) StokTipi=1 satır üretir; giriş Miktar +, çıkış - (Cari.AcceptTransaction.md satır 331-335)
- NAKİT işlemi (IslemKodu 3, IslemTipi<>4) StokTipi=2 üretir (satır 341-345)
- PEŞİN işlem (IslemTipi=1) ayrıca StokTipi=2 para satırı üretir: giriş -Tutar, çıkış +Tutar (satır 346-350)
- TAKOZ StokTipi=3, PIRLANTA StokTipi=4, MODEL ise madenin ayarına StokTipi=1 yazar (satır 336-361)
- Transfer (Bolum=2) iki satır yazar: çıkan kasa eksi, giren kasa artı; StokTipi 0->2 diğer->1 (Cari.TransferUpdateSTatus.md)
- StokTipi 1 maden 2 nakit; StokId polimorfik, koşulsuz join yanlış sonuç verir (az/08-teknik.md 8.3.4)
Kaynaklar
- SRC-DB-TABLES / SRC-DB-COLUMNS / SRC-DB-INDEXES —
sys.tables,sys.columns,sys.indexes(salt okunur katalog sorgusu) - SRC-DRV-AZ — az/08-teknik.md
- SRC-DRV-KIT — kitapcik/04-veritabani.md
- SRC-DB-MODULES — KnowledgeBase/04_Database/Triggers/Cari.AcceptTransaction.md
- SRC-DB-MODULES — KnowledgeBase/04_Database/Triggers/Cari.TransferUpdateSTatus.md
- SRC-DB-COLUMNS — Stok.StokHaraketleri
Bilinmeyenler
- Hangi sürümde eklendiği:
createdDB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).
