Etki: VB · Öncelik: P1 · Doğrulama: VERIFIED
Kaynak: KB-docs
quality/technical-debt.md(tam kod taraması, 2026-09-10). Alanlar: Risk · Evidence · Impact · Recommendation · Priority — KB-docs metninde gömülü; aşağıda korunmuştur.
- Nerede:
ERPPRO/Class/Ext/Cari.IslemEx.vb:256-260(GetNewFisNo:Select Max(FisNo) From Cari.Islemler+ 1),:261-267(GetNewSiraNo:Cari.GetNewSiraNo(...)+ 1);ERPPRO/Class/Dao/Stok.Model.vb:248,Stok.Pirlanta.vb:469,Class/Ext/Siparis.ModelEx.vb:52,Siparis.ParcaEx.vb:56(GetLastKodu:Select Max(Kodu) … Where Left(Kodu, n)=…);ERPPRO/Class/Dao/Dov.Fatura.vb:373(GetInvoiceNumber:Select Max(FatNo) … Where fATSeri=…). Çağrı:Cari.Islem.SaveCari.Islem.vb:507. - Etki: VB — iki istemci aynı anda kaydederse aynı fiş/kod/fatura numarası üretilir; fiş numarası evrensel tek sayaç (
ERPGOLD-mimari-referans.md §10 soru 6, AS-DOCUMENTED) olduğundan çok kullanıcılı/web senaryosunda kesin çakışma. - Kanıt: Kilit/
UPDLOCK/SEQUENCEyok; okuma ve yazma ayrı bağlantılarda (TD-01). - Öneri: SQL
SEQUENCEveyaSistem.FaturaSiraNobenzeri sayaç tablosundaUPDATE … OUTPUTile atomik artırma; fatura serisi bazında ayrı sayaç; benzersiz indeks ile ikinci koruma. - Öncelik: P1.
