⚡ BAGLANTIGETIR
📌 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.
@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.
| @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. |
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ı)
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
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.
✨ Logo Tiger & SQL entegrasyonları için pratik bir stored procedure örneği. Firmanıza özel raporlama araçları geliştirebiliriz.