Erp Asistanı Erp Asistanı
Mikro SQL

Mikro Tablo Yapısı (v16/v17): STOKLAR'dan CARI_HESAP_HAREKETLERI'ne Rehber

5 dk okuma Erp Asistanı
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:

  • STOKLARsto_ (örn. sto_kod, sto_isim)
  • STOK_HAREKETLERIsth_ (örn. sth_stok_kod, sth_miktar)
  • CARI_HESAPLARcari_ (örn. cari_kod, cari_unvan1)
  • CARI_HESAP_HAREKETLERIcha_ (örn. cha_kod, cha_meblag)
  • SIPARISLERsip_ (ö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

  1. İptal filtresi: sth_iptal = 0, cha_iptal = 0, sip_iptal = 0. İptal edilen evraklar tabloda durur; filtrelemezseniz rapora karışır.
  2. İ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.

Ücretsiz üye olun, sorgunuzu doğal dille üretin →

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.