AIFA AKADEMI · Kurumsal Wiki
4.330 makale
Ana sayfa Kurumsal Wiki › Veritabanı › Functions › FN-STOK.GETSTOKHARAKETLERI

Stok.GetStokHaraketleri

FUNCTIONMOD-STOKERPGOLD_COREUNUSED_HIGH_CONFIDENCEVERY_HIGH[SOURCE_IMPLEMENTED]
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

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

BASE künyesi ve kullanım haritası (v1.5 · 13.09.2026)

BASE DurumuBASE dışı — BASE Status: CANDIDATE_CANONICAL (Runtime Certification tamamlanmadı)
BASE SınıfıUNKNOWN (BASE MASTER) · Wiki önerisi: UNKNOWN — F-POSSIBLE_STORED_SQL_TARGET · Action: MANUAL_REVIEW · Güven: LOW
Runtime CertificationN/A — BASE üyesi değil
Kodda Kullanılıyor mu?HAYIR — doğrudan/dolaylı kod referansı bulunamadı
Kod Referans SayısıBASE taraması: 0 (uygulama kodunda string literal referansı yok) · Kullanım Haritası kanıtı: 0 kayıt
Kullanan Ekranlar
Kullanan Class/Method
Incoming Dependency (bunu kullanan nesneler)
Outgoing Dependency (bunun kullandığı nesneler)Cari.Hesaplar, Cari.IslemDetaylari, Cari.Islemler, Sistem.Kasalar, Stok.Maden, Stok.Nakit, Stok.StokHaraketleri
Trigger İlişkisiyok
Ticket Problem Aileleri
Bilinen Hatalar
Bilinen SQL Riskleri
Health Check Kuralı
Müşteri Özel mi?HAYIR
Opsiyonel Modül mü?HAYIR
Legacy mi?HAYIR
Son Doğrulama Tarihi13.09.2026 — statik analiz (katalog 2026-09-10 + kaynak kod taraması). Çalışma zamanı doğrulaması: PENDING

Kullanım haritası

Kullanım Haritası kategorisiF — MANUAL REVIEW · F-POSSIBLE_STORED_SQL_TARGET · güven 50
GerekçeSonuç 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
Uzlaştırma10_Manual_Review — Her iki yöntem de karar veremedi: 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.Layou

Bkz. ERPGOLD BASE · Uzlaştırma · Database Usage Map · Kullanım Haritası Manual · Hata Bilgi Bankası. BASE Status: CANDIDATE_CANONICAL · Runtime Certification: PENDING · 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_modules tanımı (salt okunur); gizli sabitler [REDACTED_SECRET] ile değiştirildi.

Bilinmeyenler

  • Hangi sürümde eklendiği: created DB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).