Erp Asistanı Erp Asistanı
Mikro SQL

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

Mikro veritabanı tablo haritası: kolon önekleri, stok/cari/sipariş tabloları, sth_evraktip ve cha_evrak_tip kod sözlükleri, iptal-iade kuralları ve örnek SQL'ler.

Erp Asistanı Erp Asistanı Editör ekibi 5 dk okuma
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

  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; yalnız cari hesaplar)
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 AND ch.cha_cari_cins = 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;

cha_cari_cins = 0 şartı hareketleri yalnız cari hesaplara indirir (kasa ve banka hareketleri de bu tablodadır). cha_meblag hareketin kendi para birimindedir; dövizli çalışan carilerde TL karşılığı için cha_d_kur ile çarpın.

Daha fazlası için hazır arşiv: Mikro hazır SQL sorguları (10 örnek).

Sürüm bu haritayı değiştirir mi?

Ana tablolar ve önek mantığı üç sürümde aynıdır; ama kimlik kolonları, tablolar arası bağlar ve bazı fonksiyonların parametreleri sürüme göre değişir. v15'te satır kimliği <önek>_Guid değil RECno ile RECid çiftidir; v17 ise tablolara yeni sistem kolonları ve varyant tabloları ekler. Sürümünüze özel harita için:

Sorgularınızı sürüme göre doğrulamadan taşımayın; geçiş 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 →

Bu yazıyı paylaş
Konuşarak raporlayı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.