AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Kalite ve teknik borç › QA-HOTSPOTS

Kod Sıcak Noktaları

QUALITYERPGOLD_COREACTIVEHIGHSOURCE_IMPLEMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Kaynak: docs/knowledge-base/quality/hotspots.md — KB-docs.

Hotspot Analizi (ERPPRO kod tabanı)

Gerçeklik türü: AS-IMPLEMENTED. Yalnız rapor; hiçbir kaynak değiştirilmedi, refactor önerileri technical-debt dosyasındadır. Veri kaynağı: kb_src/erppro/scan.json (statik tarama: 1029 dosya, 345'i Designer; 3426 sınıf; 16043 metot; 372.436 satır; 1468 SQL ifadesi; 679 boş Catch). Tablolar Python (json.load) ile üretildi; satır numaraları depoda (/home/claude/erppro/ERPPRO) grep ile örneklem olarak doğrulandı. Sayımlar taramanın sezgisel kurallarına bağlıdır (ör. tables alanı tablo ve tablo değerli fonksiyonları birlikte sayar; thread bayrağı web referanslarındaki üretilmiş Async metotlarını da işaretler — bunlar aşağıda ayıklandı). Etiketler: VERIFIED (scan + kodda görüldü), INFERRED (sayıdan çıkarım). Veri erişim bağlamı için database-access.

1. En büyük sınıflar

1.1 Designer dahil (scan lines, sınıfın tüm Partial dosyaları) — VERIFIED

İlk 25'in tamamı WinForms/DevExpress tasarımcı çıktısıyla şişmiş form/kontrol sınıflarıdır; InitializeComponent tek başına sınıfın %70-90'ıdır (bkz. §2.1). Gerçek kod yükü için 1.2'ye bakın.

# Sınıf Satır (tüm dosyalar) Metot Dosya
1 FrmExcel 4185 6 ERPPRO/Form/Application/FrmExcel.Designer.vb
2 FrmMainForm 3399 25 ERPPRO/Form/Genel/FrmMainForm.Designer.vb
3 FrmPirlantaEkle 3361 34 ERPPRO/Form/Tanımlamalar/Stok/FrmPirlantaEkle.Designer.vb
4 FrmCariHesapEkle 3235 20 ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.Designer.vb
5 FrmPersonelEkle 3171 19 ERPPRO/Form/Tanımlamalar/Personel/FrmPersonelEkle.Designer.vb
6 iScreen 3122 67 ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.Designer.vb
7 iFTakozGiris 3109 51 ERPPRO/Controls/Islem Ekranı/Ekran/iFTakozGiris.Designer.vb
8 FrmTakozGiris 3026 55 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.Designer.vb
9 FrmDashBoardDesigner 2828 6 ERPPRO/Designer/DashBoard/FrmDashBoardDesigner.Designer.vb
10 UiDesigner.DashBoard.DashBoardDesigner 2825 10 CodeDesigner/CodeDesigner/UiDesigner/Dashboard/DashBoardDesigner.Designer.vb
11 AIO.Parakende.HizliSatisEkrani 2712 56 ERPPRO/Controls/Islem Ekranı/Parakende/HizliSatisEkrani.Designer.vb
12 FrmWorld 2656 6 ERPPRO/Form/Application/FrmWorld.Designer.vb
13 tr.com.iceteknoloji.integrationtest.integration 2651 329 DijitalFatura/Web References/tr.com.iceteknoloji.integrationtest/Reference.vb
14 GiseEkrani 2521 53 ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.Designer.vb
15 frmEditTask 2331 15 ERPPRO/Organizasyon/TaskList/frmEditTask.designer.vb
16 FrmEFaturaBas 2210 32 ERPPRO/Controls/Islem Ekranı/Ekran/FrmEFaturaBas.Designer.vb
17 FrmReportDesigner 2074 52 ERPPRO/Designer/ReportManager/FrmReportDesigner.Designer.vb
18 FrmCariKartEkle 1985 15 ERPPRO/Form/Tanımlamalar/Cari/FrmCariKartEkle.Designer.vb
19 FrmGenelStokEkle 1982 10 ERPPRO/Form/Tanımlamalar/Stok/FrmGenelStokEkle.Designer.vb
20 FrmModelEkle 1975 35 ERPPRO/Form/Tanımlamalar/Stok/FrmModelEkle.Designer.vb
21 ReportViewer 1961 31 ERPPRO/Designer/ReportManager/Class/ReportViewer.Designer.vb
22 FrmUretimIslemleri 1961 35 ERPPRO/Uretim/FrmUretimIslemleri.Designer.vb
23 FrmModelKartıEkle 1907 18 ERPPRO/Form/Siparis/FrmModelKartıEkle.Designer.vb
24 FrmGlobalSettings 1739 10 ERPPRO/Form/Settings/FrmGlobalSettings.Designer.vb
25 ParakendeSatis 1695 35 ERPPRO/Controls/Islem Ekranı/Ekran/ParakendeSatis.Designer.vb

1.2 Designer hariç (yalnız el yazımı dosyalar; üretilmiş web referansları/UBL sınıfları ayıklandı) — VERIFIED

Not: tr.com.iceteknoloji.integrationtest.integration (2651 satır, 329 metot, DijitalFatura/Web References/.../Reference.vb) ve FXData.FXData (1322 satır, ERPPRO/Web References/FXData/Reference.vb) üretilmiş proxy oldukları için listelenmedi.

# Sınıf Satır (Designer hariç) Metot SQL Dosya
1 AIO.Cari.Islem 1520 116 13 ERPPRO/Class/Dao/Islem/Cari.Islem.vb
2 iScreen 1254 67 8 ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.vb
3 DijitalFatura.Entegrators.UyumSoft 1046 12 0 DijitalFatura/Entegrators/Uyumsoft.vb
4 DijitalFatura.ERPFatura 1026 85 3 DijitalFatura/Common/ERPFatura.vb
5 AIO.Personel.Personel 910 72 9 ERPPRO/Class/Dao/Personel.Personel.vb
6 AIO.Stok.Pirlanta 896 84 9 ERPPRO/Class/Dao/Stok.Pirlanta.vb
7 AIO.Cari.Hesap 894 75 7 ERPPRO/Class/Dao/Cari.Hesap.vb
8 iFVadeli 887 32 0 ERPPRO/Controls/Islem Ekranı/Ekran/iFVadeli.vb
9 AIO.Parakende.HizliSatisEkrani 859 56 0 ERPPRO/Controls/Islem Ekranı/Parakende/HizliSatisEkrani.vb
10 FrmTakozGiris 837 55 1 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.vb
11 iFTakozGiris 837 51 1 ERPPRO/Controls/Islem Ekranı/Ekran/iFTakozGiris.vb
12 Siparis.NetSiparis 756 47 7 ERPPRO/Form/Siparis/NetEntegrator.vb
13 FrmMainForm 717 25 11 ERPPRO/Form/Genel/FrmMainForm.vb
14 FrmStokIslem 695 51 0 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmStokIslem.vb
15 AIO.Cari.Kart 691 54 7 ERPPRO/Class/Dao/Cari.Kart.vb
16 AIO.Dynamic.Field 688 40 0 ERPPRO/Class/Dao/Dynamic/Class/Attribute/Field.vb
17 AIO.Sistem.Sube 665 57 6 ERPPRO/Class/Dao/Sistem.Sube.vb
18 Extensions 644 55 5 ERPPRO/Class/Module/Extention.vb
19 GiseEkrani 634 53 2 ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.vb
20 AIO.Printing.Fis 630 22 14 ERPPRO/Controls/Islem Ekranı/OldFis/Printing.vb
21 FrmUretimIslemleri 628 35 7 ERPPRO/Uretim/FrmUretimIslemleri.vb
22 DijitalFatura.Entegrators.MySoft 622 9 0 DijitalFatura/Entegrators/MySoft.vb
23 Common 620 26 1 ERPPRO/Form/Siparis/NetEntegrator.vb
24 FrmReportDesigner 618 52 9 ERPPRO/Designer/ReportManager/FrmReportDesigner.vb
25 DSX 609 22 18 ERPPRO/Class/Module/Database.vb

Okuma: AIO.Cari.Islem (1520 satır, 116 metot; Cari.Islem.vb + Class/Ext/Cari.IslemEx.vb) sistemin çekirdek varlığı olup DAO, iş kuralı (Save içindeki limit/ miktar kontrolleri Cari.Islem.vb:506-531), UI (FrmSilmeOnayAl.ShowDialog :533-535, MessageBox 12 adet) ve SP çağrısını (:696) tek sınıfta toplar. iScreen (1254 satır kod + 1869 satır designer) işlem ekranı temel kontrolüdür ve 37 farklı sınıfa bağımlıdır (§4).

2. En büyük metotlar

2.1 InitializeComponent dahil — VERIFIED

# Sınıf.Metot Satır Dosya:satır
1 FrmExcel.InitializeComponent 3776 ERPPRO/Form/Application/FrmExcel.Designer.vb:21-3796
2 FrmPirlantaEkle.InitializeComponent 2827 ERPPRO/Form/Tanımlamalar/Stok/FrmPirlantaEkle.Designer.vb:21-2847
3 FrmCariHesapEkle.InitializeComponent 2718 ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.Designer.vb:21-2738
4 FrmPersonelEkle.InitializeComponent 2697 ERPPRO/Form/Tanımlamalar/Personel/FrmPersonelEkle.Designer.vb:21-2717
5 FrmDashBoardDesigner.InitializeComponent 2477 ERPPRO/Designer/DashBoard/FrmDashBoardDesigner.Designer.vb:21-2497
6 FrmMainForm.InitializeComponent 2438 ERPPRO/Form/Genel/FrmMainForm.Designer.vb:21-2458
7 UiDesigner.DashBoard.DashBoardDesigner.InitializeComponent 2427 CodeDesigner/CodeDesigner/UiDesigner/Dashboard/DashBoardDesigner.Designer.vb:22-2448
8 FrmWorld.InitializeComponent 2302 ERPPRO/Form/Application/FrmWorld.Designer.vb:21-2322
9 iFTakozGiris.InitializeComponent 2152 ERPPRO/Controls/Islem Ekranı/Ekran/iFTakozGiris.Designer.vb:21-2172
10 FrmTakozGiris.InitializeComponent 2073 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.Designer.vb:21-2093
11 frmEditTask.InitializeComponent 1949 ERPPRO/Organizasyon/TaskList/frmEditTask.designer.vb:24-1972
12 GiseEkrani.InitializeComponent 1777 ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.Designer.vb:22-1798
13 FrmGenelStokEkle.InitializeComponent 1750 ERPPRO/Form/Tanımlamalar/Stok/FrmGenelStokEkle.Designer.vb:21-1770
14 AIO.Parakende.HizliSatisEkrani.InitializeComponent 1745 ERPPRO/Controls/Islem Ekranı/Parakende/HizliSatisEkrani.Designer.vb:23-1767
15 iScreen.InitializeComponent 1658 ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.Designer.vb:21-1678
16 FrmEFaturaBas.InitializeComponent 1651 ERPPRO/Controls/Islem Ekranı/Ekran/FrmEFaturaBas.Designer.vb:24-1674
17 FrmCariKartEkle.InitializeComponent 1622 ERPPRO/Form/Tanımlamalar/Cari/FrmCariKartEkle.Designer.vb:21-1642
18 FrmModelKartıEkle.InitializeComponent 1619 ERPPRO/Form/Siparis/FrmModelKartıEkle.Designer.vb:21-1639
19 FrmModelEkle.InitializeComponent 1592 ERPPRO/Form/Tanımlamalar/Stok/FrmModelEkle.Designer.vb:21-1612
20 ReportViewer.InitializeComponent 1532 ERPPRO/Designer/ReportManager/Class/ReportViewer.Designer.vb:21-1552
21 FrmGlobalSettings.InitializeComponent 1498 ERPPRO/Form/Settings/FrmGlobalSettings.Designer.vb:21-1518
22 FrmParcaKartiEkle.InitializeComponent 1412 ERPPRO/Form/Siparis/FrmParcaKartiEkle.Designer.vb:21-1432
23 FrmReportDesigner.InitializeComponent 1337 ERPPRO/Designer/ReportManager/FrmReportDesigner.Designer.vb:21-1357
24 FrmSubeEkle.InitializeComponent 1305 ERPPRO/Form/Tanımlamalar/Sistem/FrmSubeEkle.Designer.vb:21-1325
25 FrmUretimIslemleri.InitializeComponent 1250 ERPPRO/Uretim/FrmUretimIslemleri.Designer.vb:21-1270

2.2 InitializeComponent hariç (üretilmiş proxy'ler ayıklandı) — VERIFIED

# Sınıf.Metot Satır Dosya:satır
1 DijitalFatura.Entegrators.UyumSoft.Get_eDoviz_Belge 475 DijitalFatura/Entegrators/Uyumsoft.vb:623-1097
2 FrmMainForm.onMenuSelect 471 ERPPRO/Form/Genel/FrmMainForm.vb:60-530
3 DijitalFatura.Entegrators.Ice_.eDoviz_Ubl.Create 351 DijitalFatura/Entegrators/Ice/eDoviz_Ubl.vb:12-362
4 AIO.Personel.Personel.Insert 216 ERPPRO/Class/Dao/Personel.Personel.vb:391-606
5 AIO.Personel.Personel.Update 211 ERPPRO/Class/Dao/Personel.Personel.vb:610-820
6 AIO.Cari.Hesap.Insert 205 ERPPRO/Class/Dao/Cari.Hesap.vb:327-531
7 DijitalFatura.ERPFatura.Save 200 DijitalFatura/Common/ERPFatura.vb:449-648
8 AIO.Cari.Hesap.Update 197 ERPPRO/Class/Dao/Cari.Hesap.vb:535-731
9 ERPFatura.Save 170 ERPPRO/Class/Dao/Islem/ERPFatura.vb:328-497
10 iFVadeli.SaveCashTransaction 168 ERPPRO/Controls/Islem Ekranı/Ekran/iFVadeli.vb:504-671
11 Siparis.NetSiparis.Save 168 ERPPRO/Form/Siparis/NetEntegrator.vb:1857-2024
12 AIO.Sistem.Sube.Insert 166 ERPPRO/Class/Dao/Sistem.Sube.vb:215-380
13 AIO.Siparis.Modelkarti.InsertDate 157 ERPPRO/Class/Dao/Siparis.Modelkarti.vb:78-234
14 AIO.Sistem.Sube.Update 157 ERPPRO/Class/Dao/Sistem.Sube.vb:384-540
15 DijitalFatura.Entegrators.Ice.Get_eDoviz_Belge 156 DijitalFatura/Entegrators/Ice.vb:329-484
16 iFNakit.SaveCashTransaction 153 ERPPRO/Controls/Islem Ekranı/Ekran/iFNakit.vb:152-304
17 DijitalFatura.Entegrators.MySoft.Get_eDoviz_Belge 151 DijitalFatura/Entegrators/MySoft.vb:479-629
18 FrmTakozGiris.FormSave 149 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.vb:234-382
19 iFTakozGiris.FormSave 149 ERPPRO/Controls/Islem Ekranı/Ekran/iFTakozGiris.vb:192-340
20 Common.MappingNetSiparis 149 ERPPRO/Form/Siparis/NetEntegrator.vb:3099-3247
21 AIO.Cari.Kart.Insert 148 ERPPRO/Class/Dao/Cari.Kart.vb:277-424
22 AIO.Stok.Pirlanta.Insert 148 ERPPRO/Class/Dao/Stok.Pirlanta.vb:504-651
23 AIO.Cari.Islem.Update 146 ERPPRO/Class/Dao/Islem/Cari.Islem.vb:857-1002
24 AIO.Cari.Islem.Insert 145 ERPPRO/Class/Dao/Islem/Cari.Islem.vb:566-710
25 FrmUretimIslemleri.Kaydet 145 ERPPRO/Uretim/FrmUretimIslemleri.vb:415-559

Okuma: ilk 25'in 12'si DAO Insert/Update metodudur (145-216 satır) — her alan için If X <> Nothing Then AddWithValue Else DBNull bloğunun tekrarından oluşur; FrmMainForm.onMenuSelect (471 satır) tek bir Select Case ile tüm menüyü yönlendirir (FrmMainForm.vb:60-530).

3. En çok tabloya dokunan sınıflar (scan tables; tablo + TVF) — VERIFIED

# Sınıf Tablo/TVF sayısı Dosya Örnek
1 DSX 20 ERPPRO/Class/Module/Database.vb Cari.HesapListesi, Genel.Projeler, Personel.CikisNedenleri, Personel.MeslekKodlari, Personel.SSKGrup
2 AIO.Printing.Fis 11 ERPPRO/Controls/Islem Ekranı/OldFis/Printing.vb AifaDev.ReportLayouts, AifaDev.Reports, Bakiye.GetBakiye, Bakiye.GetFisBakiyesi, Cari.FisIslemDetay
3 FrmMainForm 9 ERPPRO/Form/Genel/FrmMainForm.vb Dov.GetMadenStoklari, Dov.GetNakitStoklari, Personel.CikisNedenleri, Personel.IzinListesi, Personel.MeslekKodlari
4 FrmCariHesapEkle 8 ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.vb Cari.GetFiyatListesi, Cari.Hesaplar, Cari.Kartlar, Genel.Adresler, Genel.Yetkililer
5 FrmPaketEkle 7 ERPPRO/Form/Siparis/FrmPaketEkle.vb Siparis.GetPaketDetay, Siparis.GetPaketHesapListesi, Siparis.GetParcaKartlari, Siparis.ModelKarti, Siparis.PaketDetay
6 FrmParcaKartiEkle 7 ERPPRO/Form/Siparis/FrmParcaKartiEkle.vb Siparis.GetKalipKartlari, Siparis.GetTedarikciler, Siparis.KalipDetay, Siparis.ModelKarti, Siparis.ReceteDetay
7 FrmModelKartıEkle 6 ERPPRO/Form/Siparis/FrmModelKartıEkle.vb Siparis.GetReceteDetay, Siparis.GetReceteler, Siparis.ModelAyarBlackList, Siparis.modelayarBlacklist, Stok.Maden
8 FrmBankaAltinOperasyonuTanimlama 6 ERPPRO/Form/Tanımlamalar/Banka/FrmBankaAltinOperasyonuTanimlama.vb Finans.Banka, Finans.BankaAltinOperasyonMasrafi, Finans.BankaHesaplari, Finans.BankaSubeleri, Finans.GetAltinOperasyonIslemleri
9 FrmPersonelEkle 6 ERPPRO/Form/Tanımlamalar/Personel/FrmPersonelEkle.vb Finans.Banka, Finans.BankaSubeleri, Organizasyon.GetTaskList, Personel.GetAileBireyleri, Personel.GetIzinler
10 FrmHesapAktar 6 ERPPRO/Form/Tanımlamalar/Sistem/FrmHesapAktar.vb Cari.Hesaplar, Cari.Islemler, Cari.Kartlar, ERPGENERAL.Dbo, Sistem.Kasalar
11 FrmKullaniciEkle 6 ERPPRO/Form/Users/FrmKullaniciEkle.vb Personel.Personeller, Sistem.GetUsers, Sistem.Sirketler, Sistem.Subeler, Sistem.UserDetails
12 UiDesigner.Ribbon.RibbonDesigner 6 CodeDesigner/CodeDesigner/UiDesigner/RibbonDesigner/RibbonDesigner.vb AifaDev.DashBoard, AifaDev.DynamicForms, AifaDev.Forms, AifaDev.Reports, Design.PopupGrid
13 AIO.Dynamic.Table 5 ERPPRO/Class/Dao/Dynamic/Class/Base/Table.vb INFORMATION_SCHEMA.columns, sys.columns, sys.objects, sys.schemas, sys.types
14 DBUpdate 5 ERPPRO/Class/SCHEMA/DBUpdate.vb Sistem.ERPSCHEMA, Sistem.ERPSchema, sys.columns, sys.objects, sys.schemas
15 iScreen 5 ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.vb Cari.GetAccountLog, Cari.HistoryDetails, Cari.HistoryListesi, Cari.IslemListesi, Cari.Islemler
16 FrmSipModelEkle 5 ERPPRO/Form/Siparis/FrmSipModelEkle.vb Siparis.GetModelKartlari, Siparis.GetTakimlar, Siparis.GetUyumluPaketler, Siparis.ModelAyarBlackList, Siparis.Receteler
17 FrmUretimSiparisEkle 5 ERPPRO/Form/Siparis/FrmUretimSiparisEkle.vb Siparis.GetModelKartlari, Siparis.GetParcaKartlari, Siparis.GetUretimSiparisDetay, Siparis.Receteler, Siparis.UretimSiparisi
18 FrmBankaOperasyonSkorGirisi 5 ERPPRO/Form/Tanımlamalar/Banka/FrmBankaOperasyonSkorGirisi.vb Finans.Banka, Finans.BankaHesaplari, Finans.BankaSubeleri, Finans.GetAltinOperasyonIslemleri, Genel.experler
19 FrmMizanDetayEkle 5 ERPPRO/Form/Tanımlamalar/Sistem/FrmMizanDetayEkle.vb Cari.Hesaplar, Sistem.MizanDetay, Stok.Hizmet, Stok.Maden, Stok.Nakit
20 FrmGorevEkle 5 ERPPRO/Organizasyon/FrmGorevEkle.vb Organizasyon.GelenGorevler, Organizasyon.GetOrganizasyonListesi, Organizasyon.GorevDagitim, Organizasyon.Gorevler, Organizasyon.Organizasyonlar

Okuma: DSX (önbellek) beklenen liderdir; AIO.Printing.Fis (fiş yazdırma) 11 tablo/TVF'ye dokunup 13 dinamik SQL üretir — rapor mantığının yazdırma sınıfına gömülü olduğunu gösterir. Form sınıflarının (FrmCariHesapEkle, FrmPaketEkle, …) doğrudan 6-8 tabloya SQL göndermesi DAO katmanının atlandığını gösterir.

4. Bağımlılık: en çok kullanılan ve en çok kullanan sınıflar (scan uses ters indeksi) — VERIFIED

4.1 En çok başka sınıf tarafından kullanılan 20 sınıf (tüm sınıflar)

# Kullanılan sınıf Kullanan sınıf sayısı Tanım dosyası
1 InternalDb 293 ERPPRO/Class/Module/InternalDb.vb
2 LabelControl 189 ERPPRO/Controls/Editor/LabelControl.vb
3 TextBoxEdit 123 ERPPRO/Controls/Editor/TexBoxEdit.vb
4 Credits.IDType 120 DijitalFatura/Entegrators/Ice/UBL-CreditNote.vb
5 LookUpEdit 114 ERPPRO/Controls/Editor/LookUpEdit.vb
6 Controls.GridControl 105 CodeDesigner/CodeDesigner/Controls/Editors/GridControl.vb
7 ComboBoxEdit 95 ERPPRO/Controls/Editor/ComboBoxEdit.vb
8 DbCombo 60 ERPPRO/Controls/Editor/DbCombo.vb
9 tr.com.iceteknoloji.integrationtest.Login_Request_Header 60 DijitalFatura/Web References/tr.com.iceteknoloji.integrationtest/Reference.vb
10 Credits.DescriptionType 59 DijitalFatura/Entegrators/Ice/UBL-CreditNote.vb
11 PictureEdit 58 ERPPRO/Controls/Editor/PictureEdit.vb
12 Credits.PeriodType 57 DijitalFatura/Entegrators/Ice/UBL-CreditNote.vb
13 Credits.PartyType 56 DijitalFatura/Entegrators/Ice/UBL-CreditNote.vb
14 FormEditBase 54 ERPPRO/Form/Base/FormEditBase.vb
15 Controls.DateEdit 54 CodeDesigner/CodeDesigner/Controls/Editors/DateEdit.vb
16 Controls.MemoEdit 45 CodeDesigner/CodeDesigner/Controls/Editors/MemoEdit.vb
17 AIO.Cari.Islem 44 ERPPRO/Class/Dao/Islem/Cari.Islem.vb
18 Credits.DocumentReferenceType 44 DijitalFatura/Entegrators/Ice/UBL-CreditNote.vb
19 Credits.NoteType 41 DijitalFatura/Entegrators/Ice/UBL-CreditNote.vb
20 Credits.NameType1 36 DijitalFatura/Entegrators/Ice/UBL-CreditNote.vb

4.2 UI kontrolleri ve üretilmiş UBL/proxy tipleri ayıklanınca

# Kullanılan sınıf Kullanan sınıf sayısı Tanım dosyası
1 InternalDb 293 ERPPRO/Class/Module/InternalDb.vb
2 AIO.Cari.Islem 44 ERPPRO/Class/Dao/Islem/Cari.Islem.vb
3 DataLayout.RepositoryItem 32 ERPPRO/DataLayout/Repository.vb
4 AIO.Sistem.Birim 30 ERPPRO/Class/Dao/Sistem.Birim.vb
5 AIO.Stok.Maden 14 ERPPRO/Class/Dao/Stok.Maden.vb
6 AIO.Cari.Hesap 12 ERPPRO/Class/Dao/Cari.Hesap.vb
7 AIO.Stok.Takoz 11 ERPPRO/Class/Dao/Stok.Takoz.vb
8 DataLayout.Data.DataColumn 9 ERPPRO/DataLayout/RepositoryData.vb
9 AIO.Sistem.ListLayout 9 ERPPRO/Class/Dao/Sistem.Listlayout.vb
10 iFTransaction.iTransactionInfo 9 ERPPRO/Controls/Islem Ekranı/Ekran/iFTransaction.vb
11 AIO.Dynamic.Data 8 ERPPRO/Class/Dao/Dynamic/Class/Base/Data.vb
12 DataLayout.Data.DataRow 8 ERPPRO/DataLayout/RepositoryData.vb
13 DijitalFatura.Base.EDovizResponseResult 8 DijitalFatura/Base/EdovizResponseResult.vb
14 UiDesigner.Form.Form 7 CodeDesigner/CodeDesigner/Designer/UserForm.vb
15 AIO.Dynamic.Field 6 ERPPRO/Class/Dao/Dynamic/Class/Attribute/Field.vb
16 AIO.Design.RibbonItem 6 ERPPRO/Class/Dao/Design.RibbonItem.vb
17 AIO.Cari.View.HesapDetay 6 ERPPRO/Class/Dao/Cari.View.Hesaplistesi.vb
18 AIO.Stok.Nakit 6 ERPPRO/Class/Dao/Stok.Nakit.vb
19 AIO.Design.RibbonGroup 5 ERPPRO/Class/Dao/Design.RibbonGroup.vb
20 AIO.Design.RibbonPage 5 ERPPRO/Class/Dao/Design.RibbonPage.vb

Okuma: InternalDb 293 sınıf tarafından doğrudan kullanılır → veri erişim değişikliği 293 sınıfa dokunur. Alan modeli tarafında en yaygın bağımlılık AIO.Cari.Islem (44) ve AIO.Sistem.Birim (30).

4.3 Yüksek coupling — en çok farklı sınıfa bağımlı 20 sınıf (üretilmiş/UBL hariç)

# Sınıf Farklı uses sayısı Dosya
1 DijitalFatura.Entegrators.Ice_.eDoviz_Ubl 62 DijitalFatura/Entegrators/Ice/eDoviz_Ubl.vb
2 DijitalFatura.Entegrators.UyumSoft 56 DijitalFatura/Entegrators/Uyumsoft.vb
3 iScreen 37 ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.vb
4 FrmPersonelEkle 21 ERPPRO/Form/Tanımlamalar/Personel/FrmPersonelEkle.vb
5 DSX 20 ERPPRO/Class/Module/Database.vb
6 Program 20 ERPPRO/Class/Module/Program.vb
7 AIO.Parakende.HizliSatisEkrani 20 ERPPRO/Controls/Islem Ekranı/Parakende/HizliSatisEkrani.vb
8 FrmMainForm 20 ERPPRO/Form/Genel/FrmMainForm.vb
9 iFTransaction 19 ERPPRO/Controls/Islem Ekranı/Ekran/iFTransaction.vb
10 FrmSiparisGirisi 19 ERPPRO/Form/Siparis/FrmSiparisGirisi.vb
11 FrmCariHesapEkle 19 ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.vb
12 AIO.Printing.Fis 18 ERPPRO/Controls/Islem Ekranı/OldFis/Printing.vb
13 FrmReportDesigner 18 ERPPRO/Designer/ReportManager/FrmReportDesigner.vb
14 GiseEkrani 17 ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.vb
15 UiDesigner.Form.FormDesigner 17 CodeDesigner/CodeDesigner/UiDesigner/FormDesigner/FormDesigner.vb
16 FrmSipModelEkle 16 ERPPRO/Form/Siparis/FrmSipModelEkle.vb
17 FrmModelKartıEkle 15 ERPPRO/Form/Siparis/FrmModelKartıEkle.vb
18 FrmBankaAltinOperasyonuTanimlama 15 ERPPRO/Form/Tanımlamalar/Banka/FrmBankaAltinOperasyonuTanimlama.vb
19 FrmBankaOperasyonSkorGirisi 15 ERPPRO/Form/Tanımlamalar/Banka/FrmBankaOperasyonSkorGirisi.vb
20 FrmGorevEkle 15 ERPPRO/Organizasyon/FrmGorevEkle.vb

5. Boş Catch — en çok olan 20 dosya — VERIFIED

Toplam 679 boş catch, 273 dosya (scan empty_catch). Projeye göre: ERPPRO 633, AifaDeveloper 41, DigitalFatura 5. Klasöre göre: ERPPRO/Class/Dao 361, Designer/ReportManager 39, Controls/Islem Ekranı 33, Class/Module 30, Class/Ext 24. (Mimari referans §9-6 "348 yerde" der — farklı sayım tabanı; scan Designer ve CodeDesigner dahil sayar.)

# Dosya Boş catch Örnek metot:satır
1 ERPPRO/Designer/DosPrint/DosPrint.vb 14 DataBind:74, New:149, TOList:174
2 ERPPRO/Form/Siparis/NetEntegrator.vb 12 New:1764, TOList:1809, Delete:2110
3 ERPPRO/Class/Dao/Dynamic/Class/Base/Data.vb 8 Load:96, GetDataTable:153, Insert:192
4 ERPPRO/Class/Module/Database.vb 8 RetriveOfProjeler:80, RetriveOfTakozTipi:426, RetriveOfVariant:447
5 ERPPRO/Class/Ext/Cari.Provizyon.vb 7 New:30, TOList:54, Insert:84
6 ERPPRO/Class/Dao/Dov.Harcamalar.vb 6 New:15, TOList:44, Insert:79
7 ERPPRO/Class/Dao/Doviz.StokKartlari.vb 6 New:14, TOList:42, Insert:76
8 ERPPRO/Class/Dao/Stok.Mutabakat.vb 6 New:14, TOList:42, Insert:75
9 ERPPRO/Class/Dao/Stok.Variyant.vb 6 New:32, TOList:60, Insert:96
10 ERPPRO/Class/Dao/Uretim.Bakiye.vb 6 New:15, TOList:39, Insert:69
11 ERPPRO/Class/Dao/Uretim.Bolumler.vb 6 New:15, TOList:46, Insert:83
12 ERPPRO/Class/Dao/Uretim.UretimIslemleri.vb 6 New:14, TOList:56, Insert:104
13 ERPPRO/Class/Module/Extention.vb 6 SizeLoad:120, SizeLoad:152, Import:255
14 CodeDesigner/CodeDesigner/UiDesigner/FormDesigner/FormDesigner.vb 6 LoadProperites:155, AddBookMarks:186, ClearBookMarks:193
15 ERPPRO/Class/Dao/Sistem.Clients.vb 5 New:24, Insert:146, Update:189
16 ERPPRO/Controls/Takvim/Class/Resources.vb 5 New:18, ToList:42, ToList:69
17 ERPPRO/Designer/ReportManager/Class/FaturaDesign.vb 5 New:32, New:53, TOList:74
18 ERPPRO/Designer/ReportManager/Class/ReportLayout.vb 5 New:31, Load:51, RestoreLayout:145
19 ERPPRO/Designer/ReportManager/FrmReportDesigner.vb 5 CustomSummary:283, BtnAdd_Click:361
20 ERPPRO/Form/Pano/DovizPanosu.vb 5 New:15, TOList:40, Save:76

Tipik kalıp (DAO): Try … RecId = db.ExecuteScalar … Catch ex As Exception Finally db.SqlConnectionState = Close End Try — hata yutulur, Save False döner (ör. ERPPRO/Class/Dao/Islem/Cari.Islem.vb:694-700, Cari.Fatura.vb:228-234). Database.vb'de önbellek yükleyicileri boş catch içinde: liste yüklenemezse sessizce boş kalır (:105,443,466,487,508,530,550).

6. Kopyala-yapıştır (duplicated code) — VERIFIED

Yöntem: scan'deki Save/Insert/Update/Delete/DeleteAt/SetPropertyValue metot adları ve gövdeleri (normalize edilip kümelendi) + grep.

Kalıp Sayı Kanıt
Save gövdesi If Id = 0 Then Return Insert Else Return Update 91 / 105 DAO Save (52 Insert/Update, 39 parantezsiz yazım) ör. ERPPRO/Class/Dao/Agent.Agent.vb:104, Cari.Transferler.vb:164-166, Cari.DosyaBilgileri.vb:86
Insert / Update alan-alan AddWithValue bloğu 110 / 110 DAO metodu; 142 dosyada 4559 AddWithValue satırı Personel.Personel.vb:391-606 (216 satır), Cari.Hesap.vb:327-531
SetPropertyValue + GetPropertyValue reflection çifti 121 dosya (grep "Sub SetPropertyValue(ByVal PropertyName") Cari.Fatura.vb:376-392, Cari.Transferler.vb:324, Class/Common/Symbol.vb:97-105, Controls/Takvim/Class/Ticket.vb:329-337
Delete + Delete(RecordId) + Shared DeleteAt(Id) üçlüsü (soft delete) 87 dosya (DBBase türevleri arasında) Cari.Hesap.vb:749/770/792 — üçü aynı MessageBox metnini taşır
New(RecordId) + TOList okuyucu kalıbı (If Not Dr.Item(x) Is DBNull.Value Then …) 118 DBBase türevi Database.vb:54-79 ile aynı
Dispose(disposing) boş kalıbı 162 metot 9 satır (aynı imza) Class/Dao/Agent.Agent.vb:259, InternalDb.vb:131-141
Aynı dosyanın iki kopyası CodeDesigner/.../RibbonDesigner/Ribbon.vb ve Ribbon.sync-conflict-20180412-175728-MJL5L7R.vb (her ikisi 11 dinamik SQL) dosya sistemi; .vbproj'de yalnız Ribbon.vb derleniyor (grep)
Ekran çifti iFTakozGiris.FormSave (149 satır, iFTakozGiris.vb:192-340) ↔ FrmTakozGiris.FormSave (149 satır, SeriIslemEkrani/FrmTakozGiris.vb:234-382); iFVadeli.SaveCashTransactioniFNakit.SaveCashTransaction scan metot uzunlukları birebir

7. Dinamik SQL — en çok olan 20 dosya — VERIFIED

Toplam 1010 / 1468 ifade dinamik (%69), 311 sınıf. Satır numaraları ifadenin başladığı satırdır.

# Dosya Dinamik SQL Satırlar
1 ERPPRO/Controls/Islem Ekranı/OldFis/Printing.vb 13 40, 43, 99, 137, 139, 201, 218, 220…
2 CodeDesigner/CodeDesigner/UiDesigner/RibbonDesigner/Ribbon.sync-conflict-20180412-175728-MJL5L7R.vb 11 16, 83, 130, 159, 183, 208, 305, 332…
3 CodeDesigner/CodeDesigner/UiDesigner/RibbonDesigner/Ribbon.vb 11 18, 84, 131, 160, 184, 209, 306, 333…
4 ERPPRO/Class/Dao/Dynamic/Class/Base/Table.vb 10 93, 138, 145, 146, 147, 152, 154, 160…
5 ERPPRO/Class/Module/Database.vb 9 113, 157, 181, 224, 297, 342, 429, 613…
6 ERPPRO/Designer/ReportManager/BilancoSimpleView.vb 8 118, 150, 166, 167, 182, 185, 187, 190
7 ERPPRO/Form/Siparis/FrmPaketEkle.vb 8 7, 53, 67, 90, 131, 158, 167, 170
8 ERPPRO/Form/Siparis/NetEntegrator.vb 8 1766, 2113, 2132, 2500, 2633, 2653, 2673, 2905
9 ERPPRO/Organizasyon/FrmGorevEkle.vb 8 39, 44, 92, 98, 105, 106, 138
10 ERPPRO/Class/Dao/Cari.Fatura.vb 7 32, 313, 316, 333, 336, 356, 359
11 ERPPRO/Class/Dao/Islem/Cari.Islem.vb 7 37, 522, 1055, 1058, 1064, 1072, 1104
12 ERPPRO/Class/Dao/Personel.Personel.vb 7 29, 37, 401, 615, 826, 840, 855
13 ERPPRO/Class/Dao/Stok.Model.vb 7 32, 248, 288, 300, 484, 499, 515
14 ERPPRO/Class/Dao/Stok.Pirlanta.vb 7 32, 444, 454, 469, 803, 818, 834
15 ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.vb 7 723, 975, 977, 1002, 1028, 1136, 1148
16 ERPPRO/Controls/Takvim/Class/Resources.vb 7 21, 73, 177, 215, 243, 258, 273
17 ERPPRO/Designer/DosPrint/DosPrint.vb 7 151, 288, 308, 458, 490, 629, 649
18 ERPPRO/Form/Tanımlamalar/Banka/FrmBankaAltinOperasyonuTanimlama.vb 7 42, 48, 58, 65, 119, 158, 161
19 ERPPRO/Uretim/FrmUretimIslemleri.vb 7 6, 37, 41, 209, 222, 246, 248
20 ERPPRO/Class/Dao/Design.PopupGrid.vb 6 30, 170, 231, 283, 297, 312

Enjeksiyon açısından string parametre örnekleri: database-access §8.1.

8. Global durum (Program.*, LoginInformation.*, DSX.*) — en çok kullanan 20 sınıf — VERIFIED

Toplam 1175 başvuru, 312 sınıf (Program 763, DSX 322, LoginInformation 87). DAO klasöründeki 162 sınıfın 110'u global durum okur (341 başvuru) → DAO sınıfları oturum/şube bağlamını enjeksiyonla değil statik alandan alır.

# Sınıf Global başvuru Dağılım Dosya Örnek
1 AIO.Printing.Fis 33 Program 19, LoginInformation 11, DSX 3 ERPPRO/Controls/Islem Ekranı/OldFis/Printing.vb LoginInformation.User (Printing.vb:27), Program.SirketId (Printing.vb:27)
2 AIO.Cari.Islem 30 Program 19, DSX 7, LoginInformation 4 ERPPRO/Class/Dao/Islem/Cari.Islem.vb LoginInformation.Sube (Cari.Islem.vb:506), Program.GetKur (Cari.Islem.vb:506)
3 iScreen 29 Program 15, LoginInformation 11, DSX 3 ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.Designer.vb LoginInformation.User (iScreen.vb:4), LoginInformation.User (iScreen.vb:25)
4 AIO.Dynamic.Field 28 DSX 20, Program 8 ERPPRO/Class/Dao/Dynamic/Class/Attribute/Field.vb DSX.TABLE.ListOfAnlikFiyat (Field.vb:488), DSX.TABLE.ListOfBirim (Field.vb:488)
5 DSX 28 DSX 20, Program 8 ERPPRO/Class/Module/Database.vb DSX.TABLE.ListOfProje (Database.vb:80), DSX.TABLE.ListOfBirim (Database.vb:110)
6 FrmMainForm 27 Program 21, LoginInformation 5, DSX 1 ERPPRO/Form/Genel/FrmMainForm.Designer.vb LoginInformation.Sube (FrmMainForm.vb:8), Program.ShadowMode (FrmMainForm.vb:8)
7 GiseEkrani 20 Program 14, DSX 4, LoginInformation 2 ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.Designer.vb DSX.TABLE.ListOfHesap (GiseEkrani.vb:19), Program.GetKur (GiseEkrani.vb:19)
8 AIO.Parakende.HizliSatisEkrani 18 Program 9, DSX 8, LoginInformation 1 ERPPRO/Controls/Islem Ekranı/Parakende/HizliSatisEkrani.Designer.vb DSX.TABLE.ListOfHesap (HizliSatisEkrani.vb:13), DSX.TABLE.ListOfKasalar (HizliSatisEkrani.vb:13)
9 ParakendeSatis 17 DSX 8, Program 8, LoginInformation 1 ERPPRO/Controls/Islem Ekranı/Ekran/ParakendeSatis.Designer.vb DSX.TABLE.ListOfHesap (ParakendeSatis.vb:47), DSX.TABLE.ListOfKasalar (ParakendeSatis.vb:47)
10 FrmTakozGiris 16 Program 13, DSX 3 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.Designer.vb DSX.TABLE.ListOfBirim (FrmTakozGiris.vb:88), DSX.TABLE.ListOfTakozTipi (FrmTakozGiris.vb:88)
11 iFTakozGiris 16 Program 13, DSX 3 ERPPRO/Controls/Islem Ekranı/Ekran/iFTakozGiris.Designer.vb DSX.TABLE.ListOfBirim (iFTakozGiris.vb:34), DSX.TABLE.ListOfTakozTipi (iFTakozGiris.vb:34)
12 iFMaden 12 Program 6, DSX 5, LoginInformation 1 ERPPRO/Controls/Islem Ekranı/Ekran/iFMaden.Designer.vb DSX.TABLE.ListOfBirim (iFMaden.vb:38), DSX.TABLE.ListOfMaden (iFMaden.vb:38)
14 FrmUretimIslemleri 12 Program 6, DSX 5, LoginInformation 1 ERPPRO/Uretim/FrmUretimIslemleri.Designer.vb Program.SubeId (FrmUretimIslemleri.vb:3), Program.SubeId (FrmUretimIslemleri.vb:31)
15 Program 10 Program 8, DSX 1, LoginInformation 1 ERPPRO/Class/Module/Program.vb Program.Config (Program.vb:78), Program.GlobalSettings (Program.vb:88)
16 FrmEFaturaBas 10 LoginInformation 6, DSX 3, Program 1 ERPPRO/Controls/Islem Ekranı/Ekran/FrmEFaturaBas.Designer.vb DSX.FN.GetIstatistikKodu (FrmEFaturaBas.vb:80), LoginInformation.Sube (FrmEFaturaBas.vb:138)
17 FrmLoginForm 10 Program 9, LoginInformation 1 ERPPRO/Form/Genel/FrmLoginForm.Designer.vb Program.CheckLocalUpdate (FrmLoginForm.vb:2), Program.GlobalSettings (FrmLoginForm.vb:2)
18 FrmCariHesapEkle 10 Program 5, LoginInformation 3, DSX 2 ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.Designer.vb Program.SirketId (FrmCariHesapEkle.vb:3), DSX.TABLE.ListOfMaden (FrmCariHesapEkle.vb:31)
19 AIO.Cari.Provizyon 9 DSX 6, Program 3 ERPPRO/Class/Ext/Cari.Provizyon.vb Program.GlobalSettings (Cari.Provizyon.vb:323), DSX.FN.GetKarsiIslemTuru (Cari.Provizyon.vb:384)
20 iHesapControl 9 DSX 5, Program 3, LoginInformation 1 ERPPRO/Controls/Islem Ekranı/Base Control/iHesapControl.Designer.vb DSX.TABLE.ListOfHesap (iHesapControl.vb:12), DSX.TABLE.ListOfProje (iHesapControl.vb:12)

9. Reflection kullanan yerler — VERIFIED

scan reflection bayrağı 278 metot; dağılım:

Grup Yer Not
DAO SetPropertyValue/GetPropertyValue (Me.GetType.GetProperty) 121 dosya × 2 metot (§6) Alan adı string'i ile özellik yazma/okuma; DataLayoutControl/RepositoryItem tarafından çağrılır
DataLayout.DBBaseClass ERPPRO/DataLayout/DBBaseClass.vb:42,88,201-261 attribute tabanlı ORM (tek türev RepositoryItem)
AIO.SQL.SQLBase ERPPRO/Class/Dao/_SQLBase/SQLBase.vb:15-26,43,65-95 MERGE üretimi (tek türev Cari.IFatura)
AIO.Dynamic.Data / Compiler / DataProperties Class/Dao/Dynamic/Class/Base/Data.vb:34,50,80,88,134,192,240; Class/Compiler.vb:57; Forms/DataProperties.vb:3 runtime derleme + Activator
Generic liste/ağaç Show(Of T) Controls/Grid/DataListBase.vb:5,13,21 (Activator.CreateInstance(GetType(ActiveClass))), DataListGrid.vb, DataListTree.vb tip parametresinden DAO örneği
Utils.AddControl, Utils.cVBEvalProvider.Eval Class/Module/Utils.vb:141,217 Eval çağrılmıyor (ölü)
Diğer Class/Common/Symbol.vb:97-105, Class/Sistem.Login.vb:138-146, Class/Ext/Sistem.Ozelkod.vb:212-220, Controls/Islem Ekranı/OldFis/Etiket.vb:241-249, EtiketDetay.vb:328, Controls/Takvim/Class/{Appointment:480,Resources:289,Ticket:329}.vb, CodeDesigner/.../Designer/UserForm.vb aynı çiftin kopyaları

10. Thread / Timer kullanan yerler — VERIFIED

scan thread 406 metot; 367'si web referansı proxy'lerindeki üretilmiş …Async metotları (ayıklandı). Kalan 39:

Sınıf.Metot Dosya:satır
My.MyApplication.MyApplication_Startup ERPPRO/Class/Ext/ApplicationExt.vb:23
Backup.InitializeComponent ERPPRO/Backup/Backup.Designer.vb:24
Backup.Button1_Click ERPPRO/Backup/Backup.vb:54
AIO.Sistem.DovizPanosu.Start ERPPRO/Class/Dao/Sistem.DovizPanosu.vb:46
AIO.Kur.KurListesi.Start ERPPRO/Class/Dao/Sistem.KurListesi.vb:73
EXAProducts.Read ERPPRO/Class/Module/EXAProducts.vb:15
Extensions.GetDatasource ERPPRO/Class/Module/Extention.vb:66
Program.CheckLocalUpdate ERPPRO/Class/Module/Program.vb:74
SQLServers.New ERPPRO/Class/Module/SQLServers.vb:4
TCMB.Currency.Read ERPPRO/Class/Module/TCMB.vb:78
Utils.Culture ERPPRO/Class/Module/Utils.vb:126
Utils.Run ERPPRO/Class/Module/Utils.vb:153
AIO.Net.Email.Send ERPPRO/Class/Net/Email.vb:21
iScreen.IHesapButtonClick ERPPRO/Controls/Islem Ekranı/Base Control/iScreen.vb:348
FrmEFaturaListesi.BtnSendAll_Click ERPPRO/Controls/Islem Ekranı/Ekran/FrmEFaturaListesi.vb:53
GiseEkrani.InitializeComponent ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.Designer.vb:22
PanoGrid.FormInit ERPPRO/Controls/Islem Ekranı/Parakende/PanoGrid.vb:10
Takvim.InitializeComponent ERPPRO/Controls/Takvim/Takvim.Designer.vb:21
Takvim.RetriveData ERPPRO/Controls/Takvim/Takvim.vb:65
Takvim.DXTab_HeaderButtonClick ERPPRO/Controls/Takvim/Takvim.vb:247
DashBoardView.OnStart ERPPRO/Designer/DashBoard/DashBoardView.vb:64
DashBoardView.OnStop ERPPRO/Designer/DashBoard/DashBoardView.vb:72
FrmIscreenGrid.FormClose ERPPRO/Designer/PopupGrid/FrmIscreenGrid.vb:97
ThreadPopupGrid.OnStart ERPPRO/Designer/PopupGrid/ThreadPopupGrid.vb:81
ThreadPopupGrid.OnStop ERPPRO/Designer/PopupGrid/ThreadPopupGrid.vb:90
ThreadPopupGrid.FormClose ERPPRO/Designer/PopupGrid/ThreadPopupGrid.vb:98
BilancoSimpleView.VwBilancoList_DoubleClick ERPPRO/Designer/ReportManager/BilancoSimpleView.vb:145
FrmNabiz.FormShown ERPPRO/Designer/ReportManager/FrmNabiz.vb:218
AiWebCam.InitializeComponent ERPPRO/Form/Genel/AiWebCam.Designer.vb:24
FrmDevir.InitializeComponent ERPPRO/Form/Genel/FrmDevir.Designer.vb:23
FrmDevir.SimpleButton1_Click ERPPRO/Form/Genel/FrmDevir.vb:31
RefreshFormBase.FormInit ERPPRO/Form/RefreshGrid/RefreshFormBase.vb:85
RefreshFormBase.FormClose ERPPRO/Form/RefreshGrid/RefreshFormBase.vb:88
RefreshFormBase.onRefreshData ERPPRO/Form/RefreshGrid/RefreshFormBase.vb:100
Common.RefreshData ERPPRO/Form/Siparis/NetEntegrator.vb:3285
FrmPingCodes.InitializeComponent ERPPRO/Form/Tanımlamalar/Cari/FrmPingCodes.Designer.vb:21
MutabakatOnay.FormLoad ERPPRO/Form/Tanımlamalar/Stok/MutabakatOnay.vb:4
UiDesigner.DashBoard.DashBoardView.onRefresh CodeDesigner/CodeDesigner/UiDesigner/Dashboard/DashBoardView.vb:55
UiDesigner.Form.FormDesigner.ClassCodeChanged CodeDesigner/CodeDesigner/UiDesigner/FormDesigner/FormDesigner.vb:152

Dikkat çekenler: KurListesi.Start (System.Threading.Timer, 15 sn; liste UI dışından güncellenir, kilit yok — Sistem.KurListesi.vb:62-75,95-123), DovizPanosu.Start (aynı kalıp, Sistem.DovizPanosu.vb:46), Program.CheckLocalUpdate (arka planda Update.exe çalıştırıp EndProgram.vb:74-98), SQLServers.New (kurucuda thread), ThreadPopupGrid/RefreshFormBase (grid yenileme thread'leri).

11. UI açan DAO sınıfları — VERIFIED

ERPPRO/Class/Dao altında MessageBox.Show/MsgBox: 45 satır, 19 dosya; Class/Ext: 19 satır, 4 dosya; ayrıca Utils.OnayAl/FrmSilmeOnayAl 10 çağrı. scan messages alanına göre 148 DAO sınıfının 17'si ileti gösterir:

Sınıf İleti sayısı Dosya Örnek (metot:satır)
AIO.Cari.Islem 12 ERPPRO/Class/Dao/Islem/Cari.Islem.vb Save:509,514,524; AciklamaIste FrmSilmeOnayAl.ShowDialog :533-535; DeleteAt MessageBox.YesNo :1057,1061
AIO.Cari.Fatura 3 Cari.Fatura.vb DeleteAt:311, Delete:331,354 (onay sorusu DAO içinde)
AIO.Cari.Hesap 3 (+ FrmMainForm.MainTabControl erişimi :812) Cari.Hesap.vb DeleteAt:749, Delete:770,792; CloseAllForm ana form sekmelerini gezer
AIO.Cari.Kart 3 Cari.Kart.vb DeleteAt:586, Delete:606,627
AIO.Finans.BankaAltinOperasyonu 3 Finans.BankaAltinOperasyonu.vb DeleteAt:263, Delete:285,307
AIO.Siparis.Parcakarti 3 Siparis.Parcakarti.vb DeleteAt:390, Delete:408,427
AIO.Siparis.Modelkarti 2 Siparis.Modelkarti.vb Insert:248, Update:343
AIO.Siparis.Fiyatlistesi, AIO.Siparis.Recete, AIO.Sistem.Pincode, AIO.Sistem.Usergroup, AIO.Sistem.Vadeli, AIO.Stok.Hizmet, AIO.Stok.Maden, AIO.Stok.Model, AIO.Stok.Nakit, AIO.Stok.Pirlanta 1'er ilgili Class/Dao/*.vb Validate:127, Save:117, New:28, CreateMenu:159, HasRow:271/258/433/293/258/459

Ek: InternalDb (veri katmanının kendisi) MessageBox/MsgBox açar (InternalDb.vb:44,61,77,93,106,120); SQLBase.vb:124,144,175; DBBaseClass.vb:136; Class/Dao/Islem/PinShowDialog.vb, FrmExLimit.vb DAO klasöründe form sınıflarıdır.

12. Magic number karşılaştırmaları — VERIFIED

scan magic (yalnız IslemKodu/IslemTuru/IslemTipi/Status/HesapType/StokTipi/Durum alanlarıyla sabit karşılaştırma) 74 ifade; grep ile ek sayım: IslemTipi = n 30 satır/15 dosya, IslemKodu = n 12/10, HesapType = n 11/10, Status = n 8/5, Durum = n 7/7, SetStatus(x, n) 3/1. Enum'lar mevcut (AIO.Cari.Islem.tIslemKodu/tIslemTuru/tIslemTipi) ama SQL metinlerinde ve bazı VB dallarında sayı kullanılır.

# Sınıf Karşılaştırma Dosya Örnekler
1 AIO.Printing.Fis 8 ERPPRO/Controls/Islem Ekranı/OldFis/Printing.vb StokTipi=1 (Printing.vb:201); StokTipi=2 (Printing.vb:201); StokTipi=2 (Printing.vb:201)
2 AIO.Cari.Islem 5 ERPPRO/Class/Dao/Islem/Cari.Islem.vb IslemKodu = 1 (Cari.Islem.vb:520); IslemKodu = 2 (Cari.Islem.vb:520); IslemKodu = 3 (Cari.Islem.vb:520)
3 ProvizyonGrid 4 ERPPRO/Controls/Grid/ProvizyonGrid.Designer.vb Status <> 2 (ProvizyonGrid.vb:261); Status = 2 (ProvizyonGrid.vb:262); Status <> 1 (ProvizyonGrid.vb:276)
4 FrmStokIslem 4 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmStokIslem.Designer.vb IslemTipi <> -1 (FrmStokIslem.vb:501); IslemTipi <> -1 (FrmStokIslem.vb:505); IslemTipi <> -1 (FrmStokIslem.vb:511)
5 StokIslem 4 ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/StokIslem.Designer.vb IslemTipi <> -1 (StokIslem.vb:365); IslemTipi <> -1 (StokIslem.vb:369); IslemTipi <> -1 (StokIslem.vb:375)
6 MutabakatOnay 4 ERPPRO/Form/Tanımlamalar/Stok/MutabakatOnay.Designer.vb StokTipi =2 (MutabakatOnay.vb:24); StokTipi=1 (MutabakatOnay.vb:24); StokTipi =2 (MutabakatOnay.vb:24)
7 AIO.Cari.Odeme 3 ERPPRO/Class/Dao/Cari.Odeme.vb IslemKodu =3 (Cari.Odeme.vb:136); IslemTipi =15 (Cari.Odeme.vb:136); HesapType = 0 (Cari.Odeme.vb:152)
8 AIO.Cari.ListItem 3 ERPPRO/Class/Ext/Cari.ListItem.vb IslemTipi = 10 (Cari.ListItem.vb:8); IslemTipi = 11 (Cari.ListItem.vb:8); IslemTipi = 12 (Cari.ListItem.vb:8)
9 FrmMadenBaglatiListesi 3 ERPPRO/Controls/Islem Ekranı/Ekran/FrmMadenBaglatiListesi.Designer.vb Status=0 (FrmMadenBaglatiListesi.vb:11); IslemTipi =14 (FrmMadenBaglatiListesi.vb:11); IslemKodu =1 (FrmMadenBaglatiListesi.vb:11)
10 iFHurda 3 ERPPRO/Controls/Islem Ekranı/Ekran/iFHurda.Designer.vb IslemTipi = 11 (iFHurda.vb:50); IslemTipi = 11 (iFHurda.vb:52); IslemTipi = 12 (iFHurda.vb:54)
11 iFMaden 3 ERPPRO/Controls/Islem Ekranı/Ekran/iFMaden.Designer.vb IslemTipi = 11 (iFMaden.vb:76); IslemTipi = 12 (iFMaden.vb:78); IslemTipi = 14 (iFMaden.vb:80)
12 FrmBlokTakozGirisi 2 ERPPRO/Controls/Islem Ekranı/Ekran/FrmBlokTakozGirisi.Designer.vb IslemKodu =0 (FrmBlokTakozGirisi.vb:23); IslemTuru =1 (FrmBlokTakozGirisi.vb:23)
13 FrmOdemeGirisi 2 ERPPRO/Controls/Islem Ekranı/Ekran/FrmOdemeGirisi.Designer.vb IslemKodu =3 (FrmOdemeGirisi.vb:39); IslemTipi =15 (FrmOdemeGirisi.vb:39)
14 ParakendeSatis 2 ERPPRO/Controls/Islem Ekranı/Ekran/ParakendeSatis.Designer.vb HesapType = 0 (ParakendeSatis.vb:307); HesapType = 0 (ParakendeSatis.vb:380)
15 iFSeriIslem 2 ERPPRO/Controls/Islem Ekranı/Ekran/iFSeriIslem.Designer.vb IslemTipi <> -1 (iFSeriIslem.vb:240); IslemTipi <> -1 (iFSeriIslem.vb:243)
16 FrmBilancoSifirla 2 ERPPRO/Form/Genel/FrmBilancoSifirla.Designer.vb HesapType = 0 (FrmBilancoSifirla.vb:88); IslemKodu = 999 (FrmBilancoSifirla.vb:93)
17 BTRANSDOVIZ.GIBBTrans 1 ERPPRO/BTRANS/Class/GIBBTRANSDOVIZ.vb IslemTipi = 1 (GIBBTRANSDOVIZ.vb:117)
18 AIO.Cari.Hesap 1 ERPPRO/Class/Dao/Cari.Hesap.vb HesapType=0 (Cari.Hesap.vb:734)
19 AIO.Cari.Kart 1 ERPPRO/Class/Dao/Cari.Kart.vb HesapType=0 (Cari.Kart.vb:571)
20 AIO.Siparis.Siparis 1 ERPPRO/Class/Dao/Siparis.Siparis.vb Durum = 0 (Siparis.SiparisEx.vb:46)

Örnekler: - AIO.Cari.Transfer.SetStatus(RecordId, 3|1|2) — iptal/kabul/ret için 3/1/2 sabitleri (ERPPRO/Controls/Islem Ekranı/Ekran/FrmTransfer.vb:57,69,80), Cari.Transferler.vb:152 Status='0' koşulu. - Update Cari.Islemler Set Status=1 Where RefNo='…' (Form/Provizyon/FrmProvizyonKabul.vb:52); I.Status <> 2 / = 0 (Controls/Grid/ProvizyonGrid.vb:261-277). - IslemKodu = 999 (devir kayıtları) Form/Genel/FrmBilancoSifirla.vb:93; IslemTipi <> -1 sentinel'i 10 yerde (SeriIslemEkrani/FrmStokIslem.vb:501-515, StokIslem.vb:365-379, iFSeriIslem.vb:240,243). - IslemTipi = 10/11/12 fatura tipleri Class/Ext/Cari.ListItem.vb:8, iFHurda.vb:50-54, iFMaden.vb:76-80; IslemKodu =3 And IslemTipi =15 ödeme Cari.Odeme.vb:136, FrmOdemeGirisi.vb:39. - MASAK eşikleri sabit: > 7000 TL (ParakendeSatis.vb:279), > 3000 USD (:349,407).