Mikro Tablo Yapısı (v16/v17): STOKLAR'dan CARI_HESAP_HAREKETLERI'ne Rehber
Mikro'da SQL ile rapor almanın ilk adımı tablo haritasını bilmektir: stoklar nerede, cari hareketler nerede, fatura hangi tabloda? Bu rehberde Mikro v16/v17 veritabanının tablo yapısını, adlandırma mantığını ve kritik kod sözlüklerini (evrak tipi, hareket yönü) tek sayfada topluyoruz. Yazıdaki tüm sorgular gerçek v16 ve v17 veritabanlarında test edilmiştir.
Mikro adlandırma mantığı: kolon önekleri
Mikro'da her tablonun kolonları o tabloya özgü bir önek taşır; öneki tanıyınca kolonun hangi tabloya ait olduğunu her sorguda okuyabilirsiniz:
STOKLAR→sto_(örn.sto_kod,sto_isim)STOK_HAREKETLERI→sth_(örn.sth_stok_kod,sth_miktar)CARI_HESAPLAR→cari_(örn.cari_kod,cari_unvan1)CARI_HESAP_HAREKETLERI→cha_(örn.cha_kod,cha_meblag)SIPARISLER→sip_(örn.sip_stok_kod,sip_miktar)
Ortak kalıplar da öneklidir: her satırda <önek>_Guid (benzersiz kimlik), evraklarda <önek>_evrakno_seri + <önek>_evrakno_sira, iptal bayrağı <önek>_iptal.
En çok kullanılan Mikro tabloları
| Tablo | Ne tutar | Öne çıkan kolonlar |
|---|---|---|
STOKLAR |
Stok kartları | sto_kod, sto_isim, sto_birim1_ad |
STOK_HAREKETLERI |
Tüm stok giriş/çıkışları (fatura ve irsaliye kalemleri dahil) | sth_stok_kod, sth_miktar, sth_tutar, sth_tip, sth_evraktip |
CARI_HESAPLAR |
Cari kartlar | cari_kod, cari_unvan1 |
CARI_HESAP_HAREKETLERI |
Cari (parasal) hareketler | cha_kod, cha_meblag, cha_tip, cha_evrak_tip, cha_tarihi |
SIPARISLER |
Sipariş kalemleri | sip_stok_kod, sip_miktar, sip_teslim_miktar, sip_tip |
KASALAR / BANKALAR |
Kasa ve banka tanımları | hareketleri cari hareket tablosuyla ilişkilidir |
Dikkat: Mikro'da ayrı bir FATURALAR tablosu yoktur. Fatura, kalemleri STOK_HAREKETLERI'nde, parasal ayağı CARI_HESAP_HAREKETLERI'nde duran birleşik bir kavramdır. Ayrıntısı için: Mikro'da fatura hangi tabloda?
Kod sözlükleri: tip ve evrak kolonları
Mikro raporculuğunun kalbi bu küçük enum'lardır. Yanlış kod, sessizce yanlış rapor demektir.
STOK_HAREKETLERI tarafı:
| Kolon | Değerler |
|---|---|
sth_tip (yön) |
0: Giriş, 1: Çıkış, 2: Depo Transferi |
sth_cins (sınıf) |
0: Toptan, 1: Perakende, 4: Fire, 5: Sarf, 7: Üretim, 10: Sayım, 11: Açılış |
sth_evraktip (evrak) |
1: Çıkış İrsaliyesi, 13: Giriş İrsaliyesi, 3: Giriş (Alış) Faturası, 4: Çıkış (Satış) Faturası, 6: Stok Virmanı, 7: Üretim |
CARI_HESAP_HAREKETLERI tarafı:
| Kolon | Değerler |
|---|---|
cha_tip (yön) |
0: Borç, 1: Alacak |
cha_cinsi (sınıf) |
0: Nakit, 5: Dekont, 6: Toptan Fatura, 7: Perakende Fatura, 8: Hizmet |
cha_evrak_tip (evrak) |
0: Alış Faturası, 63: Satış Faturası, 1: Tahsilat, 64: Tediye (geniş bir listedir) |
Her sorguda iki zorunlu kural
- İptal filtresi:
sth_iptal = 0,cha_iptal = 0,sip_iptal = 0. İptal edilen evraklar tabloda durur; filtrelemezseniz rapora karışır. - İade yönü:
sth_normal_iade/cha_normal_Iade(0: Normal, 1: İade). Net rakam için iadeyi düşün.
İki pratik örnek
-- Stok kartı listesi
SELECT sto_kod, sto_isim, sto_birim1_ad
FROM STOKLAR
ORDER BY sto_isim;
-- Cari bakiye listesi (borç/alacak yönü cha_tip'ten)
SELECT ch.cha_kod, c.cari_unvan1,
SUM(CASE WHEN ch.cha_tip = 0 THEN ch.cha_meblag ELSE 0 END) AS [Borç],
SUM(CASE WHEN ch.cha_tip = 1 THEN ch.cha_meblag ELSE 0 END) AS [Alacak],
SUM(CASE WHEN ch.cha_tip = 0 THEN ch.cha_meblag ELSE -ch.cha_meblag END) AS [Bakiye]
FROM CARI_HESAP_HAREKETLERI ch
JOIN CARI_HESAPLAR c ON c.cari_kod = ch.cha_kod
WHERE ch.cha_iptal = 0
GROUP BY ch.cha_kod, c.cari_unvan1
HAVING SUM(CASE WHEN ch.cha_tip = 0 THEN ch.cha_meblag ELSE -ch.cha_meblag END) <> 0
ORDER BY [Bakiye] DESC;
Daha fazlası için hazır arşiv: Mikro hazır SQL sorguları (10 örnek).
v16 ile v17 farkı bu haritayı değiştirir mi?
Ana tablolar ve önek mantığı aynıdır; ama sürümler arasında kolon eklenip kaldırılabilir, bazı alanların davranışı değişebilir. Sorgularınızı sürüme göre doğrulamadan taşımayın; ayrıntı için: Mikro v16 ve v17 farkları.
Sık sorulanlar
Mikro'da tablo listesini nereden görebilirim? SQL Server Management Studio'da veritabanını açıp tablolara bakabilirsiniz; ancak binlerce nesne vardır. Bu rehberdeki çekirdek harita günlük raporların çoğuna yeter.
Fatura başlığı diye bir tablo gerçekten yok mu? Yok. Faturanın parasal başlığı cari hareket satırıdır (cha_evrak_tip = 63 satış için); kalemler stok hareketindedir ve sth_fat_uid = cha_Guid ile bağlanır.
Tablo ve kod ezberlemeden rapor alabilir miyim? Evet. Erp Asistanı'nda sorunuzu Türkçe yazarsınız; sistem doğru tabloyu, yönü ve evrak tipini sizin sürümünüze (v16/v17) göre kurar.
Bu haritayı ezberlemek yerine kullanmak isteyenler için: Erp Asistanı'na ücretsiz üye olun, istediğiniz raporu doğal dille isteyin; Mikro şemanıza uygun, iptal ve iade kuralları doğru kurulmuş SQL'i saniyeler içinde alın.
Mikro'da SQL ve raporu konuşarak alın
Türkçe sorunuzu yazın, şemanıza uygun çalışan SQL'i ya da hazır uygulamanızı saniyeler içinde alın. Kredi kartı gerekmez.