Kitapçık §5.6 gerçek fişte 7 dolarlık yanlış satış iptal edilir ve Cari.History üç iz bırakır; her 30 işlemden biri iptal edilir. Bu senaryo §5.6'yı tekrar etmez; iptal akışını (yetki, gün sınırı, silme talebi, karşı bacak) ve defter etkisini işler. Fiş bazlı toplu iptal için WF-ISLEM-IPTAL-FISNO (CTR-012).
Başlangıç durumu
| Öğe | Değer |
|---|---|
| İşlem Id 5002 | NAKİT GİRİŞ NORMAL, USD 1.000, Tutar 40.000 TL, 5 gün önce (SCN-NAKIT) |
| Defterler (5002) | BakiyeIslem TL −40.000; StokHaraketleri USD +1.000 |
| MÜŞTERİ-A | TL +80.000 |
| Ayarlar | DeletePermission = "Eski Tarihe Yapılamaz", SilGun 3 (CFG-SILGUN) |
| Yetki | kullanıcı grubu IslemIptal açık (BR-IPTAL-001); yönetici ayrı |
Kullanıcı işlemi
Ekran: CARİ İŞLEMLER → satır 5002 → İPTAL.
- Mutabakat kilidi yok; gün (5) ≥ SilGun (3) → "İşlem Tarihinden İtibaren 5 Gün Geçmiştir. İşlemi Yöneticiniz İptal Edebilir." — uyarı akışı kesmez (BR-IPTAL-003).
- Silme onayı + gerekçe zorunlu (BR-IPTAL-004).
DeleteAt: gün > SilGun → silme talebi penceresi; talepSistem.SilOnay'a yazılır: "Silme Talebiniz Alınmıştır." İşlem silinmez (WF-SILME-TALEBI-ONAY).- Yönetici İptal Onay Listesi'nden onaylar →
IsDeleted = True.
Karşı bacaklı işlemde (virman/parite/karşı hesap) "Bu İşleme Ait Karşı Hesapda İşlem Var. Karşı İşlemde İptal Edilsin mi?" sorulur; EVET → aynı RefNo'lu tüm satırlar (BR-IPTAL-005).
Beklenen kayıt
Cari.Islemler Id 5002 yerinde durur; IsDeleted = 'True' (BR-IPTAL-009). Fiziksel DELETE tetikleyici tarafından reddedilir: "ISLEMLERI DIREK SILEMEZSINIZ ?." (BR-STOK-012).
| Tablo | Satır |
|---|---|
Cari.History |
"İptal Edildi" — eski değerlerle (kitapçık §5.6: iptalde eski hâl); geri alınırsa "Geri Alındı" |
Sistem.SilAciklama |
gerekçe |
Sistem.SilOnay |
talep satırı; onaylanıp IsDeleted=1 olunca TRG-SISTEM.SILONAYUPDATETRIGGER fiziksel siler (BR-IPTAL-011) |
Bakiye etkisi
Evet — tetikleyici IsDeleted güncellemesinde 5002'nin Cari.BakiyeIslem satırlarını siler ve yeniden yazmaz (BR-STOK-006). TL −40.000 satırı kalkar → MÜŞTERİ-A TL +120.000'e döner (BR-IPTAL-012).
Stok etkisi
Evet — USD +1.000 satırı silinir; kasa USD 10.000'e döner. (H-116 "iptal edilen işlem stoktan düşmedi" → tetik/yenileme kontrolü, PB-029.)
Rapor etkisi
- Silinmiş İşlemler Raporu (RPT-74 → RFN-REPORTS.SILINMISISLEMLERRAPORU): kim/ne zaman/gerekçe.
- İşlem Geçmişi (Ara): "İptal Edildi" izi.
- Tüm raporlar
IsDeleted='False'süzer; satır listeden kalkar (H-109 "işlem listeden kayboldu" → geçmişe bakılır).
Kontrol soruları
- İptal edilen satır veritabanından silindi mi? — Hayır; IsDeleted=True, satır yerinde.
- Geçmişte hangi değerler saklanır? — İptalde eski hâl; düzeltmede yeni hâl.
- Uyarı çıktı ama neden yine de talep açıldı? — Ekran ≥ SilGun uyarır, DeleteAt > SilGun talebe yönlendirir; tam SilGun gününde uyarı çıkar ama silinir (CTR-023).
- Virman iptalinde HAYIR denirse? — "Virman İşlemi İptal Edilmedi."; diğer işlemlerde yalnız seçili satır silinir.
- Yönetici iptali geri alabilir mi? — Evet; "Geri Alındı" izi düşer, defterler yeniden üretilir.
- E-belgeli işlem iptali? — Önce e-fatura iptali; GİB'e iletilmiş belge programdan iptal edilemez (BR-IPTAL-006, H-148).
Sık yapılan hata
- "Silme onayında işlem duruyor, silinmiyor" (H-098): talep bekliyor, yönetici onayı gerekir.
- Fiş No ile iptalde yönetici şifresi (H-018, BR-IPTAL-008).
- Perakende iptali aynı kilit kurallarına tabidir (BR-IPTAL-013, WF-PERAKENDE-IPTAL).
