Tip: INLINE TABLE FUNCTION · Şema: Reports · Modül: MOD-RAPOR · Temizlik sınıfı: ACTIVE (kategori A, güven 0) · Kapsam: ERPGOLD_CORE / ALL
BASE künyesi ve kullanım haritası (v1.5 · 13.09.2026)
| BASE Durumu | BASE'e dahil — BASE Status: CANDIDATE_CANONICAL |
| BASE Sınıfı | BASE-CORE (BASE MASTER) · Wiki önerisi: BASE-CORE · Action: INCLUDE_IN_BASE · Güven: HIGH |
| Runtime Certification | PENDING — BASE ile açılış/işlem testi yapılmadı; otomatik PASS yazılmadı |
| Kodda Kullanılıyor mu? | EVET — doğrudan (Seviye-0) |
| Kod Referans Sayısı | BASE taraması: 1 SQL_LITERAL (= 1) · Kullanım Haritası kanıtı: 4 kayıt (APP_CODE+REPORT_SQL) |
| Kullanan Ekranlar | FrmPozisyonDurumRaporu |
| Kullanan Class/Method | — |
| Incoming Dependency (bunu kullanan nesneler) | — |
| Outgoing Dependency (bunun kullandığı nesneler) | Cari.Hesaplar, Cari.Islemler, FN.Bol, Sistem.Birimler, Sistem.GetKurListesi |
| Trigger İlişkisi | yok |
| Ticket Problem Aileleri | PF-004 |
| Bilinen Hatalar | ERR-POT-107 (Hata Bilgi Bankası; Gözlemlendi durumu kayıtta) |
| Bilinen SQL Riskleri | SQLR-037 |
| Health Check Kuralı | — |
| Müşteri Özel mi? | HAYIR |
| Opsiyonel Modül mü? | HAYIR |
| Legacy mi? | HAYIR |
| Son Doğrulama Tarihi | 13.09.2026 — statik analiz (katalog 2026-09-10 + kaynak kod taraması). Çalışma zamanı doğrulaması: PENDING |
Kullanım haritası
| Kullanım Haritası kategorisi | A — ERPGOLD CORE · A-APP_CODE · güven 100 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → FrmPozisyonDurumRaporu → Reports.GetPozisyonDetay |
Bkz. ERPGOLD BASE · Uzlaştırma · Database Usage Map · Kullanım Haritası Direct · 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 | YES |
| report | YES |
| config | NO |
| dynamic | NO |
| db_in | NO |
| db_out | YES |
| trigger | NO |
| fk | NO |
| computed | NO |
| crossdb | NO |
| runtime | UNKNOWN |
| external | NO |
Gerekçe: APP
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Tür: FUNCTION (IF) · Modül: MOD-RAPOR · Uzunluk: 42 satır
Özet
Döviz açık pozisyon detayı — şube/tarih aralığında her birim için alış/satış miktarı, ortalama fiyatları, kâr-zarar ve pozisyon (alış-satış) hesaplar.
Parametreler
| # | Parametre | Tip | Çıktı |
|---|---|---|---|
| 1 | @SubeId | int | |
| 2 | @BasTarih | date | |
| 3 | @SonTarih | date |
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.Hesaplar | TABLE |
| READS | Cari.Islemler | TABLE |
| CALLS | FN.Bol | FUNCTION |
| READS | Sistem.Birimler | TABLE |
| CALLS | Sistem.GetKurListesi | FUNCTION |
İlgili iş kuralları
- Cari.Islemler IslemKodu in (1,2,3,6), IslemTipi<>11'i birim bazında alış/satış toplar, KZ ve POZISYON hesaplar (Reports.GetPozisyonDetay.md)
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Function [Reports].[GetPozisyonDetay](@SubeId int ,@BasTarih as Date,@SonTarih as Date)
returns table
as
return
Select top
1000000 KODU,
ALIS,AFIYAT,ALISTUTAR ,
SATIS,SFIYAT ,SATISTUTAR,
case when SATIS<>ALIS then ( case when SATIS>ALIS then ((ALIS*(SFIYAT-AFIYAT)) + ((SATIS-ALIS)*(SFIYAT-G.Alis) )) else ((SATIS*(SFIYAT-AFIYAT)) + ((ALIS-SATIS)*(G.Alis-AFIYAT) )) end) else SATISTUTAR - (SATIS * AFIYAT) end AS KZ,
--SATISTUTAR - (SATIS * AFIYAT) AS KZ,
ALIS -SATIS AS POZISYON,
CASE WHEN (ALIS -SATIS)<0 THEN SFIYAT WHEN ALIS -SATIS >0 THEN AFIYAT END AS PMALIYET
from
(
sELECT Br.SiraNo , B.Kodu AS KODU ,
SUM(ALIS) AS ALIS,fn.Bol (SUM(ALISMALIYET),SUM(ALIS)) AS AFIYAT,SUM(ALISMALIYET) AS ALISTUTAR,
SUM(USDALIS) AS USDALIS,SUM(SATIS) AS SATIS,fn.Bol (SUM(SATISMALIYET),SUM(SATIS)) AS SFIYAT,SUM(SATISMALIYET)AS SATISTUTAR,SUM(USDSATIS) AS USDSATIS FROM
(
Select TARIH ,HESAPADI ,KODU ,Sum(ALIS) as ALIS,SUM(ALISMALIYET ) AS ALISMALIYET,SUM(USDALIS) as USDALIS ,ABS( Sum(SATIS)) as SATIS ,SUM(SATISMALIYET) AS SATISMALIYET,SUM(USDSATIS) AS USDSATIS
from
(
Select Tarih AS TARIH,HesapAdi AS HESAPADI,Kodu as KODU,Case When Miktar>0 Then Miktar else 0 End as ALIS,Case When Miktar>0 Then Tutar else 0 End as ALISMALIYET,Case When Miktar > 0 Then USDTUTAR else 0 End as USDALIS,Case When Miktar <0 Then Miktar else 0 End as SATIS,Case When Miktar <0 Then Tutar else 0 End as SATISMALIYET,Case When Miktar <0 Then USDTUTAR else 0 End as USDSATIS From
(
select Tarih,H.HesapAdi ,Kodu ,Case When IslemYonu ='ALIS' Then Miktar Else Miktar *-1 End as Miktar,Fiyat, Tutar * BirimKur as Tutar,Fn.Bol( Tutar * BirimKur, UsdKur) as USDTUTAR from Cari.Islemler I Left Join Cari.Hesaplar H on H.Id =I.HesapId
Where I.SubeId=@SubeId and I.Fiyat <>0 And I.Kodu<>I.Birim
And I.IslemKodu in (1,2,3,6) And I.IslemTipi <>11 And I.IsDeleted ='False' And (I.Tarih>=@BasTarih And I.Tarih <=@SonTarih)
) Islemler
) Hacim WHERE KODU <>'TL'
GROUP BY TARIH,HESAPADI,KODU
)
B Left Join Sistem.Birimler Br on B.Kodu=br.Kodu
GROUP BY B.KODU ,br.SiraNo
) x
left join sistem.GetKurListesi(@SonTarih) G on G.Birim=x.KODU
ORDER BY SiraNo
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).
