Mikro Erp Banka Hareketlerini Muhasebe Fişlerinden Almak için
Posted on Aralık 15, 2025 by
Şaban ÇİÇEK
Mikro Fly-Jump: Banka Hareketlerini Muhasebe Fişlerinden Almak (102’li Hesaplar)
Amaç: Muhasebe fişlerinde yer alan 102* banka hesap hareketlerini çekip,
tarih / banka hesap kodu / hesap adı / cari kod / cari unvan / açıklama / tutarlar şeklinde raporlamak.
Bu yöntem, Mikro Fly-Jump programlarında “banka hareketini fişten türetme” senaryolarında sık kullanılır.
Mantık nasıl çalışıyor?
- Kaynak:
MUHASEBE_FISLERItablosu (fiş satırları). - Filtre:
fis_hesap_kod LIKE '102%'→ 102’li hesaplar (Banka hesapları). - Hesap Adı:
MUHASEBE_HESAP_PLANItablosundan banka hesap koduna göre çekilir. - Cari Bilgi: Fişin ticari bağlantısı (
fis_ticari_uid) üzerindenCARI_HESAP_HAREKETLERIveCARI_HESAPLARile eşleştirilir. - Tutarlar:
fis_meblag0(TL),fis_meblag1(Alternatif),fis_meblag2(Orj) olarak raporlanır.
Rapor çıktısında hangi alanlar var?
| Kolon | Açıklama |
|---|---|
| TARİH | Fiş tarihi (fis_tarih). |
| HESAP KODU | Banka muhasebe hesap kodu (fis_hesap_kod). |
| İSİM | Hesap planından banka hesap adı. |
| CARİ KOD | Fişin bağlı olduğu cari (ticari UID üzerinden). |
| CARİ UNVAN | Cari hesap kartındaki unvan (cari_unvan1). |
| AÇIKLAMA | Fiş açıklaması (fis_aciklama1). |
| TL / ALTERNATİF / ORJ | Fişteki tutarlar (fis_meblag0/1/2). |
| SOR.MERKZ. | Sorumluluk merkezi kodu (fis_sorumluluk_kodu). |
SQL (daha okunabilir ve genelde daha hızlı sürüm)
Neden bu sürüm? İlk sorgudaki iç içe
SELECT (scalar subquery) yerine JOIN / APPLY kullanır.
Büyük veride hem okunabilirlik artar hem de plan daha sağlıklı olur.
SELECT
f.fis_tarih AS [TARİH],
f.fis_hesap_kod AS [HESAP KODU],
hp.muh_hesap_isim1 AS [İSİM],
chx.cha_kod AS [CARİ KOD],
c.cari_unvan1 AS [CARİ UNVAN],
f.fis_aciklama1 AS [AÇIKLAMA],
f.fis_meblag0 AS [TL],
f.fis_meblag1 AS [ALTERNATİF],
f.fis_meblag2 AS [ORJ],
f.fis_sorumluluk_kodu AS [SOR.MERKZ.]
FROM MUHASEBE_FISLERI f
LEFT JOIN MUHASEBE_HESAP_PLANI hp
ON hp.muh_hesap_kod = f.fis_hesap_kod
-- ticari_uid birden çok hareketle eşleşebiliyorsa tek satır almak için OUTER APPLY
OUTER APPLY (
SELECT TOP (1) ch.cha_kod
FROM CARI_HESAP_HAREKETLERI ch
WHERE ch.cha_Guid = f.fis_ticari_uid
) chx
LEFT JOIN CARI_HESAPLAR c
ON c.cari_kod = chx.cha_kod
WHERE f.fis_hesap_kod LIKE '102%'
-- AND f.fis_tarih BETWEEN ?T1 AND ?T2
;
Performans notu (kritik indeks önerisi)
Bu rapor en çok fis_hesap_kod ve fis_ticari_uid / cha_Guid üzerinden çalışır.
Aşağıdaki indeksler genelde ciddi hız kazandırır:
-- Fişlerde 102 filtre + ticari uid erişimi
CREATE INDEX IX_MUHASEBE_FISLERI_102
ON MUHASEBE_FISLERI (fis_hesap_kod, fis_tarih)
INCLUDE (fis_ticari_uid, fis_aciklama1, fis_meblag0, fis_meblag1, fis_meblag2, fis_sorumluluk_kodu);
-- Cari hareketlerde GUID üzerinden hızlı erişim
CREATE INDEX IX_CARI_HAREKET_chaGuid
ON CARI_HESAP_HAREKETLERI (cha_Guid)
INCLUDE (cha_kod);
Not:
MUHASEBE_HESAP_PLANI.muh_hesap_kod ve CARI_HESAPLAR.cari_kod zaten genelde PK/Index’tir.
97 görüntülenme •
0 Yorum •
Son Güncelleme: Aralık 15, 2025