⚡ BAGLANTIGETIR

Logo Tiger · Muhasebe Bağlantı Kodları

📌 Nedir? Logo Tiger ERP’de ön muhasebe kodları (stok, cari, hizmet, banka vb.) ile genel muhasebe hesapları arasındaki bağlantıyı getiren bir stored procedure’dür. Bu prosedür sayesinde hangi ön muhasebe kartının hangi muhasebe hesabına bağlandığını hızlıca görebilirsiniz.

💡 Logo Tiger’da “Bağlantı Kodları” — Malzeme, cari, hizmet, banka kartlarına tanımlanmış muhasebe kodlarını tek bir sorguyla döndürür. İki parametre alır: @LGNumber (Firma no) ve @TRCode (kart türü).

🎯 Bu prosedür, LG_00X_CRDACREF tablosunu kullanarak ilgili kartın kodunu, ismini ve bağlı olduğu muhasebe hesap kodunu / adını getirir. Farklı TRCode değerleri farklı kart tiplerini temsil eder.

🔧 Parametreler
@LGNumber INT — Firma numarası.
Örnek: 2 → LG_002_* tablolarını kullanır.
@TRCode INT — Kart türü kodudur.
Aşağıdaki listedeki değerlerden biri olmalıdır.
📋 TRCODE Değerleri & Açıklama

1 → MALZEME KARTLARI (Stok / Items)

3 → ALINAN HİZMET MUHASEBE KODLARI

4 → VERİLEN HİZMET MUHASEBE KODLARI

5 → CARİ KARTLAR (Cari Hesap)

6 → BANKA KARTLARI (Banka Hesap Kodları)


🧩 Not: TRCODE 2 genelde kullanılmaz; prosedürde 1,3,4,5,6 için tablo eşlemesi yapılmıştır.

▶️ Kullanım Örneği

Aşağıdaki gibi çalıştırarak 2 numaralı firmanın banka kartlarının bağlantı kodlarını (muhasebe hesabı) listeleyebilirsiniz:

EXEC [dbo].[BAGLANTIGETIR] @LGNumber = 2, @TRCode = 6;

📌 Veya cari kartların bağlantılarını görmek için: EXEC BAGLANTIGETIR 2,5
📌 Malzeme kartları: EXEC BAGLANTIGETIR 2,1

🧾 Dönen Sütunlar: KODU (kart kodu), ISIM (kart adı), MUH_KODU (bağlı muhasebe kodu), MUH_ADI (muhasebe hesap adı).

📜 Stored Procedure: BAGLANTIGETIR
T-SQL · Logo Tiger
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[BAGLANTIGETIR]
    @LGNumber INT,
    @TRCode INT
AS
BEGIN
    DECLARE @SQL NVARCHAR(MAX);

    SET @SQL = '
    SELECT 
       
        CASE 
            WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' = 1 THEN (SELECT CODE FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_ITEMS WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
            WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' IN (3, 4) THEN (SELECT CODE FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_SRVCARD WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
            WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' = 5 THEN (SELECT CODE FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CLCARD WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
            WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' = 6 THEN (SELECT CODE FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_BANKACC WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
        
		END AS KODU,
		
        CASE 
            WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' = 1 THEN (SELECT NAME FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_ITEMS WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
            WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' IN (3, 4) THEN (SELECT DEFINITION_ FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_SRVCARD WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
            WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' = 5 THEN (SELECT DEFINITION_ FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CLCARD WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
         WHEN ' + CAST(@TRCode AS VARCHAR(3)) + ' = 6 THEN (SELECT DEFINITION_ FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_BANKACC WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.CARDREF)
    
		END AS ISIM,
       (SELECT CODE FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_EMUHACC WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.ACCOUNTREF) AS MUH_KODU,
        (SELECT DEFINITION_ FROM LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_EMUHACC WHERE LOGICALREF = LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF.ACCOUNTREF) AS MUH_ADI

    FROM 
        LG_00' + CAST(@LGNumber AS VARCHAR(3)) + '_CRDACREF  
    WHERE 
        TRCODE = ' + CAST(@TRCode AS VARCHAR(3));

    EXEC sp_executesql @SQL;
END
GO

🔍 İşleyiş Mantığı: Prosedür dinamik SQL kullanarak parametrelere göre tablo adlarını (LG_00X_ITEMS, LG_00X_SRVCARD, LG_00X_CLCARD, LG_00X_BANKACC) oluşturur ve LG_00X_CRDACREF (bağlantı referans tablosu) üzerinden kart kodlarını ve muhasebe hesap bilgilerini çeker. TRCODE’ a göre ilgili kart tipinden isim/kod bilgisi alınır, EMUHACC tablosundan da muhasebe hesap kodu ve adı eklenir.

⚙️ Kullanım İpuçları: Raporlama yaparken, ön muhasebe fişlerinin muhasebe kodlarına nasıl yansıdığını görmek için harika bir araçtır. Stoktan cariye, bankadan hizmet kartlarına kadar tüm bağlantıları tek bir sorguyla görüntüleyebilirsiniz.

📢 İletişim & Destek: Her türlü rapor talebinizde, Logo Tiger özel geliştirme ihtiyaçlarınızda iletişime geçebilirsiniz. Prosedürü ihtiyacınıza göre geliştirmek veya farklı modüllere uyarlamak mümkündür.

✨ Logo Tiger & SQL entegrasyonları için pratik bir stored procedure örneği. Firmanıza özel raporlama araçları geliştirebiliriz.