Modülün amacı
Programın çalışması için gereken tanımlar (şirket, şube, kasa, kullanıcı, yetki grubu, birim, kur listesi/pano, parite ve vadeli işlem kodları, mizan, özel kod, hukuki kod, ayar evi/eksper, proje), genel ayarlar (Sistem.Settings tek satır → Program.GlobalSettings; kullanıcı/bilgisayar ayarları Sistem.Clients), güvenlik (giriş, Sistem.UserGroup.Permission dizesinde 3 haneli ASCII kodlu 23 bayrak + menü listesi, PIN kodları, silme onayı), işletim (lisans, bağlantı yapılandırması, LiveUpdate sürüm güncelleme, RDP bilgisayarları, şube durum izleme, yedek, Sistem Yenile) ve yıl sonu devri (Devir.DevirYap yalnız 5 tabloyu TRUNCATE eder — TD-29/42). Destek çağrılarının en büyük teması (bağlantı 2.244, kurulum 721, lisans 736, tanımlama 686) bu modüle düşer. [DERIVED:SEC-AUTHZ; SOURCE_CODE:Class/Module/Devir.vb:76-80; TICKET_THEME:PRB-BAGLANTI-000]
DB şemaları: Sistem, LiveUpdate (+ AifaDev/Design tasarım şemaları MOD-RAPOR'da, Scheduler/Agent MOD-DIGER'de).
Hangi müşteri tipleri kullanır
Tüm kurulumlar (ERPGOLD_CORE). Tip farkı ayarlarda görünür: Döviz bürosu → şube tipi DÖVİZ, resmi şube/kasa, entegratör, BSMV, EDS kur akışı, parite tanımları (Sistem.Pariteler 52); Kuyumcu/Rafineri → şube tipi GENEL, takoz tipleri/skala (Sistem.TakozTipleri, TakozScala), ayar evi tanımı, çok şube-kasa (KUYUMCU 2 şirket / 10 şube / 20 kasa / 36 kullanıcı; V2 1 / 6 / 22 / 43 — INST-*). VARIANT_MATRIX'te ayrı satırı yoktur.
Ana kavramlar
Şirket, Şube, Şube tipi DÖVİZ/GENEL, Kasa, Resmi şube / Resmi kasa, Kullanıcı, Yetki grubu, Kullanıcı ayarları, Settings (genel ayarlar), LoginInformation, Birim / Ana birim / Sabit birim / Birim kodları / Çarpan, Kur listesi / Pano kuru / TCMB / EDS, Vadeli işlem kodu, PIN kodu, Silme onayı / Sil gün, Düzeltme onayı / Düzeltme gün, Sistem.SilOnay / SilAciklama, Devir, Sistem Yenile, Numaralandırma, Ayar evi, Hukuki kod, tIslemTipi SQL tipi.
Menü konumu
MENU_TREE [SOURCE_CODE:Form/Genel/FrmMainForm.Designer.vb:270]:
| Ribbon sayfa › grup | Düğmeler (kod) → ekran |
|---|---|
| Tanımlamalar › Sistem Tanimlari | Sirket (SIRKETTANIMLAMA) → FrmSirketEkle; Sube (SUBETANIMLAMA) → FrmSubeEkle; Kasa (KASATANIMLAMA) → FrmKasaEkle; Birim Listesi (BIRIMTANIMLAMA) → FrmBirimEkle; Vadeli Islem Kodlari → FrmVadeliIslemKoduEkle; Parite → FrmPariteEkle; Mizan → FrmMizanEkle; Kullanıcı (KULLANICITANIMLAMA) → FrmKullaniciEkle; Kullanıcı Grupları → FrmAddUserGroup; Exper / Ayar Evi / Proje / Zorunlu Belgeler; Sube Durum Izleme → FrmSubeStatus; Silme Onayları → FrmIptalOnayListesi; Pin Kodları → FrmPingCodes; RDP Bilgisayarlar → RDPList; Takvim Kategorileri; Anlık Fiyat Tanımları (kodsuz) |
| Tanımlamalar › Sistem | Settings (GLOBALSETTINGS) → FrmGlobalSettings; Configurasyon (CONFIG) → ConfigurationForm; Aktarım (AKTARIM) → FrmHesapAktar; Devir (DEVIR) → FrmDevir |
| Hesap Yonetimi › Ayarlar | Kur Giris Ekranı (KURGIRISI) → FrmKurGirisEkrani; Sistem Yenile (RETRIVEALLDATA); Guncelleştirmeleri Denetle (CHECKUPDATE); Destek Al |
| Hesap Yonetimi › Seri Islemler / Cari Hesaplar | Merkez Bankası Kurları → FrmTCMBKur; Yedek Alma → Backup |
| Hesap Yonetimi › Thema / Rapor | Renk Değiştir; Pin Kodu (PINKODU) |
| Aifa Developer Studio › Developer Tools | Sql Server (SQLEDITOR) → FrmSqlEditor (serbest SQL — TD-10) |
Giriş ekranı (FrmLoginForm) ve ana form (FrmMainForm) menüden değil program açılışından gelir; kaynakta yok (GAP-CODE-02).
Ekranlar
37 ekran MOD-SISTEM; tam liste 05_Screens/INDEX.md.
| Ekran | Sınıf | Yaşam döngüsü | Bir cümle |
|---|---|---|---|
| FrmLoginForm / FrmMainForm | — | ACTIVE_CRITICAL | Giriş (şube/kasa seçimi, lisans) ve ribbon ana form (onMenuSelect) |
| Sirket / Sube / Kasa tanımlama | FrmSirketEkle, FrmSubeEkle, FrmKasaEkle |
ACTIVE_CRITICAL | Şube: tip, resmi bilgiler, entegratör, limit kontrolü, bilanço birimi; kasa: resmi kasa |
| Kullanıcı / User Group Details / Şifre Değiştir | FrmKullaniciEkle, FrmAddUserGroup |
ACTIVE_CRITICAL / ACTIVE_RARE | Kullanıcı, şube-kasa-grup ataması, 23 yetki bayrağı + menü izinleri |
| Birim / Çapraz Parite / Parite / Mizan | FrmBirimEkle, FrmVadeliIslemKoduEkle, FrmPariteEkle, FrmMizanEkle |
ACTIVE_CRITICAL / ACTIVE_NORMAL | Birim (sabit/metal/çarpan), vadeli kod çarpanı, parite, mizan eşlemesi |
| Kur Giriş / TCMB Kur | FrmKurGirisEkrani, FrmTCMBKur |
ACTIVE_CRITICAL / ACTIVE_NORMAL | Günlük kur listesi (elle / KOPYALA / EDS), TCMB kuru |
| Settings / Configuration / FrmUserSettings | FrmGlobalSettings |
ACTIVE_CRITICAL / — / UNUSED_CANDIDATE | Genel ayarlar (İzinler, BSMV, semboller); bağlantı ayarları (config.cfg) |
| Devir / FrmDevirGiris / Aktarım / Hesap Temizle | FrmDevir, FrmHesapAktar |
ACTIVE_CRITICAL / ACTIVE_NORMAL / ACTIVE_RARE | Yıl sonu devri; hesaplar arası işlem aktarımı (GroupId=1) |
| Silme Onayları / Pin Kodları / PIN Girişi | FrmIptalOnayListesi, FrmPingCodes |
ACTIVE_CRITICAL / — / ACTIVE_RARE | Yönetici silme onayı (Sistem.SilOnay), PIN üretimi (Sistem.PinCode 50.193) |
| Lisans Girişi / FrmShowLisans / RDPList / Şube Durum / Backup | — | ACTIVE_RARE / ACTIVE_NORMAL | Lisans (bilgisayar başına), RDP listesi, şube start/stop, yedek |
| Sql Server / FrmVersionHistory / FrmProgramInfo / ExeptionForm | — | ACTIVE_NORMAL / UNUSED_CANDIDATE / ACTIVE_RARE | Serbest SQL editörü; sürüm geçmişi (UNUSED); hata formu (Sistem.Exception) |
| Exper / Ayar Evi | FrmExperTanımlama, FrmAyarEviTanimlama |
ORPHAN_CANDIDATE | Yazdığı tablo canlı DB'de yok (Sistem.AyarEvi_ UNUSED; Genel.Experler_) |
Ana iş akışları
06_Workflows/INDEX.md — 8 akış: WF-SUBE-TANIMLAMA (yeni şube, resmi şube), WF-KASA-TANIMLAMA, WF-KULLANICI-TANIMLAMA, WF-KULLANICI-GRUBU-YETKI, WF-KUR-LISTESI-GUNCELLEME, WF-LISANS-GIRIS, WF-EXE-GUNCELLEME, WF-YIL-SONU-DEVIR (6 adım; dokümanda üç sürüm, kodda tek — CTR-034/GAP-PROCESS-03). Cari tarafında WF-SILME-TALEBI-ONAY, WF-EXTRA-LIMIT, WF-HESAPLAR-ARASI-ISLEM-DEVRI. 100 destek süreç dokümanı (module: MOD-SISTEM) 12_Support/Processes/'ta: kurulum, RDP, SQL, yedek, lisans, güncelleme.
Kullanılan tablolar
44 tablo; seçme (08_Database/INDEX.md, satır = ERPGOLDV2):
| Tablo | Sınıf | Satır | Rol |
|---|---|---|---|
| Sistem.Sirketler / Subeler / Kasalar | ACTIVE | 1 / 7 / 26 | Şirket, şube (tip, resmi, entegratör, limit, bilanço birimi), kasa (resmi kasa) |
| Sistem.Users / UserDetails / UserGroup | ACTIVE | 69 / 264 / 15 | Kullanıcı, şube-kasa-grup ataması (IsLocked), yetki grubu (Permission dizesi) |
| Sistem.Login | CRITICAL | 41.064 | Oturum izi |
| Sistem.Settings / Clients | ACTIVE | 1 / 88 | Genel ayarlar (tek satır); bilgisayar/kullanıcı ayarları, yazıcılar, seriler, SerialKey (hard delete — TD-36) |
| Sistem.Kurlar / DovizPanosu / Birimler / Pariteler / Vadeli | CRITICAL / ACTIVE | 22.575 / 12 / 133 / 52 / 153 | Kur listesi, pano, birim (IsStatic/IsMetal/Carpan), parite, vadeli kodlar |
| Sistem.CariIslemKodu / CariIslemTipi / CariIslemTuru / DbCombo | ACTIVE | 15 / 12 / 6 / 1.740 | Kod tabloları — kod enum'unun gerisinde (tip 12–15, kod 14 yok: CTR-002/044, GAP-DB-02) |
| Sistem.PinCode / SilOnay / SilAciklama | CRITICAL / ACTIVE / CRITICAL | 50.193 / 685 / 93.175 | PIN, silme onayı, silme/düzeltme açıklaması (%54,6 öksüz — GAP-DEVIR-SCOPE) |
| Sistem.Activity, Nabiz, Tracker, Exception, RDP, ERPSCHEMA, ListLayout, Layout | INDIRECTLY_USED / ACTIVE / MANUAL_REVIEW | 4 / 0 / 0 / 0 / 0 / 238 / 11 / 0 | Şube etkinliği, nabız, hata günlüğü, RDP, şema kataloğu, liste düzeni |
| Sistem.Mizan/MizanDetay, OzelKod, HukukiKodlar, Etiket/EtiketDetay, TakozTipleri, TakozScala, FiyatTablosu, SubeYetkilileri, Aktarim | ACTIVE / MANUAL_REVIEW | 0–2 | Tanım tabloları (V2'de çoğu boş) |
| LiveUpdate.VersionHistory | INDIRECTLY_USED | 2 | Sürüm takibi |
| Sistem.AvgPrice, NonUsed_TCMBDovizKurlari, Sistem.AyarEvi_ | UNUSED_HIGH_CONFIDENCE | — | Temizlik adayı |
Kullanılan fonksiyon / SP / view / trigger'lar
- Trigger: Sistem.CreateKasa (yeni şubeye otomatik ANAKASA — BR-KASA-005), Sistem.SilOnayUpdateTrigger (onaylanan silme talebi → işlem iptali)
- SP (17): Sistem.Devir, Sistem.Aktar, Sistem.SirketOlustur, Sistem.Reset, Sistem.KurEkle, Sistem.KurKopyala, Sistem.GetFaturaNo, Sistem.NabizTick, Sistem.FromERP, Sistem.MT4OrdersSync/TicketsSync, LiveUpdate.Version/SetVersion/Lock/UnLock/Status
- Fonksiyonlar (26): Sistem.GetUsers (oturum yükleme — BR-LOGIN-001), GetSubeListesi, GetKasaListesi, GetBirimListesi, GetBirimToId, GetKurListesi, GetIslemKodu, GetPinCodes, GetVadeliIslemKodulari, GetPariteler, GetMizanListesi, FN.GetKur, FN.ProvizyonIzin
- View (13): Sistem.GetLastKur, AnaBirimler, IptalOnayListesi, LoginRapor, PerUsers, GenelDurum, TCMBDovizKurlari, VwPano
Raporlar
RPT-86 Kur Listesi (Sistem.GetKurListesi), RPT-72 Merkez Bankası; Sistem.LoginRapor görünümü (menü kaydı yok). Ayar/yetki için rapor yoktur; yetki teşhisi SEC-AUTHZ ve PB-041 ile yapılır.
Entegrasyonlar
25 entegrasyon makalesinin tamamı module: MOD-SISTEM (11_Integrations/INDEX.md); bu modülü doğrudan ilgilendirenler: INT-LISANS (lisans sunucusu / SMS aktivasyon), INT-LIVEUPDATE (exe güncelleme), INT-RDP-SUNUCU, INT-KUR-EDS, INT-TCMB, INT-TICKDATA, INT-SMS-EMAIL, INT-AGENT, INT-FIS-YAZICI (kullanıcı ayarlarındaki yazıcılar), INT-SUBELER-ARASI-PROVIZYON-RSAKTAR.
Ayarlar
Bu modül CONFIGURATION.md'nin (87 anahtar) sahibidir. Gruplar: Sistem.Settings — CFG-DUZELTMEGUN, CFG-SILGUN, CFG-MODIFYPERMISSION, CFG-DELETEPERMISSION, CFG-MUTABAKATPERMISSION, CFG-PESINKURTIPI, CFG-BSMV, CFG-ONSCARPAN, CFG-KURREFRESHINTERVAL, CFG-PROVIZYON, CFG-NUMARALANDIRMA, CFG-HASSYMBOL, CFG-UPDATEFOLDER, CFG-SMS-HESAP, CFG-EMAIL-SMTP, CFG-RDPCALLUSER, CFG-TAKVIMKILIDI, CFG-FIYATKITLE; Şube — CFG-SUBE-SUBETIPI, CFG-SUBE-ISRESMI, CFG-SUBE-ISLIMITCONTROL, CFG-SUBE-BILANCOBIRIMID, CFG-SUBE-ENTEGRATOR; Kasa — CFG-KASA-RESMIKASA; Kullanıcı/bilgisayar — CFG-CLIENT-FISPRINTER, CFG-CLIENT-FASERI, CFG-CLIENT-SERIALKEY, CFG-CLIENT-COMPORT, CFG-USERDETAIL-ISLOCKED, CFG-USERGROUP-PERMISSION; Birim/vadeli — CFG-BIRIM-ISSTATIC, CFG-VADELI-CARPAN; Bağlantı — CFG-CONFIGURATION-SETTINGS (config.cfg, gizli). Sistem.Settings kolonlarının anlam/varsayılanları tek müşteriden (GAP-DB-06).
İş kuralları
Modül front-matter'ında BR yok; kural aileleri MOD-CARI'ye atanmış ancak buraya aittir: YETKI (22) — BR-YETKI-001 menü grup yetkisi, 002 pasif hesap, 003 kart şifresi, 005 hesap kartı değişikliği grup 4/6, 006 hesap temizleme yalnız grup 1, 008 hesap listesi şubeye göre; KASA (16) — BR-KASA-001 kasa varsayılanı/kilidi, 003, 004 pasif şube, 005, 006, 007 şube etkinliği, 008; KUR (22) — BR-KUR-001, 002 (CTR), 008 SQL'de kur alış; LOGIN — BR-LOGIN-001; DUZELTME/IPTAL/MUTABAKAT ayar-bağımlı kurallar — BR-DUZELTME-004 gün sınırı ve PIN, BR-DUZELTME-007; BR-DEVIR-001; BR-BAKIYE-011 statik birimler. Enum: SilOnay.iStatusType, Kart.THesapTuru, Mizandetay.tObjectType, Parite.Islem, Vadeli.VFiyatTipi. Yetki modeli: SEC-AUTHZ, kimlik doğrulama SEC-AUTHN.
Sık sorunlar
Temalar: PRB-BAGLANTI-000 (2.244), PRB-LISANS-000 (736), PRB-KURULUM-000 (721), PRB-TANIMLAMA-000 (686), PRB-YAZICI-000 (1.223), PRB-KUR-000 (160), PRB-GUNCELLEME-000 (135), PRB-DEVIR-000 (79), PRB-PERFORMANS-000 (42), PRB-DONANIM-000 (22). Playbook: PB-001…PB-004 bağlantı/ek kullanıcı/IP, PB-005 cursor hatası, PB-006 arşiv DB, PB-007/PB-008 lisans, PB-009 kullanıcı/şube-kasa, PB-010 yeni bilgisayar standardı, PB-011 SQL login/kurulum, PB-012 exe güncelleme, PB-013 yedek, PB-014 RDP, PB-034 devir sonrası, PB-039 Sistem Yenile, PB-040 birim tanımı, PB-041 yetki, PB-043 vadeli kod, PB-060 eğitim çağrısı.
Bilinen kusurlar
H-001…H-035 (bağlantı, giriş/yetki/lisans, tanımlama), H-156…H-163 (yazıcı, RFID, terazi, EDS, exe, yedek, yavaşlık), H-167/H-168 lisans dalgası ve yılbaşı listesi. Teknik borç (P1): TD-05 gömülü bağlantı dizeleri/sa, TD-06 zayıf config şifrelemesi, TD-07 geri döndürülebilir parolalar, TD-10 serbest SQL editörü, TD-29 Devir TRUNCATE+INSERT transaction'sız; P2/P3: TD-11, TD-15 global durum, TD-19 ActiveKasaId özyineleme, TD-35 ExLimit PIN zayıf, TD-36 Sistem.Clients hard delete, TD-42 devir kapsamı, TD-44 kod tabloları geride, TD-46 25 kodsuz düğme. Governance: GAP-CODE-01/02 (Program.vb, FrmMainForm, giriş ekranı kaynakta yok), GAP-DB-06, GAP-PROCESS-01/03, CTR-019/023/034.
Müşteri varyasyonları
- ERPGOLDV2 (INST-ERPGOLDV2): 1 şirket / 6 şube / 22 kasa / 43 kullanıcı;
Cari.FaturaSiraNo,Sistem.NonUsed_TCMBDovizKurlari,Stok.DevirCesniStoklariyalnız bu kurulumda;MüşteriŞemasıDşeması. - KUYUMCU (INST-KUYUMCU): 2 şirket / 10 şube / 20 kasa / 36 kullanıcı; 10 trigger (5. cari tetikleyici
NilKuyumIslemFiyatlari), 1 FK;Sistem.SilAciklama%54,6 öksüz (devir kapsamı);MüşteriŞemasıB,MüşteriŞemasıCşemaları. - Şema sürümü müşteriler arasında farklı olabilir (GAP-DB-05);
Sistem.ERPSCHEMA(238 satır) şema kataloğu.
Kritik kod parçaları
LoginInformation (oturum: User/Sube/Kasa), Program (GlobalSettings, UserSettings, GetKur — sınıfın kendisi kaynakta yok, GAP-CODE-01), Sistem.UserGroup (LoadPermission 23 bayrak) / MenuPermission, Sistem.LoginUser, Sistem.Users, Sistem.Sube, Sistem.Kasa, Sistem.Birim, Sistem.Vadeli, Sistem.Parite, Kur.KurListesi (Sistem.KurListesi.vb:69), Sistem.PinCode, Sistem.SilOnay, Sistem.Clients, Devir (Class/Module/Devir.vb:76-80), DBBase / SQL.SQLBase (veri erişim tabanı — TD-18/20). Mimari: ARCHITECTURE, ARCH-CONFIGURATION, ARCH-DB-ACCESS. Sınıf dizini Classes/INDEX.md (125 sınıf).
İlgili eğitimler
Kısım 3 — TRN-031 açılış ve giriş, TRN-032 ana ekran ve sekmeler, TRN-033 şirket/şube/kasa, TRN-034 kullanıcı ve yetki grubu, TRN-035 birimler, TRN-036 kur listesi/pano/TCMB, TRN-037 genel ayarlar (Settings), TRN-013 şube tipi; TRN-057 yıl sonu devri, TRN-065 takvime bağlı rutinler (lisans, yılbaşı), TRN-064 destek çağırmadan önce, TRN-068 klavye kısayolları.
Kaynaklar
DB_OBJECT: Sistem.Settings, Sistem.UserGroup.Permission, Sistem.Kurlar, Sistem.CreateKasa, Sistem.SilOnayUpdateTrigger · SOURCE_CODE: Class/Module/Devir.vb:76-80; dao/Dao/Sistem.KurListesi.vb:69; Sistem.Usergroup.vb LoadPermission; Form/Genel/FrmMainForm.Designer.vb:270 · DB_QUERY: şirket/şube/kasa/kullanıcı sayıları iki kurulum (2026-09-11) · DERIVED: CONFIGURATION.md, SEC-AUTHZ, SEC-AUTHN, 05_Screens/_lifecycle.json, 08_Database/INDEX.md · TICKET_THEME: PRB-BAGLANTI-000, PRB-LISANS-000, PRB-KURULUM-000, PRB-TANIMLAMA-000.
Bilinmeyenler
- GAP-CODE-01/02:
Program.vb(GlobalSettings/UserSettings/LoginInformation),FrmMainForm, giriş ekranı veAp.Versionkaynakta yok — ayar yükleme ve menü açma kodu türetilmiştir. - GAP-DB-06:
Sistem.Settingskolonlarının anlam/varsayılanları tek müşteri DB'sinden;DuzeltmeOnayi/SilmeOnayi/MutabakatLockkolon adları "muhtemel". - GAP-PROCESS-01/03, CTR-034: silme onayı yönetici tarafı ekranı dokümansız; devir sürecinin üç doküman sürümü ile tek kod sürümü arasındaki fark.
- GAP-VERSION-01/02, GAP-CODE-VERSION-DATE: ana uygulamanın sürüm/değişiklik günlüğü ve kaynağın hangi build'e ait olduğu bilinmiyor;
LiveUpdate.VersionHistory2 satır. - GAP: YETKI/KASA/KUR kural aileleri makalelerde MOD-CARI'ye atanmış; modül ataması bu makaleyle çelişir (CTR adayı).
Sistem.MT4*SyncSP'leri MOD-FX'e ait. - GAP: Ayar evi / eksper ekranları ORPHAN_CANDIDATE (yazdıkları tablo canlı DB'de yok) — rafineri müşterisinde nasıl çalıştığı bilinmiyor.
