Tip: INLINE TABLE FUNCTION · Şema: Stok · Modül: MOD-STOK · Temizlik sınıfı: UNUSED_HIGH_CONFIDENCE (kategori E, güven 95) · Kapsam: ERPGOLD_CORE / ALL
Kullanım haritası (13.09.2026)
| Kategori | F — MANUAL REVIEW · F-POSSIBLE_STORED_SQL_TARGET |
| Güven | 50 |
| Gerekçe | Sonuç kümesi döndüren TVF/görünüm: menü raporu, popup grid ve dashboard tanımları (AifaDev.Reports.SQL, ReportsFilter.SQL, Design.PopupGrid.SQL, Dashboard.Layout) kurulum bazlı VERİDİR; V2 demoda referans yok ama başka müşteri DB'sinde olabilir. ERPGOLD kodunda, DB içi rapor/tasarım SQL'inde (V2 demo), dinamik SQL kalıplarında, tetikleyici/FK/computed/cross-db bağlarında ve gerekli nesnelerin bağımlılık grafında referans yok |
Bkz. Database Usage Map · Manual Review. Hiçbir DB değişikliği yapılmadı; SAFETY > CLEANUP.
Temizlik kanıtı
| Kontrol | Sonuç |
|---|---|
| app | NO |
| report | NO |
| config | NO |
| dynamic | NO |
| db_in | NO |
| db_out | YES |
| trigger | NO |
| fk | NO |
| computed | NO |
| crossdb | NO |
| runtime | UNKNOWN |
| external | NO |
Gerekçe: Hiçbir kaynakta referans bulunamadı
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Tür: FUNCTION (IF) · Modül: MOD-STOK · Uzunluk: 43 satır
Özet
Bir stok kartının (nakit) tarih aralığındaki hareket ekstresi — devir, giren, çıkan, kalan miktar ve fatura/cari bilgisiyle yürüyen bakiye döner.
Parametreler
| # | Parametre | Tip | Çıktı |
|---|---|---|---|
| 1 | @StokId | int | |
| 2 | @BasTarih | date | |
| 3 | @SonTarih | date |
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.Hesaplar | TABLE |
| READS | Cari.IslemDetaylari | TABLE |
| READS | Cari.Islemler | TABLE |
| READS | Sistem.Kasalar | TABLE |
| READS | Stok.Maden | TABLE |
| READS | Stok.Nakit | TABLE |
| READS | Stok.StokHaraketleri | TABLE |
İlgili iş kuralları
- CTE ile devir + hareketleri toplar; StokTipi=2 (nakit) odaklıdır; kur ve net tutar hesaplar (Stok.GetStokHaraketleri.md)
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Function [Stok].[GetStokHaraketleri] (@StokId int,@BasTarih as Date,@SonTarih as Date)
returns Table
as
return
WITH cteSatis AS
(
SELECT @BasTarih as Tarih,StokTipi,0 as IslemId,StokId,SUM(Case When H.Miktar>0 Then H.Miktar Else 0 End ) as GirenMiktar,Sum(Case When H.Miktar<0 Then H.Miktar Else 0 End) as CikanMiktar FROM Stok.StokHaraketleri H Where StokTipi=2 And StokId=@StokId And Tarih<@BasTarih And Tarih<=@SonTarih GROUP BY StokId ,Tarih ,IslemId ,StokTipi
UNION ALL
SELECT Top 100000000 Tarih,StokTipi,IslemId,StokId,SUM(Case When H.Miktar>0 Then H.Miktar Else 0 End ) as GirenMiktar,Sum(Case When H.Miktar<0 Then H.Miktar Else 0 End) as CikanMiktar FROM Stok.StokHaraketleri H Where StokTipi=2 And StokId=@StokId And Tarih>=@BasTarih And Tarih<=@SonTarih GROUP BY StokId ,Tarih ,IslemId ,StokTipi Order By Tarih
)
Select Top 100000000 H.Tarih,I.KasaId,K.Kodu as Kasa,
Case When H.StokTipi=1 Then 'MADEN' When H.StokTipi=2 Then 'NAKIT' End as StokCinsi,Case When I.Yon ='-' Then 'Çıkış Faturası' When I.Yon ='+' Then 'Giriş Faturası' end as EvrakTipi,
ISNULL(M.Kodu,N.Kodu) as StokKodu,
Case When Yon ='+' Then 'A' Else 'S' End + CAST( REPLICATE ('0',10-Len(SiraNo)) + CAST(SiraNo as varchar) as varchar) as RefNo,
D.FaturaSeri + '/' + convert(nvarchar(max), IsNull(D.FaturaNo ,0)) as FaturaNo,
H.OncekiToplam as Devir,
H.GirenMiktar,
abs(H.CikanMiktar ) as CikanMiktar,
H.OncekiToplam + (H.GirenMiktar+ H.CikanMiktar) as KalanMiktar,
Case When StokTipi=2 Then CASE wHEN N.Kodu='USD' Then UsdKur wHEN N.Kodu='EUR' Then EurKur When N.Kodu ='TL' Then 1 End end as Kur,
abs((H.GirenMiktar+ H.CikanMiktar)) *Case When StokTipi=2 Then CASE wHEN N.Kodu='USD' Then UsdKur wHEN N.Kodu='EUR' Then EurKur When N.Kodu ='TL' Then 1 End end as NetTutar,
F.HesapAdi as Cariİsmi
from
(
SELECT Top 1000000000 A.Tarih,A.StokTipi,A.IslemId , a.StokId , A.GirenMiktar,A.CikanMiktar, ISNULL(SUM(b.GirenMiktar+ B.CikanMiktar),0) OncekiToplam
FROM cteSatis a LEFT JOIN cteSatis b ON (A.Tarih = b.Tarih And A.IslemId >b.IslemId or (A.Tarih >B.Tarih)) And a.StokId =b.StokId and a.StokTipi =b.StokTipi
GROUP BY a.Tarih ,a.StokId,a.GirenMiktar,A.CikanMiktar ,a.IslemId ,A.StokTipi
) H
Left Join Cari.Islemler I on I.Id=H.IslemId
Left Join Cari.IslemDetaylari D on D.IslemId=I.Id
Left Join Stok.Maden M on H.StokTipi=1 And H.StokId=M.Id
Left Join Stok.Nakit N on H.StokTipi=2 And H.StokId=N.Id
Left Join Cari.Hesaplar F on F.Id =I.HesapId
Left Join Sistem.Kasalar K on K.Id=I.KasaId
Where I.Tarih>=@BasTarih and I.Tarih<=@SonTarih
Order By StokCinsi,ISNULL(M.Kodu,N.Kodu) , H.Tarih ,H.IslemId
Kaynaklar
- SRC-DB-MODULES —
sys.sql_modulestanımı (salt okunur); gizli sabitler[REDACTED_SECRET]ile değiştirildi.
Bilinmeyenler
- Hangi sürümde eklendiği:
createdDB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).
