Tip: INLINE TABLE FUNCTION · Şema: Bakiye · Modül: MOD-RAPOR · Temizlik sınıfı: ACTIVE (kategori A, güven 0) · Kapsam: ERPGOLD_CORE / ALL
Kullanım haritası (13.09.2026)
| Kategori | A — ERPGOLD CORE · A-APP_CODE |
| Güven | 100 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → Cari.Bakiye → Bakiye.GetBakiye |
| Uygulama kullanımı | APP_CODE · Cari.Bakiye, FrmSeriIslem, FrmDevirGiris |
| Dış uygulama | ErpPosV2:FrmMainForm |
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 | 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: APP
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Tür: FUNCTION (IF) · Modül: MOD-CARI · Uzunluk: 27 satır
Özet
Bir hesabın ekrandaki bakiye kartını döner: her birim için BAKIYE, ALACAK, BORC, NET. @IslemId=0 ise bugüne kadar. TAKOZ satırını ayrıca hesaplar; IsStatic birimler sıfır olsa da gelir.
Parametreler
| # | Parametre | Tip | Çıktı |
|---|---|---|---|
| 1 | @HesapType | int | |
| 2 | @HesapId | int | |
| 3 | @IslemId | int |
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.BakiyeIslem | TABLE |
| READS | Cari.Islemler | TABLE |
| READS | Sistem.Birimler | TABLE |
| CALLS | Sistem.GetKurListesi | FUNCTION |
| READS | Stok.Takoz | TABLE |
Bu nesneyi kullananlar
| Nesne | Tip |
|---|---|
| Bakiye.GetDateOfBakiye | FUNCTION |
İlgili iş kuralları
- Cari.BakiyeIslem'i BirimId bazında toplar; ALACAK = Bakiye<0 mutlak değeri, BORC = Bakiye>0, NET = Bakiye-1Alis kuru (Bakiye.GetBakiye.md)
- TAKOZ: raporsuz takozlardan (IsRapor=0) XRFAuMilyem (0 ise 0.6) ile has hesaplar (Bakiye.GetBakiye.md)
- @IslemId<=Id veya 0 filtresiyle belirli işleme kadar bakiye alınabilir; KasaId kullanılmaz (Bakiye.GetBakiye.md; az 8.5)
- IsStatic='True' birimler bakiye 0 olsa da listelenir (Bakiye.GetBakiye.md)
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Function [Bakiye].[GetBakiye] (@HesapType int,@HesapId int,@IslemId int)
RETURNS TABLE
as
return
select BAKIYE,SUM(ALACAK) AS ALACAK,SUM(BORC) AS BORC,SUM(NET) AS NET FROM
(
Select 'TAKOZ' AS BAKIYE,Case When Miktar>0 Then Miktar Else 0 End as ALACAK,Case When Miktar <0 Then Miktar Else 0 End as BORC ,Has * Kur.Alis as NET From
(
Select I.HesapId,SUM((I.Miktar + I.CesniMiktar) * I.SAdet ) as Miktar,SUM(((I.Miktar + I.CesniMiktar) * I.SAdet ) * Case When T.XRFAuMilyem=0 Then 0.6 Else T.XRFAuMilyem End ) as Has From Cari.Islemler I Left Join Stok.Takoz T on T.Id =I.StokId Where I.IsRapor =0 And IslemKodu =0 And I.IsDeleted ='False' And (I.HesapId =@HesapId) and (I.Id <=@IslemId Or @IslemId =0)
group by I.HesapId,I.StokId
) x Left Join Sistem.GetKurListesi (getdate()) Kur on Kur.Birim ='HAS'
) X GROUP BY BAKIYE
UNION ALL
Select top 10000 Kod.Kodu as BAKIYE, Case When Bakiye < 0 Then Abs(Bakiye) else null end as ALACAK, Case When Bakiye> 0 Then Bakiye else null end as BORC,IsNull((Bakiye *-1) * KurA.Alis ,0) as NET
From Sistem.Birimler Kod
Left Join
(
Select BirimId as BakiyeId,Sum(Bakiye) as Bakiye
from Cari.BakiyeIslem
Where (HesapType =@HesapType And HesapId =@HesapId) And (IslemId <=@IslemId Or @IslemId =0)
Group By BirimId
) Bak on Bak.BakiyeId =Kod.Id
Left Join Sistem.GetKurListesi (GETDATE()) KurA on KurA.BirimId =Kod.Id
Where (Kod.IsStatic='False' And Bakiye<>0) or Kod.IsStatic='True'
order by Kod.IsStatic desc, Kod.SiraNo asc
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).
