AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Veritabanı › Functions › FN-MUHASEBE.STOKHARAKETLERI

Muhasebe.StokHaraketleri

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

Tip: INLINE TABLE FUNCTION · Şema: Muhasebe · Modül: MOD-FATURA · Temizlik sınıfı: INDIRECTLY_USED (kategori B, güven 0) · Kapsam: ERPGOLD_CORE / ALL

Kullanım haritası (13.09.2026)

KategoriB — INDIRECT DEPENDENCY · B-INDIRECT
Güven95
Derinlik / kök1 · Muhasebe.MerkezBankasiRaporu
DependencyPathERPGOLD → AifaDev.Reports / Design (DB içi SQL) → Muhasebe.MerkezBankasiRaporu → Muhasebe.StokHaraketleri

Bkz. Database Usage Map · Core Database Objects. 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 YES
db_out YES
trigger NO
fk NO
computed NO
crossdb NO
runtime UNKNOWN
external NO

Gerekçe: Muhasebe.MerkezBankasiRaporu → Muhasebe.StokHaraketleri (catalog)

KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)

Tür: FUNCTION (IF) · Modül: MOD-FATURA · Uzunluk: 38 satır

Özet

[GAP] Kaynakta açıklama yorumu yok; davranış aşağıdaki SQL tanımından ve ilişkilerden okunur.

Parametreler

# Parametre Tip Çıktı
1 @SubeId int
2 @StokTipi int
3 @BasTarih date
4 @SonTarih date

Bağımlılıklar (bu nesne → hedef)

İlişki Hedef Tip
CALLS Muhasebe.Islemler FUNCTION
READS Sistem.Birimler TABLE
READS Sistem.Vadeli TABLE
READS Stok.Maden TABLE
READS Stok.Nakit TABLE

Bu nesneyi kullananlar

SQL tanımı (AS-IMPLEMENTED, örnek DB)

CREATE Function [Muhasebe].[StokHaraketleri] (@SubeId int,@StokTipi int,@BasTarih as Date,@SonTarih as Date)
returns table
as
return
Select 2 as StokType,T.SubeId ,T.KasaId ,T.Tarih ,T.IslemId,Case When   IslemTuru % 2  =0 Then 'A' Else 'S' End as Islem,T.BirimId as StokId,B.Kodu ,B.Aciklama ,FaturaNo ,0 AS Adet,T.Miktar ,Case When B.Kodu <>'TL' Then  T.TLTutar Else T.Miktar  End as TLTutar,Case When Kodu <>'TL' Then  T.UsdTutar Else null  End as UsdTutar From 
            (
            select  H.IslemId,
                    H.SubeId,
                    H.KasaId,
                    H.Tarih,
                    IslemTipi,
                    IslemTuru,
                    case 
                        when IslemKodu =1 or IslemKodu=2 Then KM.AnaBirimId 
                        When IslemKodu =3 then KN.AnaBirimId 
                        WHEN IslemKodu =6 then KV.AnaBirimId 
                    END AS StokId,H.FaturaNo,
                    Case When   IslemTuru % 2  =0 Then Miktar Else Miktar *-1 End as Miktar,
                    Case When IslemTipi=1 Then TN.AnaBirimId Else H.BirimId End as BirimId,
                    Case When   IslemTuru % 2  =  0 Then Tutar *-1 Else Tutar  End as Tutar,
                    Case When   IslemTuru % 2  =  0 Then TLTutar *-1 Else TLTutar  End as TLTutar,
                    Case When   IslemTuru % 2  =  0 Then USDTutar *-1 Else USDTutar  End as USDTutar
            from muhasebe.Islemler(@SubeId,@BasTarih,@SonTarih)   H
            Left Join Stok.Maden KM on KM.Id =H.StokId And H.IslemKodu in (1,2)             ------EĞER İŞLEM MADEN YADA HURDA İŞLEMİ İSE 
            Left Join Stok.Nakit KN on KN.Id =H.StokId And H.IslemKodu =3                    ------EĞER İŞLEM NAKİT İŞLEMİ İSE
            Left Join Sistem.Vadeli KV on KV.Id =H.StokId And H.IslemKodu =6         ------EĞER İŞLEM VADELİ İŞLEMİ İSE
            Left Join Stok.Nakit TN on TN.Id =H.BirimId     ------EĞER İŞLEM PEŞİN İŞLEMİ İSE TUTARA NAKİT STOKLARININ BİRİMID SİNİ YAZ

            )  X
                CROSS APPLY(VALUES
                    (SubeId,KasaId,Tarih,IslemTipi,IslemId,StokId,Miktar,TLTutar,UsdTutar) ,
                    (SubeId,KasaId,Tarih,IslemTipi,IslemId,BirimId,Case When IslemTipi<>12 Then Tutar end,Case When IslemTipi<>12 Then TLTutar End,Case When IslemTipi<>12 Then UsdTutar End))  
                    T(SubeId,KasaId,Tarih,IslemTipi,IslemId,BirimId,Miktar,TLTutar,UsdTutar)
                    Left Join Sistem.Birimler B on B.Id=T.BirimId 
            where T.Miktar <>0 and b.IsMetal ='False' and (@StokTipi=2 or @StokTipi=0)
            UNION ALL
            sELECT  1 as StokType, SubeId,KasaId, Tarih,IslemId,Case When   IslemTuru % 2  =0 Then 'A' Else 'S' End as Islem, StokId,M.Kodu,M.Aciklama ,FaturaNo,Case When IslemTuru  %2 =0  then Adet Else Adet * -1 End as Adet,Case When IslemTuru  %2 =0  then Miktar Else Miktar * -1 End as Miktar,TLTutar ,UsdTutar   FROM Muhasebe.Islemler (@SubeId,@BasTarih ,@SonTarih ) X Left Join Stok.Maden M on X.StokId =M.Id  Where IslemKodu  in (1,2) and (@StokTipi=1 or @StokTipi=0)

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).