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

Reports.GetPozisyonDetay

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

Tip: INLINE TABLE FUNCTION · Şema: Reports · Modül: MOD-RAPOR · Temizlik sınıfı: ACTIVE (kategori A, güven 0) · Kapsam: ERPGOLD_CORE / ALL

Kullanım haritası (13.09.2026)

KategoriA — ERPGOLD CORE · A-APP_CODE
Güven100
Derinlik / kök0 · bu nesne (Seviye-0)
DependencyPathERPGOLD → FrmPozisyonDurumRaporu → Reports.GetPozisyonDetay
Uygulama kullanımıAPP_CODE+REPORT_SQL · FrmPozisyonDurumRaporu

Bkz. Database Usage Map · Direct Application Objects. 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_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).