AIFA AKADEMI · Kurumsal Wiki
4.310 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

Kullanım haritası (13.09.2026)

KategoriB — INDIRECT DEPENDENCY · B-TRIGGER
Güven95
Derinlik / kök1 · Cari.Hesaplar
DependencyPathERPGOLD → Cari.Hesap → Cari.Hesaplar → Cari.HesapUpdate
Bağlı tabloCari.Hesaplar

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