Modülün amacı
Fiziksel varlıkların tanımı ve izlenmesi: maden (ayarlı/mamul altın-gümüş), nakit (para birimleri), hurda, takoz (ham külçe), çeşni, taş, pırlanta, model (numaralı tek parça), emtia, genel stok ve hizmet kartları. Stok hareketleri kullanıcı tarafından ayrıca girilmez; Cari.AcceptTransaction tetikleyicisi işlem satırından stok defterini (Stok.StokHaraketleri, V2'de 1.619.657 / KUYUMCU'da 439.923 satır) türetir [DB_OBJECT:Cari.AcceptTransaction satır 363–387; DERIVED:08_Database/Tables/TBL-STOK.STOKHARAKETLERI.md]. Kasa/şube arası transferler ayrı bir onay akışıyla (Cari.Transferler → Cari.TransferUpdateSTatus) stok defterine Bolum=1 satırı yazar. Takoz akışı (su tartısı, XRF, ayar evi raporu, çeşni) rafineri/kuyumcu varyantının kalbidir.
DB şemaları: Stok (ve Takoz SP'leri; Sistem.TakozScala, Sistem.TakozTipleri tanım tabloları MOD-SISTEM'de).
Hangi müşteri tipleri kullanır
| İş kolu | Kullanım | Kanıt |
|---|---|---|
| Kuyumcu, Toptancı, Üretici/atölye | Maden, model, taş, pırlanta, emtia, genel stok; cari işlemin %60,3'ü stok üretir | INST-KUYUMCU, BR-DEFTER-URETIMI |
| Rafineri, Ayar evi | Takoz (10.870 kart, 16,4 t brüt / 5,6 t has, ort. milyem 0,70232), çeşni (IslemKodu 14), su tartısı/XRF | INST-KUYUMCU; VARIANT_MATRIX |
| Döviz bürosu | Yalnız nakit stok (131 nakit kartı) ve resmi stok; Stok.Takoz 0 satır |
INST-ERPGOLDV2 |
| Sarraf, Perakende kuyumcu | Maden + nakit stok, peşin satış | SECTOR_KNOWLEDGE |
KUYUMCU_VARIANT / RAFINERI_VARIANT satırları VARIANT_MATRIX: Stok.Takoz akışı, IslemKodu 14 ÇEŞNİ, Stok.Mutabakat yoğun kullanım (V2'de 0 satır).
Ana kavramlar
- Stok kartı, Nakit kartı, Maden, Hurda, Genel stok, Emtia, Taş, Pırlanta, Model, Varyant — sektör: SEC-STOK, SEC-KULCE, SEC-ZIYNET
- Stok.StokHaraketleri stok defteri; Milyem, Has, Ayar, Parça gramı, Adet
- Takoz — SEC-TAKOZ; Raporlu/raporsuz takoz, Takoz tipi, XRF, Blok takoz, TK takoz kodu, Çeşni / SEC-CESNI, Gümüş durumu, İşçilik durumu
- Maliyet — son giren ilk çıkar / SEC-MALIYET; Resmi stok; Transfer; Terazi
Menü konumu
MENU_TREE [SOURCE_CODE:Form/Genel/FrmMainForm.Designer.vb:270]:
| Ribbon sayfa › grup | Düğme (kod) | Ekran |
|---|---|---|
| Hesap Yonetimi › Stoklar | Maden / Nakit Stok Listesi (MADENSTOKLISTESI, NAKITSTOKLISTESI) |
DataStokList |
| Hesap Yonetimi › Stoklar | Takoz Stok Listesi (TAKOZSTOKLISTESI), Takoz Sonuç Girişi (TAKOZRAPORGIRISI), Takoz Kontrol Listesi (TAKOZKONTROL), Takoz Su Tartısı (TAKOZSUTARTI) |
DataTakozList, FrmTakozRaporGirisi, FrmTakozKontrol, FrmTakozSuKontrol |
| Hesap Yonetimi › Stoklar | Model / Pırlanta / Genel / Taş / Emtia / Cesni Stokları, Sayım Ekranı (SAYIMEKRANI) |
FrmModelEkle, FrmPirlantaEkle, DataList, FrmTasEkle, FrmEmitaEkle, FrmPopupGrid, SayimEkrani |
| Hesap Yonetimi › Rapor | Kasa Durum Raporu, Maden Durum Raporu | FrmNakitStoklari, FrmMadenStoklari |
| Hesap Yonetimi › Cari Hesaplar | Transferler (TRANSFERLER) |
FrmTransfer |
| Tanımlamalar › Stok Tanimlari | Maden / Nakit / Model / Genel / Tas / Pırlanta / Emtia / Varyant / Hizmet tanımlama | FrmMadenEkle, FrmNakitEkle, FrmGenelStokEkle, FrmStokVaryantEkle, FrmHizmetEkle |
Stok işlem ekranları (TAKOZ G/Ç, MADEN, HURDA, ÇEŞNİ, TAŞ, PIRLANTA, MODEL, EMTİA, GENEL) iScreen içindeki işlem menüsünden açılır; Ctrl+M maden stok listesi.
Ekranlar
Tam liste 05_Screens/INDEX.md (MOD-STOK 16 ekran; stok işlem ekranları _lifecycle.json'da MOD-CARI'ye atanmıştır, burada da listelenir).
| Ekran | Sınıf | Yaşam döngüsü | Bir cümle |
|---|---|---|---|
| MADEN TANIMLAMA | FrmMadenEkle |
ACTIVE_CRITICAL | Maden kartı: milyem, işçilik, fiyat tipi, hurda/adet bayrakları |
| NAKIT TANIMLAMA / HIZMET TANIMLAMA | FrmNakitEkle / FrmHizmetEkle |
ACTIVE_CRITICAL | Para birimi kartı; masraf/hizmet kartı |
| TAKOZ GİRİŞİ / TAKOZ ÇIKIŞI | iFTakozGiris / ifTakozCikis |
ACTIVE_CRITICAL (KUYUMCU_VARIANT) | Takoz kartı açılır (raporlu/raporsuz) / kart tüketilir |
| TAKOZ GİRİŞİ (seri) / ÇIKIŞI (seri) / Blok takoz / Seri takoz çıkış | FrmTakoz* |
ACTIVE_CRITICAL / ACTIVE_RARE | Birden çok takoz tek fişle; barkodlu çıkış |
| ÇEŞNİ ÇIKIŞI | iFCesni |
ACTIVE_CRITICAL (KUYUMCU_VARIANT) | Biriken çeşni stoğundan hesaba çıkış (HAS + GÜMÜŞ bakiyesi) |
| TAŞ, PIRLANTA, MODEL, EMTİA, GENEL | iFTas, iFPirlanta, iFModel, iFEmtia, iFGenel |
ACTIVE_CRITICAL | İkincil stok türlerinin giriş/çıkışı |
| Takoz Sonuç Girişi, Takoz Kontrol, Su Kontrol | FrmTakoz* |
ACTIVE_NORMAL (KUYUMCU_VARIANT) | Ayar evi raporu, kontrol listesi, su tartısı |
| Mutabakat / MutabakatOnay | Mutabakat / MutabakatOnay |
ACTIVE_CRITICAL | Stok mutabakatı ve onayı (Stok.Mutabakat) |
| SayimEkrani / Stok Listesi / Takoz Listesi | SayimEkrani, DataStokList, DataTakozList |
ACTIVE_NORMAL / DYNAMIC | Sayım; dinamik stok ve takoz listeleri |
| TRANSFER / Transfer Ekle | FrmTransfer / FrmTransferEkle |
ACTIVE_CRITICAL / ACTIVE_RARE | Kasalar arası stok transferi: gönder → kabul/ret |
| Model / Pırlanta / Taş / Emtia / Genel / Varyant tanımlama | Frm*Ekle |
ACTIVE_NORMAL | Kart tanım ekranları; FrmModelSayim UNUSED_CANDIDATE |
Ana iş akışları
06_Workflows/INDEX.md — MOD-STOK 13 akış: WF-TAKOZ-GIRIS, WF-TAKOZ-CIKIS, WF-TAKOZ-SERI-CIKIS, WF-BLOK-TAKOZ-GIRIS, WF-TAKOZ-RAPOR-GIRISI, WF-CESNI-CIKIS, WF-MODEL-ISLEM, WF-PIRLANTA-ISLEM, WF-TAS-NORMAL, WF-EMTIA-ISLEM, WF-GENEL-ISLEM, WF-KASA-TRANSFER, WF-ACILIS-STOK-DEVIR-HESABI. Maden/hurda giriş-çıkış akışları MOD-CARI'de.
Kullanılan tablolar
| Tablo | Sınıf (08_Database/INDEX.md) | Satır V2 / KUYUMCU | Rol |
|---|---|---|---|
| Stok.StokHaraketleri | CRITICAL | 1.619.657 / 439.923 | Stok defteri; Bolum 0 işlem, 1 transfer/üretim |
| Stok.Maden, Stok.Nakit, Stok.Hizmet | ACTIVE | 121 / 132 / 160 (V2) | Maden, nakit, hizmet kartları |
| Stok.Takoz | ACTIVE | 0 / 10.870 | Takoz kartı (milyemler, XRF, rapor, giriş kurları) |
| Stok.Model, Stok.Pirlanta, Stok.Tas, Stok.Emtia, Stok.Genel, Stok.Varyant, Stok.Birim, Stok.Tedarikciler | ACTIVE | 0 (V2) | İkincil stok kartları — döviz kurulumunda kullanılmıyor |
| Stok.Mutabakat | ACTIVE | 0 (V2) | Stok mutabakatı (KUYUMCU'da yoğun — VARIANT_MATRIX) |
| Stok.DevirCesniStoklari | INDIRECTLY_USED | 0 | Devirde çeşni stoğu |
| Cari.Transferler | ACTIVE | — | Transfer başlığı (MOD-CARI tablosu) |
Kullanılan fonksiyon / SP / view / trigger'lar
- Trigger: Cari.AcceptTransaction (stok defteri satırları), Cari.TransferUpdateSTatus (onaylı transfer → iki stok satırı), Uretim.TrBakiyeHesapla (üretim
Bolum=1) - SP: Takoz.Add, Takoz.Update, Takoz.RaporYaz (front-matter'da MOD-DIGER — bkz. Bilinmeyenler), Repair.StokRepair, dbo.GetTakozFarki
- Fonksiyonlar (47, seçme): Stok.GetMadenStoklari, Stok.GetNakitStoklari, Stok.GetKasaStokları, Stok.GetMadenMaliyeti (TOP 50 + güncel kur — TD-23), Stok.GetOrtMilyem, Stok.GetTakozStoklari, Stok.TakozOzet, Stok.GetCesniStoklari, Stok.GetResmiStoklar, Stok.GetStokHaraketleri, Stok.GetStokHacimRaporu, FN.GenerateTakozCode, FN.TakozKur
- View: Stok.KasaStokları, Stok.StokGunsonu, Stok.StokHaraketOzet
Raporlar
10_Reports/Menu/INDEX.md: RPT-6 Maden Stok Ciro (Reports.MadenCiroRaporu), RPT-7 Maden Stok Hareket (Reports.MadenStokExtresi), RPT-8 (Reports.MadenOzetRaporu), RPT-9 Nakit Stok Hareket (Reports.NakitStokExtresi), RPT-10 (Reports.NakitOzetRaporu), RPT-14/RPT-15 resmi stok hareketi (Stok.ResmiStokHaraketRaporu), RPT-17 Stok Hacim (Stok.GetStokHacimRaporu), RPT-37 Maden Satış Kâr, Reports.TakozKarRaporu, Reports.MadenStokKarRaporu, Reports.GetStokDevir. Metrikler: MET-STOK, MET-MALIYET, MET-HAS.
Entegrasyonlar
INT-TERAZI (RS-232 terazi → MİKTAR), INT-BARKOD (takoz no, pırlanta kart no), INT-FIS-YAZICI (Zebra etiket yazıcı — takoz/model etiketi), INT-RFID, INT-SUBELER-ARASI-PROVIZYON-RSAKTAR (resmi stok aktarımı). Ayar evi raporu için harici sistem bağlantısı yok — rapor elle girilir (WF-TAKOZ-RAPOR-GIRISI).
Ayarlar
CONFIGURATION.md: CFG-MADEN-ISHURDA, CFG-MADEN-ISADET (parça gramı), CFG-MADEN-ISCILIK, CFG-MADEN-FIYATTIPI, CFG-HESAP-TAKOZISC (hesap kartında takoz işçiliği), CFG-PIRKODSIZE (pırlanta/model kod uzunluğu), CFG-SUBE-REVCOSTDATE (maliyet yeniden değerleme), CFG-KASA-RESMIKASA, CFG-CLIENT-OTOETIKETBAS, CFG-CLIENT-ETIKETMODU, CFG-ETIKETBASLIK, CFG-CLIENT-COMPORT (terazi). Koda gömülü: CFG-HARD-TAKOZ-ETIKET-30GR, CFG-HARD-TAKOZ-0600 (raporsuz takoz 0,600 varsayımı — üç farklı değer).
İş kuralları
38 kural (07_BusinessRules/INDEX.md); STOK (32), TAKOZ (18), BAKIYE takoz/çeşni satırları:
- Takoz: BR-STOK-013 önce kart sonra işlem, BR-STOK-007 stokta olmayan takoz çıkılamaz, BR-STOK-008 hareketli takoz girişi iptal edilemez, BR-TAKOZ-002 takoz tipi → işlem tipi, BR-TAKOZ-003 raporlu/raporsuz, BR-TAKOZ-004 işçilik Altından Düş / Para İle, BR-TAKOZ-005 işçilik hesap kartından, BR-TAKOZ-008 otomatik etiket/fiş, BR-HESAP-015…019 milyem toplamı/uyarılar, BR-BAKIYE-005…010 takoz/çeşni bakiye satırları, BR-KUR-011 takoz kartına giriş kurları
- Diğer stoklar: BR-STOK-009 model elde varsa giriş yok, BR-STOK-005 model ayar stoğuna yazılır, BR-STOK-011 hangi işlemler stok üretmez, BR-MODEL-001, BR-PIRLANTA-001, BR-TAS-001, BR-GENEL-001, BR-GENEL-003, BR-MALIYET-003, BR-TRANSFER-001
- Enum: Islem.tTakozTipi, Islem.tMadenDurumu, Islem.tIscilikDurumu, Islem.tRaporTipi, Islem.tFiyatTipi, Urun.UType
Sık sorunlar
PRB-TAKOZ-000 (8 çağrı), PRB-MADEN-000 (24), stok tanımlama şikâyetleri PRB-TANIMLAMA-000 (686) içinde. Playbook: PB-035 açılış stoğu / DEVİR hesabı, PB-037 stok listesi boş — yanlış kasa, transfer karşı kasada yok, PB-049 takoz giriş/çıkış hataları, PB-057 maden stok tanımlama, PB-058 maliyet tuhaf/sıçradı, PB-063 model/pırlanta/genel/emtia tuzakları, PB-026 etiket yazıcısı, PB-027 terazi.
Bilinen kusurlar
- Bilinen sorunlar: H-026/H-027 stok adı/milyem kilitli, H-066…H-075 takoz/çeşni ekran hataları, H-091 model elde var/yok, H-113…H-123 stok "yanlış" şikâyetleri (transfer görünmüyor, negatif stok, maliyet sıçraması)
- Teknik borç: TD-23
GetMadenMaliyetiTOP 50/güncel kur, TD-21GetKurher zaman alış, TD-45 canlı DB'de olmayan tabloya yazan ekranlar, TD-30Repair.*; CTR-005 resmi stok girişi, CTR-015 miktar hassasiyeti, GAP-TAKOZ-FIRE (takoz giriş bakiyesi ile ölçülen has farkı) — KNOWN_GAPS.md
Müşteri varyasyonları
- KUYUMCU (INST-KUYUMCU): 10.870 takoz, çeşni (
IslemKodu 14— DB kod tablosunda yok, CTR-039), ALTIN/GÜMÜŞ işlem tipleri 6/7;MüşteriŞemasıA,MüşteriŞemasıB,MüşteriŞemasıCşemaları fiyat/rapor amaçlı — stok tablolarına doğrudan yazan müşteri-özel nesne bilinmiyor (GAP).Stok.Mutabakatyoğun kullanım. - ERPGOLDV2 (döviz — INST-ERPGOLDV2): yalnız nakit/maden kartı;
Stok.Takoz,Stok.Model,Stok.Tasvb. 0 satır; resmi stok veStok.ResmiStokHaraketRaporukullanılır;MüşteriŞemasıD.GetNakitStoklarimüşteri-özel nakit stok raporu ([FN-MüşteriŞemasıD.GETNAKITSTOKLARI]).
Kritik kod parçaları
Classes/INDEX.md (29 sınıf): DAO'lar Stok.Maden, Stok.Nakit, Stok.Takoz, Stok.Cesni, Stok.Model, Stok.Pirlanta, Stok.Mutabakat, Stok.MadenStokDetay (maliyet/milyem detayı), Stok.StokHaraketListesi; ekranlar iFTakozGiris (30 gr etiket eşiği koda gömülü), ifTakozCikis, FrmTakozGiris, FrmTransfer, StokIslem, SayimEkrani.SayimListesi. Stok satırlarının asıl yazıcısı tetikleyicidir: TRG-CARI.ACCEPTTRANSACTION satır 363–387.
İlgili eğitimler
TRN-008 ürün ve stok türleri, TRN-039 stok kartları, TRN-040 resmi stok, TRN-026 maliyet mantığı, TRN-090 takoz girişi, TRN-091 takoz çıkışı, TRN-100 çeşni, TRN-101 taş/pırlanta/model/emtia/genel, TRN-056 devir hesabı ve açılış girişleri (13_Training/Topics/INDEX.md).
Kaynaklar
DB_OBJECT:Cari.AcceptTransaction satır 363–387 · DB_QUERY: Stok.Takoz / Stok.StokHaraketleri satır sayıları iki kurulum (2026-09-11) · SOURCE_CODE:Form/Genel/FrmMainForm.Designer.vb:270 · DERIVED: 05_Screens/_lifecycle.json, 08_Database/INDEX.md, BR-DEFTER-URETIMI · DOCUMENT: eğitim kitapçığı §9 (kuyumcu farkları) · TICKET_THEME: PRB-TAKOZ-000, PRB-MADEN-000.
Bilinmeyenler
- GAP: Stok işlem ekranları (
iFTakozGiris,iFCesni,iFTas…) veTakoz.*SP'leri_lifecycle.json/front-matter'da MOD-CARI ya da MOD-DIGER'e atanmış; modül ataması tutarsız (CTR adayı,_tools/agent_findings_modules.md). - GAP: Ayar evi raporunun (XRF/su tartısı) hangi cihazdan geldiği ve
FrmTakozSuKontrolhesap yöntemi kaynakta doğrulanmadı; takoz giriş bakiyesi ile ölçülen has farkı (GAP-TAKOZ-FIRE). - GAP:
Stok.MutabakatKUYUMCU satır sayısı ölçülmedi; "yoğun kullanım" kitapçık §9 ifadesidir. - GAP: Maliyet algoritması (
Stok.GetMadenMaliyeti, son giren ilk çıkar) ile PB-058'deki "maliyet sıçraması" vakalarının kök nedeni tek tek eşlenmedi (GAP-TICKET-03).
