AIFA AKADEMI · Kurumsal Wiki
4.330 makale
Ana sayfa Kurumsal Wiki › Veritabanı › Triggers › TRG-CARI.HESAPUPDATE

Cari.HesapUpdate

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

Tip: TRIGGER · Şema: Cari · Modül: MOD-CARI · Temizlik sınıfı: INDIRECTLY_USED (kategori C, güven 0) · Kapsam: ERPGOLD_CORE / ALL

BASE künyesi ve kullanım haritası (v1.5 · 13.09.2026)

BASE DurumuBASE'e dahil — BASE Status: CANDIDATE_CANONICAL
BASE SınıfıBASE-DEPENDENCY (BASE MASTER) · Wiki önerisi: BASE-DEPENDENCY · Action: INCLUDE_IN_BASE · Güven: HIGH
Runtime CertificationPENDING — BASE ile açılış/işlem testi yapılmadı; otomatik PASS yazılmadı
Kodda Kullanılıyor mu?DOLAYLI — yalnız bağımlılık zinciriyle
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)Cari.Hesaplar
Outgoing Dependency (bunun kullandığı nesneler)Cari.Hesaplar, Sistem.UserDetails
Trigger İlişkisiTetikleyici → bağlı tablo: Cari.Hesaplar
Ticket Problem AileleriPF-013, PF-067
Bilinen HatalarERR-POT-130, ERR-POT-136 (Hata Bilgi Bankası; Gözlemlendi durumu kayıtta)
Bilinen SQL RiskleriSQLR-068, SQLR-075
Health Check KuralıTRG-03
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ı kategorisiB — INDIRECT DEPENDENCY · B-TRIGGER · güven 95
Derinlik / kök1 · Cari.Hesaplar
DependencyPathERPGOLD → Cari.Hesap → Cari.Hesaplar → Cari.HesapUpdate

Bkz. ERPGOLD BASE · Uzlaştırma · Database Usage Map · Kullanım Haritası Core · 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 NO
report NO
config NO
dynamic NO
db_in YES
db_out YES
trigger YES
fk NO
computed NO
crossdb NO
runtime UNKNOWN
external NO

Gerekçe: Cari.Hesaplar → Cari.HesapUpdate (trigger (tablo→tetikleyici))

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

Tür: TRIGGER (TR) · Modül: MOD-CARI · Uzunluk: 42 satır

Tablo: Cari.Hesaplar · Olay: UPDATE

Özet

Cari.Hesaplar'a UPDATE sonrası çalışır; VergiNo tekilliğini ve aktif/pasif değiştirme yetkisini denetler.

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

İlişki Hedef Tip
READS Cari.Hesaplar TABLE
READS Sistem.UserDetails TABLE

Ürettiği hata mesajları

  • "Aynı Vergi No ya sahip başka bir hesap mevcuttur!!"
  • "Yetkiniz yoktur!"

İlgili iş kuralları

  • Aynı şubede VergiNo çakışması -> 'Aynı Vergi No ya sahip başka bir hesap mevcuttur!!' ROLLBACK (Cari.HesapUpdate.md)
  • LastDate dışı güncellemede kullanıcının GroupId'si 4 veya 6 değilse 'Yetkiniz yoktur!' ROLLBACK (Cari.HesapUpdate.md)

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

CREATE TRIGGER [Cari].[HesapUpdate] ON [Cari].[Hesaplar]
FOR UPDATE
AS





 IF EXISTS(
         SELECT TOP 1 * FROM Cari.Hesaplar WHERE
            VergiNo IN (select VergiNo from inserted) AND Id <> (select Id from deleted) and IsDeleted=0 and SubeId = (select SubeId from inserted)
         HAVING COUNT(*) > 1)
BEGIN
    RAISERROR('Aynı Vergi No ya sahip başka bir hesap mevcuttur!!', 16, 1)
    ROLLBACK
END



--Aktif/Pasif değiştirme yetki kontrolü
IF NOT Update(LastDate) 
BEGIN
DECLARE @UserID VARCHAR(15) 
SET @UserID= (select UserId from inserted)

DECLARE @Message NVARCHAR(max) 

IF EXISTS (select * from Sistem.UserDetails where UserId = @UserID and GroupId not in (4,6) and IsDeleted=0)
    BEGIN
        SET @Message = 'Yetkiniz vardır...'
    END
ELSE
    BEGIN
        SET @Message = 'Yetkiniz yoktur!'
        RAISERROR('Yetkiniz yoktur!', 16, 1)
        ROLLBACK
    END
END


    --select * from Sistem.UserDetails where UserId = 11 and GroupId not in (4,6) and IsDeleted=0

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