"Devir" iki ayrı şeydir: (1) veritabanı devri — eski dönem arşivlenir, açılış satırları üretilir (WF-YIL-SONU-DEVIR, SCR-FRMDEVIR); (2) açılış stoğu/bakiyesi girişi — DEVİR hesabı üzerinden elle (WF-ACILIS-STOK-DEVIR-HESABI). İkisi de az kullanılır, hatası pahalıdır (PRB-DEVIR-000: 79 çağrı, ortalama kapanış 214 saat). Yalnız destek/yönetici yapar.
Başlangıç durumu
| Öğe | Değer |
|---|---|
| Tarih | 31 Aralık; yedek alınmış, Aralık BTrans alınmış |
| Takoz ve çeşni stoğu | 0 (seri çıkış ve çeşni çıkışıyla sıfırlandı — ön koşul) |
| Maden stoğu | tek kasada (ANAKASA): 22 AYAR BİLEZİK 400 g, 995 HURDA 1.450 g |
| Nakit stoğu | 260.200 TL, 10.000 USD, 4.500 EUR |
| MÜŞTERİ-A | HAS +50,76 · TL +121.650 |
| Not | operasyonel ve belgelendirilmiş stok görünümleri, bakiye ekstresi ve son bilanço not edildi |
Kullanıcı işlemi
A — Veritabanı devri (yönetici + destek):
1. SQL tarafında yedek ve arşiv (ERPGOLDV2[yıl]) hazırlanır; kullanıcılar dışarı alınır (WF adım 2).
2. ADMIN ile giriş; ana menüde Shift+D ile Tanımlamalar ▸ Sistem ▸ Devir düğmesi aktif edilir; FrmDevir BtnStart + ADMIN şifresi (WF adım 3). Kodda tek sürüm, dokümanda üç sürüm var (CTR-034).
3. Arşiv DB'de tetikleyici "BU VERI TABANI ISLEME KAPATILMISTIR." ile kapatılır; ERPGLOBAL.Company'ye arşiv eklenir (PB-006).
B — Açılış stoğu (resmi stoklar): Cari İşlemler ▸ hesap DEVİR (hesap türü Devir=5, BR-DEVIR-001) ▸ MADEN/HURDA/NAKİT ▸ ISLEM = GİRİŞ, tip = MAHSUP, STOK KODU, MİKTAR ▸ F2 (PB-035 adım 2). Cari açılış bakiyeleri Borç İşlemleri (KODU DEVİR, IslemKodu 999) ile (WF-BORC-ISLEMLERI, BR-GENEL-004).
Beklenen kayıt
A — SP-SISTEM.DEVIR(@Tarih) / sp_DevirIslemiYap: tetikleyiciler DISABLE; Cari.BakiyeIslem'e hesap+birim başına IslemId = −1 açılış satırları (MÜŞTERİ-A: HAS +50,76, TL +121.650); Stok.StokHaraketleri'ne kasa+stok başına son durum satırları; Cari.Islemler, Cari.History, Cari.IslemDetaylari, Cari.Transferler TRUNCATE+yeniden INSERT; Login/AccountLog TRUNCATE; tetikleyiciler ENABLE. Transaction yoktur (TD-29); yalnız 5 tablo boşaltılır, IslemId taşıyan diğer tablolar öksüz kalır (TD-42).
B — Cari.Islemler satırı: HesapId = DEVİR, IslemKodu 1/2/3, IslemTuru 0, IslemTipi 12 MAHSUP, BakiyeId 0, Miktar = sayım, Tutar 0.
Bakiye etkisi
- A: açılış satırları IslemId −1 ile bakiyeye dahildir, işlem listesinde görünmez, düzeltilemez (WF sonuç). Fişte "eski bakiye" çıkmazsa
Bakiye.GetBakiyeFisNo−1 satırlarını almıyordur (H-111). - B (MAHSUP): tetikleyici tip 12'de hiç bakiye yazmaz (BR-TIP-004) — DEVİR hesabı bakiyesi 0 kalır. NORMAL girilirse DEVİR hesabı alacaklı kalır; B (Borç İşlemleri) ile ters kayıt (H-115).
Stok etkisi
- A: son durum satırları yeni dönem stoğunu kurar; Tarih NULL satır tutarsızlık işaretidir (PB-034 adım 3).
- B (MAHSUP): CTR-004 — doküman "yalnız stok" der, tetikleyici tip 12'de
Stok.StokHaraketlerisatırı da yazmaz (1.581 MAHSUP satırının 0 stok hareketi). Resmi stok listesinin hangi kaynaktan dolduğu GAP (CTR-005); açılış stoğunun görünmemesi çağrısında önce bu CTR okunur.
Rapor etkisi
- Devir sonrası bilanço, maden/nakit stokları, pozisyon ve bakiye listesi eski yılın son günüyle karşılaştırılır (WF adım 6); kur listesi yeni yıla girilir (WF-KUR-LISTESI-GUNCELLEME).
- Stok devir raporu (RFN-REPORTS.GETSTOKDEVIR).
- Fatura/e-döviz numaraları yeni yıla (WF-YILBASI-FATURA-NO); yılbaşı kontrol listesi H-168.
Kontrol soruları
- "Geçen yılın işlemleri kayboldu" — hata mı? — Hayır; arşiv veritabanında (H-008, PB-034).
- Devir günü takoz stoğu neden sıfır olmalı? — Devirden önce alınan takoz sonra çıkılırsa stok −1 (PB-049, WF uyarısı).
- Açılış stoğu neden MAHSUP ile girilir? — Bakiye üretmesin diye; ama tetikleyici stok da üretmez — CTR-004.
- IslemId −1 satırı nedir? — Devir prosedürünün yazdığı açılış bakiyesi/stoğu; işlem listesinde yoktur.
- Devir tutmazsa toptan onarım (BalanceRepair) çalıştırılır mı? — Asla; devir satırlarını yok eder (TD-30). Fark DEVİR hesabından elle düzeltilir.
- Devir prosedürü yarıda kalırsa? — TRUNCATE sonrası INSERT hatası tabloları boş bırakır; tek güvence yedek (TD-29).
Sık yapılan hata
- NORMAL tiple açılış girişi → DEVİR hesabında kalıcı alacak (PB-035).
- Devir öncesi maden stoklarını tek kasaya toplamamak; transferler geri yapılmalı (WF adım 5).
- Mevcut devir sürecini "manuel SQL devir" varyantlarıyla karıştırmak (CTR-034).
