Tip: STORED PROCEDURE · Şema: Cari · Modül: MOD-CARI · 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ı: 8 STRING_NAME (= 8) · Kullanım Haritası kanıtı: 3 kayıt (APP_CODE) |
| Kullanan Ekranlar | — |
| Kullanan Class/Method | Cari.Fatura, Cari.Faturadetay |
| Incoming Dependency (bunu kullanan nesneler) | — |
| Outgoing Dependency (bunun kullandığı nesneler) | Cari.FaturaDetay, Cari.Faturalar, Cari.Islemler, Sistem.Birimler |
| Trigger İlişkisi | yok |
| Ticket Problem Aileleri | — |
| Bilinen Hatalar | — |
| Bilinen SQL Riskleri | SQLR-060 |
| Health Check Kuralı | OBJ-01 |
| 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 → Cari.Fatura → Cari.FaturaYaz |
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 | 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: APP
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Tür: PROCEDURE (P) · Modül: MOD-CARI · Uzunluk: 54 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 | @FaturaId | int |
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.FaturaDetay | TABLE |
| READS | Cari.Faturalar | TABLE |
| WRITES | Cari.Islemler | TABLE |
| READS | Sistem.Birimler | TABLE |
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Proc [Cari].[FaturaYaz](@FaturaId int)
as
if Isnull((Select COUNT(*) From Cari.Islemler Where IslemKodu =12 and StokId= @FaturaId and IsDeleted ='False'),0)=0
BEGIN
Insert Into Cari.Islemler (ProjeId,HesapType,OwnerRefNo ,RefNo ,SubeId,KasaId,HesapId,FisNo,Tarih,IslemKodu ,IslemTuru,IslemTipi,Vade,StokId,AyarEviId,RaporNo,IsRapor,IsExtra,Kodu,BakiyeId,Adet,Miktar,AuMilyem,AgMilyem,PldMilyem,PltMilyem,HasIsc,HasIscBirimId,HasIscBirimKur,GumIsc,GumIscBirimId,GumIscBirimKur,IscilikDurumu,GumusDurumu,PlatinDurumu,PalladiumDurumu,Fiyat,FiyatTipi ,Tutar,BirimId,Birim ,Aciklama,Kategori,Kategori2,Maliyet,Satis,Iscilik,IscilikBirim,IscilikBirimKur,IscilikBirimId,HasKur,GumKur,PltKur ,PldKur ,UsdKur,EurKur,Tag,Locked,UserId,InsertDate,IsDeleted,Status,LoginId,MUser,MTarih,Mutabakat,VaryantId,OzelKodId,LastModify)
Select 0 as ProjeId,0 as HesapType,F.RefNo as OwnerRefNo,NEWID() as RefNo, F.SubeId,F.KasaId,F.HesapId, IsNull((Select MAX(FisNo) From Cari.Islemler),0)+1 as FisNo,F.FaturaTarihi, 12 as IslemKodu,F.FaturaTuru as IslemTuru,0 as IslemTipi,DATEADD(DAY ,vade,F.FaturaTarihi) as Vade,F.Id as StokId,0 as AyarEviId,null as RaporNo,0 as IsRapor,
0 as IsExtra,IsNull(F.FaturaSeri,'') + IsNull(F.FaturaNo,'') as Kodu ,0 as BakiyeId,0 as Adet,0 as Miktar,0 as AuMilyem,0 as AgMilyem,0 as PldMilyem,0 as PltMilyem,0 as HasIsc,0 as HasIscBirimId,0 as HasIscBirimKur,0 as GumIsc,0 as GumIscBirimId,0 as GumIscBirimKur,0 as IscilikDurumu,0 as GumusDurumu,0 as PlatinDurumu,0 as PalladiumDurumu,SUM(Tutar) as Fiyat,0 as FiyatTipi,SUM(Toplam) as Tutar,F.BirimId ,
B.Kodu as Birim,F.Aciklama,F.GrupKodu as Kategori ,F.Kategori as Kategori2,0 as Maliyet,0 as Satis,0 as Iscilik,null as IscilikBirim,0 as IscilikBirimKur,0 as IscilikBirimId,0 as HasKur,0 as GumKur,0 as PltKur,0 as PldKur,0 as UsdKur,0 as EurKur,null as Tag,0 as Locked,F.UserId,GETDATE() as InsertDate,0 as IsDeleted,0 as Status,0 as LoginId,Null as MUser,Null as Mtarih,0 as Mutabakat,0 as VaryantId,0 as OzelKodId ,null as LastModify from Cari.FaturaDetay D Left Join Cari.Faturalar F on F.Id = D.FaturaId Left Join Sistem.Birimler B on B.Id=F.BirimId Where D.IsDeleted ='False' And D.FaturaId =@FaturaId Group By F.Id,FaturaSeri,FaturaNo ,F.FaturaTuru ,f.Aciklama ,F.SubeId,f.KasaId ,F.RefNo ,F.BirimId ,B.Kodu ,f.HesapId ,F.FaturaTarihi ,F.Vade ,F.GrupKodu,f.Kategori ,f.UserId
END
ELSE
BEGIN
Declare @KasaId int
Declare @HesapId int
Declare @FaturaTuru int
Declare @FaturaTipi int
Declare @FaturaNo nvarchar(max)
Declare @FaturaTarihi Date
Declare @Birim nvarchar(max)
Declare @BirimId int
Declare @Aciklama nvarchar(max)
Declare @GrupKodu nvarchar(max)
Declare @Kategori nvarchar(max)
Declare @Vade int
Declare @Toplam Decimal(18,2)=0
Declare @Tutar Decimal(18,2)=0
Declare @HasFound bit='False'
DECLARE FatCursor CURSOR FOR Select F.KasaId,F.HesapId,F.FaturaTuru ,F.FaturaTipi ,IsNull(F.FaturaSeri,'') + ISNULL (F.FaturaNo,'') as FNo ,F.FaturaTarihi,B.Kodu ,F.BirimId ,F.Aciklama ,F.GrupKodu,F.Kategori,F.Vade,SUM(IsNull(D.Tutar,0)) as Fiyat,SUM(IsNull(D.Toplam,0)) as Tutar From Cari.Faturalar F Left Join Cari.FaturaDetay D on D.FaturaId =F.Id And D.IsDeleted='False' Left Join Sistem.Birimler B on B.Id =F.BirimId Where F.Id=@FaturaId And F.IsDeleted ='False' Group by F.KasaId,F.HesapId,F.FaturaTuru ,F.FaturaTipi ,F.FaturaSeri,F.FaturaNo ,F.FaturaTarihi,B.Kodu ,F.BirimId ,F.Aciklama ,F.GrupKodu,F.Kategori,F.Vade
OPEN FatCursor
FETCH NEXT FROM FatCursor INTO @KasaId,@HesapId,@FaturaTuru,@FaturaTipi,@FaturaNo,@FaturaTarihi,@Birim,@BirimId,@Aciklama,@GrupKodu,@Kategori,@Vade,@Tutar,@Toplam
WHILE @@FETCH_STATUS =0
BEGIN
Set @HasFound='True'
if @Toplam =0
BEGIN
Update Cari.Islemler Set IsDeleted ='True' Where StokId =@FaturaId And IslemKodu=12 And IsDeleted ='False'
END
ELSE
BEGIN
Update Cari.Islemler Set KasaId =@KasaId ,HesapId =@HesapId ,IslemTuru =@FaturaTuru,Kodu=@FaturaNo,Tarih =@FaturaTarihi ,Birim =@Birim ,BirimId =@BirimId ,Aciklama =@Aciklama ,Kategori =@GrupKodu,Kategori2 =@Kategori ,Vade =DATEADD(DAY ,@vade,@FaturaTarihi) ,Fiyat =@Tutar,Tutar =@Toplam Where StokId =@FaturaId And IslemKodu =12 And IsDeleted ='False'
END
FETCH NEXT FROM FatCursor INTO @KasaId,@HesapId,@FaturaTuru,@FaturaTipi,@FaturaNo,@FaturaTarihi,@Birim,@BirimId,@Aciklama,@GrupKodu,@Kategori,@Vade,@Tutar,@Toplam
END
CLOSE FatCursor
DEALLOCATE FatCursor
if @HasFound ='False'
BEGIN
Update Cari.Islemler Set IsDeleted ='True' Where StokId =@FaturaId And IslemKodu=12 And IsDeleted ='False'
END
END
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).
