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

TAKOZ GİRİŞİ (seri)

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

Sınıf: FrmTakozGiris · Modül: MOD-CARI · Türetildiği: DevExpress.XtraEditors.XtraForm · Yaşam döngüsü: ACTIVE_CRITICAL · Kapsam: KUYUMCU_VARIANT

Nedir?

Takoz Giris Ekranı — Seri İşlem penceresinin 2 - TAKOZ G. düğmesiyle açılan, müşterinin getirdiği takozu (külçeyi) stoğa alan ayrı penceredir; Cari İşlemler içindeki TAKOZ GİRİŞİ satırının seri-pencere eşidir [SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.vb:88-420] [SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmSeriIslem.vb:287-291]. Her kayıt iki şey yapar: önce Stok.Takoz'a yeni bir takoz kartı açar (TK numarası, brüt gram, çeşni, ayar evi, rapor no, dört metalin milyem/has'ı ve kayıt anındaki kurlar), sonra Cari.Islemler'e IslemKodu 0 TAKOZ · IslemTuru 0 GİRİŞ · Adet 1 satırı yazar; işlem yazılamazsa takoz kartı silinir [DOCUMENT:06_Workflows/WF-TAKOZ-GIRIS.md adım 5] [BUSINESS_RULE:BR-STOK-013]. RAPORLU takozda ayar raporundaki milyemler girilir ve has hesaplanır; RAPORSUZ takozda milyem/tutar boş kalır, has karşılığı raporlarda varsayımla (0,600) değerlenir [BUSINESS_RULE:BR-TAKOZ-003] [DOCUMENT:00_Governance/CONTRADICTIONS.md#ctr-sym-takoz-01]. Sağdaki BAKIYE kutusu has/gümüş/platin/paladyum ve işçilik toplamlarını anlık gösterir.

Ne zaman kullanılır?

  • Müşteri rafineriye/ayar evine gidecek ya da oradan dönmüş bir külçeyi tezgâha bıraktığında [DOCUMENT:06_Workflows/WF-TAKOZ-GIRIS.md].
  • Raporsuz alınan takoza sonradan ayar raporu girilirken (Seri İşlem listesinde DUZELT → bu pencere; raporsuz takoz düzeltme kilitlerinden muaf, Takoz.RaporYaz çalışır) [DOCUMENT:06_Workflows/WF-TAKOZ-GIRIS.md#varyantlar] [BUSINESS_RULE:BR-STOK-014] [DOCUMENT:06_Workflows/WF-TAKOZ-RAPOR-GIRISI.md].
  • Devir sonrası takozları geri alırken (Blok Takoz akışı) [DOCUMENT:06_Workflows/WF-BLOK-TAKOZ-GIRIS.md].
  • Ön koşullar: grupta Takoz yetkisi; hesap şube (transfer) hesabı değil ("Transfer İşlemlerinde Giriş İşlemi Yapamazsınız"); takoz tipi ve ayar evi tanımlı (FrmAyarEviTanimlama, Sistem.TakozTipleri) [BUSINESS_RULE:BR-TAKOZ-001].

Adım adım kullanım

  1. Seri İşlem Ekranı'nda hesap seçilip TAMAM denmiş olmalı; 2 - TAKOZ G. basılır.
  2. TAKOZ TIPI (ana madeni işlem tipini belirler: HAS→ALTIN, GUM→GÜMÜŞ, PLT→PLATİN, PLD→PALADYUM) ve AYAR EVI seçilir [BUSINESS_RULE:BR-TAKOZ-002]. Rapor varsa TAKOZ NO/rapor no yazılır, RAPORLU ve NORMAL / EXTRA seçilir; rapor no boşken durum RAPORSUZ'a kilitlidir ve milyem alanları gizlenir [SOURCE_CODE:FrmTakozGiris.vb:424-444,723-733].
  3. MİKTAR / ÇEŞNİ girilir (terazi düğmesi kullanılabilir). Raporluda AU MILYEM, AG MILYEM (EXTRA'da PT MILYEM, PD MILYEM) 1000'lik girilir; her milyem kutusundan çıkışta toplam kontrol edilir [SOURCE_CODE:FrmTakozGiris.vb:470-564].
  4. AU ISCILIK / AG ISCILIK (binde) ve birimleri hesap kartından dolu gelir; İŞÇİLİK DURUMU (Altından Düş / Para İle — Para İle'de birim kutusu açılır, varsayılan TL), GÜMÜŞ DURUMU (EXTRA'da PLATİN / PLD. DURUMU), KAYIT DURUM (Printli / Printsiz), ACIKLAMA [SOURCE_CODE:FrmTakozGiris.vb:445-457] [SOURCE_CODE:FrmTakozGiris.Designer.vb:249-805].
  5. Barkod kutusuna takoz numarası/barkod okutulursa kart bulunur; bulunamazsa "… Numaralı Takoz Bulunamadı." [SOURCE_CODE:FrmTakozGiris.vb:784-800]. Seri kayıt modunda barkod okutulunca kayıt anında atılır [DOCUMENT:12_Support/KnownIssues/H-074.md].
  6. F2 - KAYIT: onay sorusu çıkmaz; işçilik 0 ise "Has İşçiliği Girilmemiş…" / "Gumus İşçiliği Girilmemiş… Devam Etmek İstiyormusunuz ?" sorulur; takoz kartı + işlem kaydedilir; Printli ise etiket/fiş basılır; ekran temizlenir, imleç AYAR EVI'ne döner [DOCUMENT:06_Workflows/WF-TAKOZ-GIRIS.md adım 5-6] [BUSINESS_RULE:BR-TAKOZ-008].

Alanların anlamı

Ekran etiketi İş anlamı (kolon)
TAKOZ TIPI Stok.Takoz.TakozTipi (→ Sistem.TakozTipleri); ana birimi işlem tipini belirler
AYAR EVI Cari.Islemler.AyarEviId, Stok.Takoz.AyarEvi/AyarEviId
TAKOZ NO / (rapor no) RaporNo (işlem ve kart); dolu olması RAPORLU seçimine izin verir
RAPORSUZ / RAPORLU IsRapor; raporsuzda milyem ve tutar NULL yazılır [BUSINESS_RULE:BR-TAKOZ-003]
NORMAL / EXTRA IsExtra; extra takozda platin/paladyum alanları açılır
MİKTAR / ÇEŞNİ Brüt gram (Miktar) ve ayar için alınan numune gramı (CesniMiktar); çeşni ayrıca takoz kartına yazılır [BUSINESS_RULE:BR-TAKOZ-009]
AU / AG / PT / PD MILYEM 1000'lik ayar; işleme /1000 ile AuMilyem, AgMilyem, PltMilyem, PldMilyem
AU ISCILIK / AG ISCILIK (+birim) Has/gümüş işçiliği binde → HasIsc, HasIscBirimId, HasIscBirimKur, GumIsc, …; Fiyat alanına AU işçilik ham değeri yazılır
İŞÇİLİK DURUMU (+birim) 0 Altından Düş (birim HAS) · 1 Para İle (seçilen nakit birim) → IscilikDurumu, BirimId/Birim, IscilikBirimId [BUSINESS_RULE:BR-TAKOZ-004]
GÜMÜŞ / PLATİN / PLD. DURUMU 0 Madeni Ver · 1 Altına Çevir · 2 İşçilikten Düş · 3 Madeni Bırak (GumusDurumu, PlatinDurumu, PalladiumDurumu)
KAYIT DURUM (Printli/Printsiz) Kayıtta takoz fişi basılsın mı (yazıcı ayarlarına bağlı) [BUSINESS_RULE:BR-TAKOZ-008]
BAKIYE kutusu (HAS / GUM / PLT / PLD, işçilik) Anlık hesaplanan has karşılıkları ve işçilik bedeli; kayıtta Tutar = işçilik ara toplamı
ACIKLAMA Aciklama

Makaledeki otomatik alan tablosundaki etiketler (ör. "GÜMÜŞ DURUMU | TxtMiktar") kaymıştır; gerçek etiketler yukarıdadır [SOURCE_CODE:FrmTakozGiris.Designer.vb:249-1730].

Hesaplama / doğrulama mantığı

  • HAS = (MİKTAR + ÇEŞNİ) × AU MILYEM / 1000, GUM/PLT/PLD aynı biçimde [BUSINESS_RULE:BR-HESAP-015] [DOCUMENT:06_Workflows/WF-TAKOZ-GIRIS.md adım 3].
  • İşçilik bedeli = İşçilik(binde) × HAS / 1000, birim kuruyla çevrilir; Tutar = |işçilik ara toplamı| (raporluda), raporsuzda boş [BUSINESS_RULE:BR-HESAP-016] [SOURCE_CODE:FrmTakozGiris.vb:283-300].
  • Milyem Toplamı 1000'i Geçemez. — alan silinir [BUSINESS_RULE:BR-HESAP-017]; Has Takozu Giriyorsunuz. Has Milyemi Diğer Milyemlerden Düşük Olamaz… uyarısı (GUMUS/PLATİN/PALLADIUM sürümleri) [BUSINESS_RULE:BR-HESAP-018] [DOCUMENT:12_Support/KnownIssues/H-068.md].
  • Has/Gumus İşçiliği Girilmemiş. Devam Etmek İstiyormusunuz ? [BUSINESS_RULE:BR-HESAP-019]; Takoz Bilgileri Kayıt Edilemedi. / Takoz Bilgileri Alınamadı. / Islem Kayıt Edilemedi. — kart/işlem yazılamadı.
  • Kayıt anındaki AuKur/AgKur/PldKur/PltKur takoz kartına yazılır; düzeltmede eski kurlar kullanılır [BUSINESS_RULE:BR-KUR-011] [BUSINESS_RULE:BR-KUR-003].
  • Takoz girişi tek adet ve bugün vadeli (Adet=1, Vade=Now) [BUSINESS_RULE:BR-TAKOZ-007]. Etiket yalnız Miktar > 30 gr ve yeni kayıtta basılır [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-hard-takoz-etiket-30gr].
  • Genel doğrulamalar Islem.Validate: "Sube,Kasa veya Hesap Seçili Değil…", "İşlem Yapabilmek için Miktar Girmelisiniz.", "Geçmiş Tarihe İşlem Giriyorsunuz…" (resmi kasada sorulmaz) [DOCUMENT:06_Workflows/WF-TAKOZ-GIRIS.md#uyarı-mesajları].
  • İki boş catch (TL birimi bulunamazsa vb.) hatayı yutar (TD-EMPTY-CATCH); kod içindeki sistem.AyarEvi SELECT'i canlı DB'de olmayan tabloya gider (kitapçık §8.5 — ayar evi tanımı Sistem.Sistem.AyarEvi_) — GAP-SCR-TAKOZGIRIS-AYAREVI: ayar evi listesinin hangi tablodan dolduğu doğrulanmalı.

Stok / bakiye / rapor etkisi

İşlem ekranıdır: Stok.Takoz kartı açılır (Elimizde); Cari.Islemler satırı için TRG-CARI.ACCEPTTRANSACTION stok defterine StokTipi 3, Adet +1 (miktar/has 0 — takoz nesne olarak izlenir) ve bakiye defterine hesap için TAKOZ/HAS sütununa (miktar+çeşni) gram alacak, işçilik Tutar/Birim borç yazar; çeşni gramı çeşni stoğuna eklenir; kasa değişmez [DOCUMENT:06_Workflows/WF-TAKOZ-GIRIS.md#sonuç] [BUSINESS_RULE:BR-STOK-002] [BUSINESS_RULE:BR-DEFTER-URETIMI] [DOCUMENT:kitap#9.5]. Hareketi olan takozun girişi iptal edilemez [BUSINESS_RULE:BR-STOK-008]. Kuyumcu DB ölçümü: takoz girişlerinin %29'unda bakiye has'ı ölçülenden ortalama %0,27 fazla — kodda karşılığı yok (GAP-TAKOZ-FIRE).

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

  • "Transfer İşlemlerinde Giriş İşlemi Yapamazsınız" — şube hesabı seçilmiş [DOCUMENT:12_Support/KnownIssues/H-069.md].
  • "«no» Numaralı Takoz Bulunamadı." — barkod/takoz no yanlış [DOCUMENT:12_Support/KnownIssues/H-070.md].
  • "Milyem Toplamı 1000'i Geçemez." / "Has Takozu Giriyorsunuz…" [DOCUMENT:12_Support/KnownIssues/H-067.md] [DOCUMENT:12_Support/KnownIssues/H-068.md].
  • "Has İşçiliği Girilmemiş…" — hesap kartında takoz işçiliği tanımsız [DOCUMENT:12_Support/KnownIssues/H-066.md] [PROCESS:PROC-152].
  • Seri kayıt modunda barkod okutunca anında kaydediyor [DOCUMENT:12_Support/KnownIssues/H-074.md].
  • Küçük takozun etiketi çıkmıyor — 30 gr eşiği; etiket yazıcısı tanımsız [DOCUMENT:12_Support/KnownIssues/H-073.md] [DOCUMENT:12_Support/KnownIssues/H-157.md] [DOCUMENT:12_Support/Playbooks/PB-026.md].
  • Takoz stokta görünmüyor / "Elimizde" süzgeci boş — kasa/şube farkı [DOCUMENT:12_Support/KnownIssues/H-117.md] [DOCUMENT:12_Support/Playbooks/PB-049.md].

İlgili ticket temaları

Müşteri varyasyonları

  • KUYUMCU_VARIANT: takoz akışı yalnız kuyumcu/rafineri kurulumunda kullanılır (KUYUMCU DB'de 10.618 aktif takoz, %99,9 raporlu, %17 çeşnili; su tartısı/skala hiç, XRF 7 kez kullanılmış — tasarlanan akışın büyük bölümü kullanılmıyor) [DOCUMENT:kitap#9.5].
  • Etiket/fiş otomatik basımı kullanıcı ayarlarına (OtoEtiketBas, EtiketPrinter, OtoFisBas, FisPrinter) bağlıdır [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-client-otoetiketbas].

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

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

ACTIVE_CRITICAL — çağıran sınıf: FrmSeriIslem

Alanlar → veritabanı

Ekrandaki alan Kontrol Tablo.Kolon Yön
PLATİN DURUMU CmbAyarEvi Cari.Islemler.AyarEviId yaz
İŞÇİLİK DURUMU CmbPlatinDurum Cari.Islemler.PlatinDurumu yaz
ACIKLAMA TxtAciklama Cari.Islemler.Aciklama yaz
PLATİN DURUMU TxtRaporNo Cari.Islemler.RaporNo yaz
GÜMÜŞ DURUMU CmbPaladiumDurum Cari.Islemler.PalladiumDurumu yaz
GÜMÜŞ DURUMU TxtMiktar Cari.Islemler.Miktar yaz
GÜMÜŞ DURUMU TXTCesni Cari.Islemler.CesniMiktar yaz
GÜMÜŞ DURUMU CmbRapor Cari.Islemler.IsRapor yaz
GÜMÜŞ DURUMU CmbExtra Cari.Islemler.IsExtra oku
AU MILYEM TxtHasIscFiyat Cari.Islemler.Fiyat yaz
AU MILYEM CmbHasIscBirim Cari.Islemler.HasIscBirimId yaz
İŞÇİLİK DURUMU CmbIscBirim Cari.Islemler.BirimId oku
ACIKLAMA CmbGumIscBirim Cari.Islemler.GumIscBirimId yaz
İŞÇİLİK DURUMU CmbIscilikDurumu Cari.Islemler.IscilikDurumu yaz
GÜMÜŞ DURUMU CmbGumusDurum Cari.Islemler.GumusDurumu yaz
AG ISCILIK CmbTakozTipi Stok.Takoz.TakozTipi yaz
PLATİN DURUMU CmbAyarEvi Stok.Takoz.AyarEvi yaz
PLATİN DURUMU CmbAyarEvi Stok.Takoz.AyarEviId oku
PLATİN DURUMU TxtRaporNo Stok.Takoz.RaporNo oku
GÜMÜŞ DURUMU TxtMiktar Stok.Takoz.Miktar oku
GÜMÜŞ DURUMU TXTCesni Stok.Takoz.CesniMiktar yaz
GÜMÜŞ DURUMU CmbRapor Stok.Takoz.IsRapor oku
GÜMÜŞ DURUMU CmbExtra Stok.Takoz.IsExtra oku
AU MILYEM TxtBarkod Stok.Takoz.OwnerId oku

Kullanıcı olayları

Olay Metot Dosya:satır
CmbTakozTipi.GotFocus CmbTakozTipi_GotFocus FrmTakozGiris.vb:9
CmbTakozTipi.LostFocus CmbTakozTipi_LostFocus FrmTakozGiris.vb:12
CmbTakozTipi.KeyDown _KeyDown FrmTakozGiris.vb:15
BtnKapat.Click FormClose FrmTakozGiris.vb:37
Me.Shown FormInit FrmTakozGiris.vb:88
BtnKaydet.Click FormSave FrmTakozGiris.vb:234
CmbRapor.SelectedIndexChanged, CmbExtra.SelectedIndexChanged onRaporChanged FrmTakozGiris.vb:424
CmbIscilikDurumu.SelectedIndexChanged OnIscilikTipiChanged FrmTakozGiris.vb:445
TxtHasMilyem.LostFocus, TxtGumMilyem.LostFocus, TxtPldMilyem.LostFocus, TxtPltMilyem.LostFocus ValidateMilyem FrmTakozGiris.vb:470
TxtMiktar.TextChanged, TxtHasMilyem.TextChanged, TXTCesni.TextChanged onXAUCalculate FrmTakozGiris.vb:565
TxtMiktar.TextChanged, TxtGumMilyem.TextChanged, TXTCesni.TextChanged onXAGCalculate FrmTakozGiris.vb:570
TxtMiktar.TextChanged, TxtPldMilyem.TextChanged, TXTCesni.TextChanged onXPDCalculate FrmTakozGiris.vb:575
TxtMiktar.TextChanged, TxtPltMilyem.TextChanged, TXTCesni.TextChanged OnXPTCalculate FrmTakozGiris.vb:580
TxtHasIscFiyat.TextChanged, CmbHasIscBirim.EditValueChanged, Me.XAuChanged onXAUCostChanged FrmTakozGiris.vb:585
TxtGumIscFiyat.TextChanged, CmbGumIscBirim.EditValueChanged, Me.XAgChanged onXAGCostChanged FrmTakozGiris.vb:590
Me.ValueChanged, CmbIscilikDurumu.SelectedIndexChanged, CmbIscBirim.EditValueChanged CalculateIscilik FrmTakozGiris.vb:595
Me.XAgChanged, CmbGumusDurum.SelectedIndexChanged, CmbIscilikDurumu.SelectedIndexChanged, CmbIscBirim.EditValueChanged CalculateGumus FrmTakozGiris.vb:617
Me.XPtChanged, CmbPlatinDurum.SelectedIndexChanged, CmbIscilikDurumu.SelectedIndexChanged, CmbIscBirim.EditValueChanged CalculatePlatin FrmTakozGiris.vb:642
Me.XPdChanged, CmbPaladiumDurum.SelectedIndexChanged, CmbIscilikDurumu.SelectedIndexChanged, CmbIscBirim.EditValueChanged CalculatePaladium FrmTakozGiris.vb:666
Me.Calculated OnCalculated FrmTakozGiris.vb:691
TxtRaporNo.TextChanged RaporNoChanged FrmTakozGiris.vb:723
TxtHasIscFiyat.EditValueChanged TxtHasIscEditValueChanged FrmTakozGiris.vb:734
TxtGumIscFiyat.EditValueChanged TxtGumIscEditValueChanged FrmTakozGiris.vb:743
GridView1.CustomDrawCell CustomDrawCell FrmTakozGiris.vb:753
TxtBarkod.Validated TxtBarkod_Validated FrmTakozGiris.vb:784

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

Tablo Fiiller
sistem.AyarEvi ⚠︎ DB'de yok SELECT

Kullandığı DAO / iş sınıfları

AIO.Cari.Hesap, AIO.Cari.Islem, AIO.Kur.KurListesi, AIO.Sistem.Birim, AIO.Stok.Takoz

Kayıt sonrası oluşan etkiler

Bu ekran Cari.Islemler'e yazar. Her satır TRG-CARI.ACCEPTTRANSACTION tarafından bakiye defteri (Cari.BakiyeIslem), stok defteri (Stok.StokHaraketleri) ve değişiklik izine (Cari.History) dağıtılır. Hangi defterin üretileceği BakiyeId, IslemTipi ve kurulum profiline bağlıdır — bkz. BR-DEFTER-URETIMI (CTR-038).

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

  • Gumus İşçiliği Girilmemiş. Devam Etmek İstiyormusunuz ?
  • Has İşçiliği Girilmemiş. Devam Etmek İstiyormusunuz ?
  • Islem Kayıt Edilemedi.
  • Milyem Toplamı 1000'i Geçemez.
  • Takoz Bilgileri Alınamadı.
  • Takoz Bilgileri Kayıt Edilemedi.

Bilinen kusurlar / dikkat

  • Boş catch bloğu: 2 — hata yutuluyor (TD-EMPTY-CATCH).

Kaynaklar

  • SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.Designer.vb
  • SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozGiris.vb
  • DERIVED:KnowledgeBase/02_Screens/FrmTakozGiris.md (KB-v1 anlatım)
  • DERIVED:docs/knowledge-base/screens/FrmTakozGiris.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).
  • Menüden değil kod içinden açılıyor; kullanıcı yolu doğrulanmalı.