Sınıf: FrmMadenEkle · Modül: MOD-STOK · Türetildiği: ERPPRO.FormEditBase · Yaşam döngüsü: ACTIVE_CRITICAL · Kapsam: ERPGOLD_CORE
Nedir?
Maden stok kartı tanımlama ekranıdır: bilezik, gram altın, çeyrek, külçe olmayan işlenmiş her maden ürünü ve hurda kartları Stok.Maden'e burada açılır [DOCUMENT:kitap#4.2] [DB_OBJECT:Stok.Maden]. Kartın Metal / Hurda seçimi (IsHurda) hangi işlem ekranının bu kartı göstereceğini belirler: MADEN ekranı yalnız metal kartları, HURDA ekranı yalnız hurda kartları listeler [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-maden-ishurda]. Kartta saklanan milyem, adet takibi, sabit parça gramı, giriş/çıkış işçiliği ve fiyat tipi; işlem ekranında FİYAT/MİKTAR/HAS'ın nasıl hesaplanacağını ve maliyeti belirler [BUSINESS_RULE:BR-HESAP-011] [BUSINESS_RULE:BR-HESAP-003] [BUSINESS_RULE:BR-MALIYET-001]. Hurda seçilince ayrıntı paneli (milyem, işçilik, adet) gizlenir [SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Stok/FrmMadenEkle.vb:3-8].
Ne zaman kullanılır?
- Yeni bir ürün (ayar/çeşit) alım-satıma başlarken [PROCESS:PROC-183].
- Kartın milyeminin işlemde değiştirilebilir olması istendiğinde (Milyem Degisir/Degismez) [PROCESS:PROC-97] [DOCUMENT:12_Support/KnownIssues/H-027.md].
- Ürün adı değiştirilecekse — hareketi olan kartın adı değişmez; önce stoktan çıkılır [PROCESS:PROC-108] [DOCUMENT:12_Support/KnownIssues/H-026.md].
- Peşin satışta fiyatın has yerine gram üzerinden gelmesi istendiğinde (Fiyat T.) [DOCUMENT:12_Support/KnownIssues/H-028.md] [PROCESS:PROC-109].
Adım adım kullanım
- ADMIN ile ANA MENÜ ▸ Tanımlamalar ▸ Stok Tanimlari ▸ Maden Stok Tanimlama ▸ YENİ KAYIT [PROCESS:PROC-183].
- Kodu (ürün adı, işlem ekranında STOK KODU listesinde görünür) ve Acıklama yazılır.
- Ana Birim: yalnız metal ve hesaplanmamış birimler listelenir (HAS, GUM, PLT, PLD); varsayılan şubenin bilanço birimidir [SOURCE_CODE:FrmMadenEkle.vb:10,16].
- Metal / Fiyat T.: sol kutu Metal ya da Hurda; sağ kutu fiyat tipi Adet / Miktar / Oz / Has [SOURCE_CODE:FrmMadenEkle.Designer.vb:323,903].
- Metal ise ayrıntı paneli: Milyem (binde saflık, ör. 0,916) + Degismez/Degisir; Adet Takip (Yok/Var) ve Sabit Miktar (bir adedin gramı; ör. çeyrek); Iscilik Turu (Adet/Miktar) + Degismez/Degisir; Giris Isciligi ve Cıkıs Isciligi + birimleri; Isc Durum(G/C) (Degismez/Degisir); Isc Extra (Yok/Var); Maliyet Birim; Barkod.
- Grup Kodu, Kategori (rapor kırılımı) ve Durum (Aktif/Pasif).
- Kayıt; Ctrl+F5 ile sistem yenilenir [DOCUMENT:12_Support/Playbooks/PB-039.md].
Ekranın kayıt/okuma metotları FrmMadenEkle.vb ile FrmMadenEkle.Designer.vb arasında bölünmüştür; makaledeki alan tablosu Designer'dan otomatik türetildiği için bazı etiketler kaymıştır (ör. "Grup Kodu | CmbAdetTakip"); gerçek etiketler yukarıdaki adımlarda ve aşağıdaki tabloda Designer satırlarına göre verilmiştir [SOURCE_CODE:FrmMadenEkle.Designer.vb:150-981].
Alanların anlamı
| Ekran etiketi | İş anlamı (kolon, Stok.Maden) |
|---|---|
| Kodu / Acıklama | Ürün kodu ve adı (Kodu, Aciklama) |
| Ana Birim | Stoğun has/gümüş cinsinden hangi metalde tutulacağı (AnaBirimId) |
| Metal / Hurda | Hurda kartı mı (IsHurda); HURDA ekranı bu bayrakla süzer |
| Fiyat T. (Adet/Miktar/Oz/Has) | Peşin satışta TUTAR'ın adet, gram, ons ya da has üzerinden hesaplanacağı (FiyatTipi 0-3) [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-maden-fiyattipi] |
| Milyem + Degismez/Degisir | Kart saflığı; "Degismez" ise işlem ekranında MİLYEM kutusu kilitli (Milyem, MilyemDurumu) [PROCESS:PROC-97] |
| Adet Takip | Adetle izlenen ürün (çeyrek, yarım, ata) (IsAdet) [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-maden-isadet] |
| Sabit Miktar | Bir adedin gramı; doluysa MİKTAR = ADET × Sabit Miktar ve kilitli, ADET zorunlu ("Lütfen Adet Giriniz.") (StabilMiktar) [BUSINESS_RULE:BR-HESAP-003] [BUSINESS_RULE:BR-HESAP-004] |
| Iscilik Turu + durum | İşçiliğin adet mi gram başına mı olduğu (IscTuru 0 adet · 1 miktar, IscTuruDurumu) |
| Giris Isciligi / Cıkıs Isciligi (+birim) | NORMAL işlemde FİYAT'ın kaynağı: girişte giriş işçiliği, çıkışta önce hesaba özel fiyat, yoksa çıkış işçiliği; negatif işçilik milyemi düşürür (GirisIsciligi, CikisIsciligi, *BirimId) [BUSINESS_RULE:BR-HESAP-011] [BUSINESS_RULE:BR-HESAP-005] |
| Isc Durum(G/C) | Giriş/çıkış işçiliğinin işlemde değiştirilebilirliği (GirisIscDrm, CikisIscDrm) |
| Isc Extra | Ek işçilik alanı açılsın mı (IsExtra) |
| Maliyet Birim | Maliyet hesabının birimi (MaliyetBirimId) [BUSINESS_RULE:BR-MALIYET-001] |
| Barkod | Barkod kodu (Barkod) |
| Grup Kodu / Kategori | Rapor kırılımı (GrupKodu, Kategori) |
| Durum | Aktif/Pasif (IsActive); pasif kart listede çıkmaz, düzeltmede "Bu Stok Su Anda Kullanılmıyor…" [DOCUMENT:12_Support/KnownIssues/H-084.md] |
Kolon anlamları kitapçık §8.3.5'ten [DOCUMENT:kitap#8.3.5 MADEN TANIMLAMA EKRANI].
Hesaplama / doğrulama mantığı
- Ekranda doğrulama mesajı yoktur. Kod içinde
Cari.IslemlerSELECT'i vardır (1 dinamik ifade); PROC-108'e göre hareketi olan kartın adı değiştirilemez — bu kontrolün kaynağı olası [PROCESS:PROC-108] (GAP: kontrol satırı okunmadı). - Kart değerleri işlem anında kopyalanır: HAS = MİKTAR × MİLYEM/1000; sabit gramlı üründe MİKTAR = ADET × Sabit Miktar; işlem tipine göre maliyet [BUSINESS_RULE:BR-HESAP-001] [BUSINESS_RULE:BR-HESAP-003] [BUSINESS_RULE:BR-MALIYET-001].
- Kart milyemi 0 ise tetikleyici has = miktar kabul eder [BUSINESS_RULE:BR-HESAP-002].
Stok / bakiye / rapor etkisi
Defter etkisi yok — tanım ekranı. Kart değişikliği geçmiş satırları etkilemez (işlem satırı kendi milyem/fiyat/kur fotoğrafını taşır). Ancak Ana Birim, Milyem ve Maliyet Birim yeni işlemlerin stok defteri (Stok.StokHaraketleri StokTipi=1: Adet/Miktar/Has/Maliyet) satırlarını belirler [BUSINESS_RULE:BR-STOK-001] [BUSINESS_RULE:BR-DEFTER-URETIMI].
Sık yapılan kullanıcı hataları
- Maden stok adı değiştirilemiyor — hareketi olan kart; stoktan çıkılıp değiştirilir [DOCUMENT:12_Support/KnownIssues/H-026.md] [PROCESS:PROC-108].
- Milyem değiştirilemiyor / ekranda milyem kutusu kilitli — Milyem "Degismez" [DOCUMENT:12_Support/KnownIssues/H-027.md] [PROCESS:PROC-97].
- Peşin satışta fiyat has'a göre geliyor, gram isteniyor — Fiyat T. ve Pesin Kur Tipi ayarı [DOCUMENT:12_Support/KnownIssues/H-028.md].
- "Lütfen Adet Giriniz." — Sabit Miktar dolu üründe adet boş [DOCUMENT:12_Support/KnownIssues/H-048.md].
- Milyem yazıyorum siliniyor; işçilik fiyatı kendiliğinden değişiyor — kart işçiliği/milyem durumu [DOCUMENT:12_Support/KnownIssues/H-049.md] [DOCUMENT:12_Support/Playbooks/PB-059.md].
- Maden stok listesinde ürünlerin sırası bozuk / alt toplam görünmüyor [DOCUMENT:12_Support/KnownIssues/H-118.md] [DOCUMENT:12_Support/KnownIssues/H-138.md] [PROCESS:PROC-14] [PROCESS:PROC-147].
- Maliyet "tuhaf" / sıçradı — maliyet birimi ve işçilik tabanı [DOCUMENT:12_Support/KnownIssues/H-120.md] [DOCUMENT:12_Support/KnownIssues/H-122.md] [DOCUMENT:12_Support/Playbooks/PB-058.md] [PROCESS:PROC-111].
- HURDA ekranında ürün yok — kart Metal olarak açılmış (IsHurda=0) [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-maden-ishurda].
İlgili ticket temaları
- PRB-MADEN-000, PRB-TANIMLAMA-000; zincirler SYM-MADEN, SYM-TANIMLAMA.
- Playbook'lar: PB-057, PB-058, PB-059.
Müşteri varyasyonları
- V2 (döviz) örnek DB'de 104 normal + 17 hurda kartı; kuyumcu kurulumunda kart sayısı ve işçilik alanlarının kullanımı farklıdır [DOCUMENT:kitap#4.2] [DOCUMENT:kitap#9.3].
- Model/pırlanta gibi diğer ürün grupları ayrı tanım ekranlarındadır; bu ekran yalnız
Stok.Madeniçindir.
Kim kullanır? Nereden açılır?
- ANA MENÜ ▸ Tanımlamalar ▸ Stok Tanimlari ▸ Maden Stok Tanimlama
- Liste ekranındaki Ekle/Düzenle:
AIO.Stok.Maden.FormEditBase→ bu form
Yaşam döngüsü kanıtı
ACTIVE_CRITICAL — ANA MENÜ: Tanımlamalar ▸ Stok Tanimlari ▸ Maden Stok Tanimlama; DAO FormEditBase hedefi: AIO.Stok.Maden
Alanlar → veritabanı
| Ekrandaki alan | Kontrol | Tablo.Kolon | Yön |
|---|---|---|---|
| Grup Kodu | CmbAdetTakip |
Stok.Maden.IsAdet |
yaz |
| — | CmbGrupKodu |
Stok.Maden.GrupKodu |
yaz |
| Kodu | TxtKodu |
Stok.Maden.Kodu |
yaz |
| Ana Birim | CmbAnaBirim |
Stok.Maden.AnaBirimId |
yaz |
| — | CmbKategori |
Stok.Maden.Kategori |
yaz |
| Kategori | CmbMaliyetBirim |
Stok.Maden.MaliyetBirimId |
yaz |
| Barkod | CmbIscTuru |
Stok.Maden.IscTuru |
yaz |
| Acıklama | TxtAciklama |
Stok.Maden.Aciklama |
yaz |
| Barkod | TxtBarkod |
Stok.Maden.Barkod |
yaz |
| Barkod | CmbIscTuruDurumu |
Stok.Maden.IscTuruDurumu |
yaz |
| Metal / Fiyat T. | CmbMetalTipi |
Stok.Maden.IsHurda |
yaz |
| Isc Extra | CmbFiyatTipi |
Stok.Maden.FiyatTipi |
yaz |
| Sabit Miktar | TxtStabilMiktar |
Stok.Maden.StabilMiktar |
yaz |
| Isc Durum(G/C) | CmbGirisIscDrm |
Stok.Maden.GirisIscDrm |
yaz |
| Milyem | TxtMilyem |
Stok.Maden.Milyem |
yaz |
| Isc Durum(G/C) | CmbCikisIscDrm |
Stok.Maden.CikisIscDrm |
yaz |
| Milyem | CmbMilyemDurumu |
Stok.Maden.MilyemDurumu |
yaz |
| Isc Extra | CmbIsExtra |
Stok.Maden.IsExtra |
yaz |
| Giris Isciligi | TxtGirisIsc |
Stok.Maden.GirisIsciligi |
yaz |
| Giris Isciligi | CmbGirisIscBirim |
Stok.Maden.GirisIsciligiBirimId |
yaz |
| Cıkıs Isciligi | TxtCikisIsc |
Stok.Maden.CikisIsciligi |
yaz |
| Cıkıs Isciligi | CmbCikisIscBirim |
Stok.Maden.CikisIsciligiBirimId |
yaz |
| — | CmbDurum |
Stok.Maden.IsActive |
yaz |
Kullanıcı olayları
| Olay | Metot | Dosya:satır |
|---|---|---|
CmbMetalTipi.SelectedIndexChanged |
PnlDetayVisibleChanged |
FrmMadenEkle.vb:3 |
Me.Shown |
FormShown |
FrmMadenEkle.vb:15 |
CmbMetalTipi.SelectedIndexChanged |
PnlDetayVisibleChanged |
FrmMadenEkle.vb:85 |
Okuduğu / yazdığı tablolar (kod içi SQL, statik)
| Tablo | Fiiller |
|---|---|
Cari.Islemler |
SELECT |
Kullandığı DAO / iş sınıfları
Bilinen kusurlar / dikkat
- Dinamik SQL: 1 ifade — parametresiz birleştirme riski (TD-DYNAMIC-SQL).
Kaynaklar
SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Stok/FrmMadenEkle.Designer.vbSOURCE_CODE:ERPPRO/Form/Tanımlamalar/Stok/FrmMadenEkle.vbDERIVED:docs/knowledge-base/screens/FrmMadenEkle.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).
