AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Ekranlar › SCR-FRMKURGIRISEKRANI

FrmKurGirisEkrani

SCREENMOD-SISTEMERPGOLD_COREACTIVE_CRITICALHIGHSOURCE_IMPLEMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Sınıf: FrmKurGirisEkrani · Modül: MOD-SISTEM · Türetildiği: DevExpress.XtraBars.Ribbon.RibbonForm · Yaşam döngüsü: ACTIVE_CRITICAL · Kapsam: ERPGOLD_CORE

Nedir?

Günlük sistem kuru giriş ekranı ("… TARİHLİ KUR LİSTESİ"): seçilen tarih için her birimin Alış / Satış kurunu doğrudan ızgarada düzenleterek Sistem.Kurlar'a yazar [SOURCE_CODE:ERPPRO/Form/Genel/FrmKurGirisEkrani.vb:1-118] [DB_OBJECT:Sistem.Kurlar]. Bu liste sistem kurudur: işlem ekranlarındaki FİYAT, has/TL karşılıkları, limit ve bilanço dönüşümleri buradan gelir; perakende pano fiyatı (Sistem.DovizPanosu) ise ayrı ekranda tutulur [DOCUMENT:kitap#4.3] [DOCUMENT:18_Glossary/TERM-SISTEM-KURU.md] [DOCUMENT:18_Glossary/TERM-PANO-KURU.md]. Kur girilmeyen günde program sessizce en son kuru kullanır (Sistem.GetLastKur) [DOCUMENT:06_Workflows/WF-KUR-LISTESI-GUNCELLEME.md#varyantlar]. Kopyala düğmesi önceki günün kurlarını bugüne kopyalar (Sistem.KurKopyala); program açılışında liste boşsa aynı kopya otomatik yapılır (Program.vb çağrısı) [DB_OBJECT:Sistem.KurKopyala] [SOURCE_CODE:FrmKurGirisEkrani.vb:97-117].

Ne zaman kullanılır?

  • Her iş günü başında kurlar girilirken ya da gün içinde kur değişince [DOCUMENT:06_Workflows/WF-KUR-LISTESI-GUNCELLEME.md].
  • Yeni tanımlanan birimin ilk kuru girilirken (kur yoksa FİYAT 0 gelir, "Lütfen Tutar Giriniz.") [DOCUMENT:12_Support/Playbooks/PB-036.md].
  • EDS (elektronik döviz sistemi) kur akışı kesildiğinde elle kur girmek için [DOCUMENT:12_Support/Playbooks/PB-061.md].
  • Geçmiş bir tarihin kurunu düzeltmek için (tarih gezgininden gün seçilir) — geçmiş tarihli işlemin kur fotoğrafı değişmez, bkz. aşağıda.

Adım adım kullanım

  1. ANA MENÜ ▸ Hesap Yonetimi ▸ Ayarlar ▸ Kur Giris Ekranı (program açılışında da Program.vb üzerinden açılabilir).
  2. Soldaki tarih gezgini ile gün seçilir; başlık "gg.aa.yyyy TARİHLİ KUR LİSTESİ" olur, liste Sistem.GetKurListesi(tarih) ile dolar; hesaplanmış (Computed) birimler listelenmez [SOURCE_CODE:FrmKurGirisEkrani.vb:23-33,51-55].
  3. Kırmızı satırlar o gün için henüz kur kaydı olmayan birimlerdir (Id = 0) [SOURCE_CODE:FrmKurGirisEkrani.vb:56-62].
  4. Satırda Alis yazılır, EnterSatis kutusuna geçer, tekrar Enter → alt satırın Alis'ine iner [SOURCE_CODE:FrmKurGirisEkrani.vb:36-50]. Yalnız Alis ve Satis sütunları düzenlenebilir.
  5. Satırdan çıkınca kayıt doğrulanır ve yazılır: yeni satır INSERT, mevcut satır UPDATE (LastModify, UserId ile) [SOURCE_CODE:FrmKurGirisEkrani.vb:70-96].
  6. Tüm liste dünle aynıysa Kopyala basılır: bugünün satırları silinir ve Sistem.GetLastKur sonucu bugüne kopyalanır [DB_OBJECT:Sistem.KurKopyala].
  7. Esc kapatır. Açık işlem ekranlarındaki fiyat kendiliğinden yenilenmez; program kur listesini KurRefreshInterval aralığıyla yeniden okur [DOCUMENT:06_Workflows/WF-KUR-LISTESI-GUNCELLEME.md] [DOCUMENT:12_Support/KnownIssues/H-046.md].

Alanların anlamı

Ekran sütunu / öğesi İş anlamı (kolon, Sistem.Kurlar)
Tarih gezgini Kur günü (Tarih); her gün için ayrı satır seti
Kodu / Birim (ızgara) Birim (BirimIdSistem.Birimler)
Alis Alış kuru — SQL tarafındaki FN.GetKur ve çoğu ekran fiyatı her zaman alış kullanır (Alis) [BUSINESS_RULE:BR-KUR-008] (CTR-009)
Satis Satış kuru; perakende/gişe satışta ve vadeli çaprazda kullanılır (Satis) [BUSINESS_RULE:BR-KUR-005]
(kırmızı satır) O gün için kayıt yok
Kopyala Sistem.KurKopyala — son kurları bugüne kopyalar

Gizli sütunlar: Id, BirimId, Computed, Tarih, AlisFormul, SatisFormul [SOURCE_CODE:FrmKurGirisEkrani.vb:25-30].

Hesaplama / doğrulama mantığı

  • Girilen Değer Sıfır Olamaz.!! — Alis veya Satis 0 ise satır kaydedilmez [SOURCE_CODE:FrmKurGirisEkrani.vb:70-78].
  • Kurlar Güncellenemedi. — INSERT kimlik döndürmedi [SOURCE_CODE:FrmKurGirisEkrani.vb:80-88].
  • Hesaplanmış birimlerin kuru kaynak birim × çarpan ile GetKurListesi içinde türetilir; bu ekrandan girilmez [DOCUMENT:18_Glossary/TERM-SISTEM-GETKURLISTESI-GETLASTKUR-FN-GETKUR.md].
  • Kur fotoğrafı: işlem kaydında o anki kur satıra yazılır (HasKur, GumKur, …, UsdKur); sonradan kur düzeltilse bile eski işlemin kuru değişmez, düzeltmede yeniden çekilmez [BUSINESS_RULE:BR-KUR-001] [BUSINESS_RULE:BR-KUR-003].
  • INSERT/UPDATE dinamik SQL ile kurulur (3 ifade, TD-DYNAMIC-SQL).

Stok / bakiye / rapor etkisi

Defter etkisi yok — tanım/ayar ekranı; Cari.Islemler'e yazmaz. Ancak kur; bakiye NET/has karşılığı, limit kontrolü, bilanço ve pozisyon raporlarının değerlemesini anlık değiştirir: "Kur değiştirilince bilanço değişiyor" beklenen davranıştır [DOCUMENT:12_Support/KnownIssues/H-129.md] [DOCUMENT:12_Support/Playbooks/PB-055.md].

Sık yapılan kullanıcı hataları

  • Kur listesi girilmemiş: toplam 0, has karşılığı yanlış, "Lütfen Tutar Giriniz." [DOCUMENT:12_Support/Playbooks/PB-036.md] [DOCUMENT:12_Support/KnownIssues/H-039.md].
  • Kur değişti ama ekrandaki fiyat eski — açık ekran yenilenmez [DOCUMENT:12_Support/KnownIssues/H-046.md].
  • Fiyat alanı satışta da alış kurunu getiriyor — tasarım davranışı [DOCUMENT:12_Support/KnownIssues/H-045.md] (CTR-009).
  • Geçmiş tarihli işlem yanlış kurla girilmiş — kur fotoğrafı; işlem düzeltilmeli [DOCUMENT:12_Support/KnownIssues/H-107.md].
  • EDS çok yavaş / kur gelmiyor — Sistem.Kurlar'da yılların birikmiş kaydı [DOCUMENT:12_Support/KnownIssues/H-160.md] [DOCUMENT:12_Support/Playbooks/PB-061.md].
  • Yeni birimin kuru yanlış çarpanla geliyor — Computed/Carpan tanımı [DOCUMENT:12_Support/KnownIssues/H-022.md].

İlgili ticket temaları

Müşteri varyasyonları

  • EDS kurulu müşterilerde kur, Sistem.KurEkle yordamıyla otomatik gelir; bu ekran yalnız elle müdahale içindir [DOCUMENT:06_Workflows/WF-KUR-LISTESI-GUNCELLEME.md] [DB_OBJECT:Sistem.KurEkle].
  • TCMB kuru ayrı ekrandan çekilir ve RESMİ/MAHSUP işlemlerde USD karşılığı için kullanılır (FrmTCMBKur) [BUSINESS_RULE:BR-KUR-002].

Kim kullanır? Nereden açılır?

  • ANA MENÜ ▸ Hesap Yonetimi ▸ Ayarlar ▸ Kur Giris Ekranı

Yaşam döngüsü kanıtı

ACTIVE_CRITICAL — kod içinden erişim (New/varsayılan örnek): ERPPRO/Class/Module/Program.vb; ANA MENÜ: Hesap Yonetimi ▸ Ayarlar ▸ Kur Giris Ekranı; çağıran sınıf: Program

Kullanıcı olayları

Olay Metot Dosya:satır
Me.KeyDown _KeyDown FrmKurGirisEkrani.vb:17
Me.Load FormInit FrmKurGirisEkrani.vb:20
VwKurListesi.KeyDown gridControl1_ProcessGridKey FrmKurGirisEkrani.vb:36
DateNavigator1.EditDateModified DateNavigator1_Validated FrmKurGirisEkrani.vb:51
VwKurListesi.CustomDrawCell VwKurListesi_CustomDrawCell FrmKurGirisEkrani.vb:56
VwKurListesi.FocusedColumnChanged VwKurListesi_FocusedColumnChanged FrmKurGirisEkrani.vb:63
VwKurListesi.ValidateRow VwKurListesi_ValidateRow FrmKurGirisEkrani.vb:70
BtnKopyala.ItemClick BtnKopyala_ItemClick FrmKurGirisEkrani.vb:97

Okuduğu / yazdığı tablolar (kod içi SQL, statik)

Tablo Fiiller
Sistem.GetKurListesi ⚠︎ DB'de yok SELECT
Sistem.Kurlar INSERT, UPDATE

Kullanıcıya gösterilen mesajlar (doğrulama)

  • Kurlar Güncellenemedi.

Bilinen kusurlar / dikkat

  • Dinamik SQL: 3 ifade — parametresiz birleştirme riski (TD-DYNAMIC-SQL).

Kaynaklar

  • SOURCE_CODE:ERPPRO/Form/Genel/FrmKurGirisEkrani.Designer.vb
  • SOURCE_CODE:ERPPRO/Form/Genel/FrmKurGirisEkrani.vb
  • DERIVED:docs/knowledge-base/screens/FrmKurGirisEkrani.md (KB-docs statik analiz)
  • DERIVED:kb_src/erppro/scan.json (olay/SQL/çağrı)

Bilinmeyenler

  • Hangi sürümde eklendiği: VERSION_UNKNOWN (GAP-CODE-VERSION-DATE).