Kime: yeni çalışan (ekranlara geçmeden önce). Süre: 1 gün. Ön koşul: TRACK-L1. Sonraki: TRACK-L3.
Öğrenme hedefi
- Kapsam hiyerarşisini (şirket → şube → kasa) ve "stok kasa seviyesinde, bakiye hesap seviyesinde" kuralını anlatır.
- Bir işlem satırının iki tarafını (mal:
StokId/BakiyeId/Miktar; para:BirimId/Tutar) ve üç numaralandırmayı (IslemKodu,IslemTuru,IslemTipi) ayırır. - Defter üretimini (kullanıcı tek tabloya yazar; tetikleyici bakiye, stok ve iz üretir) ve peşin/cari/resmî farkını açıklar.
- Bakiye işaretini doğru okur; kur listesinin rolünü bilir.
- Temel raporları (bakiye ekstresi, stok hareket, işlem raporu) ve metrik sözlüğünü bulur.
Teorik anlatım
Kapsam hiyerarşisi (kitapçık §3.1): Sistem.Sirketler (genelde tek kayıt) → Sistem.Subeler (41 kolon: bilanço birimi, IsResmi, RsAktar, e-belge entegratörü; pasif şubede işlem yapılamaz) → Sistem.Kasalar (ResmiKasa bayrağı; yeni şubeye otomatik ANAKASA, BR-KASA-005). Stok kasa seviyesindedir, cari bakiye değildir: Bakiye.GetBakiye yalnız HesapId + BirimId ile gruplar, KasaId'yi kullanmaz (RFN-BAKIYE.GETBAKIYE).
Cari hesap (Cari.Hesaplar, 57 kolon): unvan, vergi/TC, limit (Limit, LimitBirimId), takoz işçilikleri, HesapTuru (Müşteri 0, Yetkili Kurum 1, Banka 2, Diğer 3, Masraf 4, Devir 5 — BR-DEVIR-001), KarsiHesapId (şubeler arası eş hesap), LastDate. Aynı vergi/TC ile ikinci hesap açılamaz (BR-KASA-008). Ekran: FrmCariHesapEkle.
Stok kartları (MOD-STOK): maden (TBL-STOK.MADEN), nakit (TBL-STOK.NAKIT), takoz, taş, pırlanta, model, emtia, genel, hizmet. Birimler tek listede: para ve maden birlikte; yalnız HAS/GUM/PLT/PLD IsMetal (TBL-SISTEM.BIRIMLER, kitapçık Ek B).
İşlem satırı (Cari.Islemler, 90 kolon, 14'ü hesaplanan; kitapçık §3.3–3.4):
| Kolon | Anlamı |
|---|---|
IslemKodu |
ürün grubu / ekran: 0 TAKOZ · 1 MADEN · 2 HURDA · 3 NAKİT · 4 ÇEVİR · 5 HİZMET · 6 VADELİ · 7 TAŞ · 8 PIRLANTA · 9 MODEL · 10 GENEL · 11 VİRMAN · 12 FATURA · 13 EMTİA · 14 ÇEŞNİ · 999 BORÇ (ENUM-ISLEM-TISLEMKODU) |
IslemTuru |
yön: 0 GİRİŞ · 1 ÇIKIŞ · 2 ALACAK · 3 BORÇ · 4 ALIŞ · 5 SATIŞ; veride 0,1,4,5 (ENUM-ISLEM-TISLEMTURU) |
IslemTipi |
0 NORMAL · 1 PEŞİN · 2 BEDELLİ · 3 İADE · 4 EMANET · 5 MİKTAR · 6–9 metal · 10 PARİTE · 11 RESMİ · 12 MAHSUP; −1/−2 "tip yok" (ENUM-ISLEM-TISLEMTIPI; 12–15 DB kod tablosunda yok, CTR-002) |
StokId/Kodu, Miktar, Adet, AuMilyem |
mal tarafı; Has = Miktar × AuMilyem |
BakiyeId |
malın cari hesaba yazılacağı birim; peşinse 0 (TERM-BAKIYEID-MAL-TARAFI) |
BirimId/Birim, Fiyat, Tutar |
para tarafı |
FisNo, RefNo, VaryantId |
fiş grubu, GUID, karşı satır bağı (VaryantId adı yanıltıcı, TD-39) |
HasKur…EurKur |
kayıt anı kur fotoğrafı (BR-KUR-001) |
IsDeleted, Mutabakat |
yumuşak silme, mutabakat işareti |
Defter üretimi (BR-DEFTER-URETIMI; kitapçık §3.5): kullanıcı yalnız Cari.Islemler'e yazar. TRG-CARI.ACCEPTTRANSACTION her satır için eski türetilmiş kayıtları siler, IslemKodu'na göre dallanıp stok defteri (Stok.StokHaraketleri — "nerede duruyor") ve bakiye defteri (Cari.BakiyeIslem — "kime ait") üretir; Insert/Update/Delete tetikleyicileri Cari.History'ye iz düşer ("ne olmuştu"). Kurallar: PEŞİN (tip 1) bakiye yazmaz; tip 11/12 operasyonel stok/bakiye kaydı üretmez; "peşin ise stok, cari ise bakiye" yanlış sadeleştirmedir — döviz kurulumunda cari işlemlerin %1,4'ü, kuyumcuda %60,3'ü stok üretir (CTR-038). Türetilmiş tablolara elle yazılmaz.
Bakiye işareti: Bakiye artı = müşteri borçlu, eksi = alacaklı; ekran ALACAK/BORÇ sütunları ve yeşil (A)/kırmızı (B) etiketi (BR-YON-007). Yön → işaret eşlemesi işlem ailesine göre değişir: maden/hurda/model GİRİŞ → eksi (BR-YON-002); çevir/vadeli/hizmet GİRİŞ → has artı, tutar eksi (BR-YON-003).
Kur (Sistem.Kurlar: Tarih, BirimId, Alis, Satis): kur giriş ekranı FrmKurGirisEkrani, dış akış EDS/tickdata (INT-KUR-EDS); kur listesi boşsa tutarlar 0 (PB-036).
Raporlar (MOD-RAPOR): menü raporları 10_Reports/Menu/INDEX, tablo fonksiyonları 10_Reports/Functions/INDEX, metrik tanımları METRIC_DICTIONARY (hacim, ciro, pozisyon, bakiye, stok, has, maliyet, kâr). Tuzak: hacim Cari.Islemler'den okunur; defterlerden okunursa resmî işlemler kaybolur.
ERPGOLD bağlantısı
Menü → FrmMainForm.onMenuSelect → ekran → DAO (AIO.*) → tablo (ARCHITECTURE). Tanımlamalar: FrmSubeEkle, FrmKasaEkle, FrmBirimEkle, FrmMadenEkle, FrmNakitEkle. "Tanımladım ama listede yok" → Ctrl+F5 (PB-039).
Örnek
Kitapçık §5.1 ve §5.3 yan yana: peşin yarım altın alımında BakiyeId 0 → iki stok satırı, sıfır bakiye; vadeli satışta BakiyeId 3 → iki bakiye satırı, sıfır stok. Aynı tablo, aynı tetikleyici; davranışı BakiyeId ve IslemTipi belirledi.
Uygulamalı senaryo
- SCN-NORMAL-MADEN ve SCN-PESIN-MADEN'in "Beklenen kayıt / Bakiye / Stok" bölümlerini karşılaştırıp farkı tek tabloda özetleyin.
- SCN-RESMI-ISLEM'de neden neden operasyonel stok/bakiye kaydı yazılmadığını tetikleyici koşuluyla açıklayın.
- SCN-CEVIR'de bakiye işaretlerini BR-YON-003 ile doğrulayın.
Sık karıştırılan noktalar
BakiyeId = 0≠ PEŞİN: NAKİT'te BakiyeId daima 0'dır ama NORMAL nakit işlemi bakiye üretir; peşinliğiIslemTipi = 1belirler (BR-BAKIYE-002, BR-TIP-002).BirimIdçok anlamlı: PEŞİN'deStok.Nakit.Id, diğerlerindeSistem.Birimler.Id(DOC-REPORT-GUIDE kural 5);StokIdde IslemKodu'na göre farklı tabloya işaret eder.- Üç numaralandırma (kitapçık §3.3):
IslemKodu(ürün grubu), menü düğme sırası (iMenuButtonType, yalnız kodda),IslemTuru/IslemTipi(yön/tip) — ekranda 4. sıradaki VADELİ'nin kodu 6'dır. Yon≠Bakiyeişareti:Cari.Islemler.Yonstok bakışıyla '+/−';Cari.BakiyeIslem.Bakiyemüşteri bakışıyla borç/alacak; raporlarBakiye * -1gösterir.- Fiş ≠ işlem: bir F2 bir fiş (FisNo) üretir; fişte birden çok satır (Id) olabilir; FisNo benzersiz değildir ve
Max+1ile üretilir (TD-02, PB-065). Tarih≠Vade≠InsertDate: işlem günü, vade günü, kayıt anı; çoğu ekranın TARİH kutusuVade'ye yazar (TD-40).- Kod tablosu ≠ enum:
Sistem.CariIslemTipi/Kodutablolarında 12–15 ve 14 yoktur; kod enum'u esas (CTR-002/039/044).
Eğitmen notları
- Materyal: eğitim DB'sinde salt okunur SSMS/MCP; TBL-CARI.ISLEMLER kolon listesi; kitapçık §3.5 diyagramı tahtada.
- Süre dağılımı: hiyerarşi + cari + stok (2 saat), işlem satırı + defter üretimi (3 saat), bakiye işareti + kur + rapor (1 saat), uygulama + quiz (1,5 saat).
- Sık hata: "peşin ise stok, cari ise bakiye" ezberi; CTR-038 tablosunu mutlaka gösterin.
- Teknik olmayan gruplarda kolon adlarını ekran etiketleriyle eşleyerek anlatın; tetikleyici kodunu göstermeyin (L5).
Kaynak makaleler
Kitapçık §3 · TBL-SISTEM.SIRKETLER · TBL-SISTEM.SUBELER · TBL-SISTEM.KASALAR · TBL-CARI.HESAPLAR · TBL-CARI.ISLEMLER · TBL-CARI.BAKIYEISLEM · TBL-STOK.STOKHARAKETLERI · TBL-CARI.HISTORY · BR-DEFTER-URETIMI · TRG-CARI.ACCEPTTRANSACTION · METRIC_DICTIONARY · ENUM INDEX
Quiz
- (ÇS) Stok hangi seviyede tutulur? a) şirket b) şube c) kasa d) hesap
- (KC) Kullanıcının yazdığı tek tablo hangisidir; hangi nesne defterleri üretir?
- (ÇS)
BakiyeId = 0ne anlama gelir? a) hesap pasif b) mal cari hesaba yazılmayacak c) stok kartı yok d) resmî işlem - (ÇS)
IslemTipi 11satırı… a) yalnız bakiye b) yalnız stok c) hiçbir defter d) her ikisi - (KC)
Cari.BakiyeIslem.Bakiye= −50 HAS ne demek? - (ÇS)
IslemKodu 3hangi ekrandır? a) HURDA b) NAKİT c) ÇEVİR d) TAKOZ - (KC) "Peşin ise stok, cari ise bakiye" cümlesi neden yanlış sadeleştirmedir?
- (ÇS)
Cari.History'de düzeltmede hangi hâl saklanır? a) eski b) yeni c) ikisi d) hiçbiri - (KC) Hacim raporu neden
Cari.Islemler'den okunmalı? - (ÇS) Bir işlem satırının "para tarafı" hangi kolonlardır? a) StokId/Miktar b) BirimId/Tutar c) BakiyeId/Adet d) FisNo/RefNo
Cevap anahtarı
| # | Cevap | Kaynak |
|---|---|---|
| 1 | c | kitapçık §3.1; RFN-BAKIYE.GETBAKIYE |
| 2 | Cari.Islemler; Cari.AcceptTransaction (bakiye/stok), Insert/Update/DeleteTransaction (History) |
BR-DEFTER-URETIMI, ARCHITECTURE |
| 3 | b | TERM-BAKIYEID-MAL-TARAFI |
| 4 | c | BR-TIP-004, CTR-003 |
| 5 | müşteri 50 g has alacaklı (biz borçluyuz) | TBL-CARI.BAKIYEISLEM, BR-YON-007 |
| 6 | b | ENUM-ISLEM-TISLEMKODU |
| 7 | iki eksen bağımsız; kuyumcuda cari işlemlerin %60,3'ü stok üretir | BR-DEFTER-URETIMI (CTR-038) |
| 8 | b — iptalde eski | kitapçık §5.6; BR-DUZELTME-009 |
| 9 | resmî işlemler (hacmin ~%25'i) defter üretmez | kitapçık §5.5; METRIC_DICTIONARY |
| 10 | b | kitapçık §3.4; TBL-CARI.ISLEMLER |
Minimum başarı kriteri
- Quiz: 10 sorudan en az 8 doğru; 2, 3, 4 zorunlu doğru.
- Uygulamalı senaryo: üç adımın tamamı; 1. adımdaki karşılaştırma tablosunda bakiye/stok satır sayıları doğru (NORMAL: 2 bakiye + 1 stok; PEŞİN: 0 bakiye + 2 stok).
