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

Muhasebe.NakitStoklari

FUNCTIONMOD-FATURAERPGOLD_COREMANUAL_REVIEWVERY_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ı: MANUAL_REVIEW (kategori D, güven 80) · 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-DYNAMIC_SQL · 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)Muhasebe.Islemler, Sistem.Birimler, Sistem.Sirketler, Sistem.Subeler, Sistem.Vadeli, Stok.Maden, Stok.Nakit
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-DYNAMIC_SQL · güven 20
GerekçeAdı dinamik SQL kullanan modül(ler)de geçiyor: dbo.sp_DevirIslemiYap
Dinamik SQL eşleşmesidbo.sp_DevirIslemiYap
Uzlaştırma10_Manual_Review — Her iki yöntem de karar veremedi: Adı dinamik SQL kullanan modül(ler)de geçiyor: dbo.sp_DevirIslemiYap

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 WEAK
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: Kaynak kodda yalnızca zayıf ad eşleşmesi var (sınıf/özellik adı olabilir); ikinci turda incelendi

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

Tür: FUNCTION (IF) · Modül: MOD-FATURA · Uzunluk: 42 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 @KasaId int
3 @Tarih date

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

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

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

CREATE Function [Muhasebe].[NakitStoklari] (@SubeId int,@KasaId int,@Tarih as Date)
returns Table
as
return

Select top 100000  SK.Kodu as Sirket, S.Kodu as Sube,'MUHASEBE' as Kasa, B.Kodu ,B.Aciklama ,Sum(Giren) as Giren, Sum(Cikan) as Cikan,Sum(Giren + Cikan) as Miktar From
(
    Select T.* From 
            (
            select 
                    H.SubeId,
                    H.KasaId,
                    H.Tarih,
                    case 
                        when IslemKodu =1 or IslemKodu=2 Then KM.AnaBirimId 
                        When IslemKodu =3 then KN.AnaBirimId 
                        WHEN IslemKodu =6 then KV.BirimId 
                    END AS StokId,
                    Case When   IslemTuru % 2  =0 Then Miktar Else 0 End as Giren,
                    Case When   IslemTuru % 2  <>0 Then Miktar *-1 Else 0 End as Cikan,
                    Case When IslemTipi=1 Then TN.AnaBirimId Else H.BirimId End as BirimId,
                    Case When   IslemTuru % 2  =  0 and IslemTipi<>12 Then Tutar *-1 Else 0 End as CikanTutar,
                    Case When   IslemTuru % 2  <>0 and IslemTipi<>12 Then Tutar Else 0 End as GirenTutar 
            from muhasebe.Islemler(@SubeId,null,@Tarih)   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
            Where H.SubeId =@SubeId 
            )  X
                CROSS APPLY(VALUES
                    (SubeId,KasaId,Tarih,StokId,Giren,Cikan) ,
                    (SubeId,KasaId,Tarih,BirimId,GirenTutar,CikanTutar))  
                    T(SubeId,KasaId,Tarih,StokId,Giren,Cikan)
 ) H 
 Left Join Sistem.Birimler B on B.Id =H.StokId 
 Left Join Sistem.Subeler S on S.Id =H.SubeId 
 Left Join Sistem.Sirketler SK on SK.Id =S.SirketId 
 Where B.IsMetal ='False' 
 group by SubeId,StokId,B.Kodu ,B.Aciklama ,b.SiraNo ,Sk.Kodu ,S.Kodu 
order by b.SiraNo

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