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

TAKOZ ÇIKIŞI (seri)

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

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

Nedir?

Takoz Cıkıs İşlemi — Seri İşlem penceresinin 3 - TAKOZ C. düğmesiyle açılan, eldeki bir takozu (külçeyi) müşteriye/rafineriye teslim eden ayrı penceredir; Cari İşlemler içindeki TAKOZ ÇIKIŞ satırının seri-pencere eşidir [SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozCikisi.vb:182-340] [SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmSeriIslem.vb:292-296]. Kullanıcı TAKOZ KODU listesinden şube-kasada elde olan bir takozu seçer; MİKTAR, HAS/GUM/PLT/PLD MILYEM ve has değerleri takoz kartından salt okunur dolar; yalnız işçilik (HAS ISC., GUM ISC, birimleri), ISCILIK DURUMU (Altından Düş / Para İle), gümüş/platin/paladyum durumları ve açıklama girilir [DOCUMENT:06_Workflows/WF-TAKOZ-CIKIS.md] [BUSINESS_RULE:BR-TAKOZ-005]. Kayıt Cari.Islemler'e IslemKodu 0 TAKOZ · IslemTuru 1 ÇIKIŞ · Adet 1 satırı yazar; takoz stoğu −1 olur, müşteri bakiyesine has (ve gümüş) ile işçilik yazılır [DOCUMENT:kitap#9.5].

Ne zaman kullanılır?

  • Depodaki takoz müşteriye ya da rafineriye teslim edilirken [DOCUMENT:06_Workflows/WF-TAKOZ-CIKIS.md] [PROCESS:PROC-162].
  • Devir öncesi takoz stoğunu boşaltırken (toplu çıkış için Cari İşlemler'deki SERİ ÇIKIŞ penceresi kullanılır) [DOCUMENT:06_Workflows/WF-TAKOZ-SERI-CIKIS.md].
  • Seri İşlem listesinde takoz çıkış satırı DUZELT ile açılınca (takoz kodu değiştirilemez) [SOURCE_CODE:FrmSeriIslem.vb:297-315].

Adım adım kullanım

  1. Seri İşlem Ekranı'nda hesap seçilip TAMAM denmiş olmalı; ön koşullar (şube/kasa/hesap, aktif hesap, yetki, evrak) [DOCUMENT:06_Workflows/WF-TAKOZ-CIKIS.md#ön-koşullar].
  2. 3 - TAKOZ C. basılır; pencere açılınca HAS ISC. / GUM ISC ve birimleri hesap kartındaki TakozHasIsc / TakozGumIsc değerleriyle dolar [SOURCE_CODE:FrmTakozCikisi.vb:199-204] [BUSINESS_RULE:BR-TAKOZ-005].
  3. TAKOZ KODU listesinden takoz seçilir; liste Stok.GetTakozStoklari(Şube, Kasa) sonuçlarından adedi 0 olmayanlardır [SOURCE_CODE:FrmTakozCikisi.vb:207-209] [BUSINESS_RULE:BR-STOK-010]. Seçilince MİKTAR, HAS MILYEM, HAS, GUM MILYEM, GUM, (extra takozda) PLT/PLD alanları ve rapor no karttan dolar; PLATIN/PALADIUM DURUMU yalnız extra takozda açılır [SOURCE_CODE:FrmTakozCikisi.vb:102-126].
  4. HAS ISC. / GUM ISC (binde) ve BIRIM'leri kontrol edilir; ISCILIK DURUMU: Altından Düş → işçilik has'tan düşülür (birim HAS); Para İleBIRIM kutusu açılır, işçilik seçilen nakit birimde yazılır [SOURCE_CODE:FrmTakozCikisi.vb:129-134] [BUSINESS_RULE:BR-TAKOZ-004].
  5. GUMUS / PLATIN / PALADIUM DURUMU: Madeni Ver / Altına Çevir / İşçilikten Düş / Madeni Bırak [SOURCE_CODE:FrmTakozCikisi.Designer.vb:807-879].
  6. F2 - KAYIT: işlem oluşturulur ve kaydedilir; yeni kayıtta liste yenilenir, pencere temizlenip açık kalır (bir sonraki takoz); düzeltmede pencere kapanır [SOURCE_CODE:FrmTakozCikisi.vb:236-338]. ESC - KAPAT kapatır.

Alanların anlamı

Ekran etiketi İş anlamı (kolon)
TAKOZ KODU Çıkılacak takoz kartı (Cari.Islemler.StokIdStok.Takoz.Id, Kodu)
MİKTAR / HAS MILYEM / HAS / GUM MILYEM / GUM / PLT… / PLD… Takoz kartından salt okunur: brüt gram, ayar ve saf metal karşılıkları (Stok.Takoz.Miktar, AuMilyem, AuHas, AgMilyem, AgHas, Plt*, Pld*) — işleme Miktar, AuMilyem, AgMilyem, PltMilyem, PldMilyem kopyalanır
HAS ISC. (+BIRIM) Has işçiliği, binde; işleme HasIsc = değer/1000, HasIscBirimId, HasIscBirimKur; ayrıca Fiyat alanına ham değer yazılır
GUM ISC (+BIRIM) Gümüş işçiliği (binde) → GumIsc, GumIscBirimId, GumIscBirimKur
ISCILIK DURUMU 0 Altından Düş · 1 Para İle (IscilikDurumu); Para İle'de BIRIM = IscilikBirimId/Birim
GUMUS / PLATIN / PALADIUM DURUMU 0 Madeni Ver · 1 Altına Çevir · 2 İşçilikten Düş · 3 Madeni Bırak (GumusDurumu, PlatinDurumu, PalladiumDurumu) [BUSINESS_RULE:BR-TAKOZ-004]
(Açıklama) / (Rapor No) Aciklama, RaporNo
F2 - KAYIT / ESC - KAPAT / SERI CIKIS Eylemler — bkz. GAP aşağıda

Alan tablosundaki "BIRIM | CmbIscBirim → IscilikBirimId (oku)" satırı: kayıtta yön aslında yazdır (.IscilikBirimId = IscilikBirim.Id) [SOURCE_CODE:FrmTakozCikisi.vb:290-291].

Hesaplama / doğrulama mantığı

  • İşlem tipi takoz tipinin ana madenine göre ALTIN/GÜMÜŞ/PLATİN/PALADYUM (6–9) [BUSINESS_RULE:BR-TAKOZ-002].
  • Tutar: AuHasIsc = AuHas × HAS ISC./1000 × HasIscBirimKur; AgHasIsc = AgHas × GUM ISC/1000 × GumIscBirimKur; Tutar = |(AuHasIsc + AgHasIsc) ÷ IscilikBirimKur| — Altından Düş'te HAS kuru, Para İle'de seçilen birimin kuru; Maliyet = |Tutar × GetKur(Birim)|, Satis = 0 [SOURCE_CODE:FrmTakozCikisi.vb:296-323] [BUSINESS_RULE:BR-TAKOZ-006].
  • Düzeltmede kurlar işlemin kayıtlı kur fotoğrafından (OldKur) alınır; kur listesinden yeniden çekilmez [SOURCE_CODE:FrmTakozCikisi.vb:211-233,343-349] [BUSINESS_RULE:BR-KUR-003].
  • Takoz seçilmemişse F2 sessizce çıkar (mesaj yok) [SOURCE_CODE:FrmTakozCikisi.vb:237] [DOCUMENT:06_Workflows/WF-TAKOZ-CIKIS.md adım 4].
  • Tetikleyici: takozun stok adedi 0 ise "BU TAKOZ STOGUNUZDA YOK.ISLEM YAPAMAZSINIZ." ile geri alır [BUSINESS_RULE:BR-STOK-007].
  • Genel doğrulamalar Islem.Validate içindedir: "Sube,Kasa veya Hesap Seçili Değil…", "Geçmiş Tarihe İşlem Giriyorsunuz…" (resmi kasada sorulmaz) [DOCUMENT:06_Workflows/WF-TAKOZ-CIKIS.md#uyarı-mesajları].
  • GAP-SCR-TAKOZCIKISI-SERICIKIS: Bu penceredeki SERI CIKIS düğmesinin kodu yorum satırına alınmıştır; düğme hiçbir şey yapmaz [SOURCE_CODE:FrmTakozCikisi.vb:354-361]. Toplu çıkış için Cari İşlemler ▸ TAKOZ C ▸ SERİ ÇIKIŞ (FrmSeriTakozCikis) kullanılır.
  • Kod içinde bir dinamik SQL (stok listesi) vardır (TD-DYNAMIC-SQL).

Stok / bakiye / rapor etkisi

İşlem ekranıdır: satır Cari.Islemler'e yazılır; TRG-CARI.ACCEPTTRANSACTION stok defterine StokTipi 3, Adet −1, Miktar/Has 0 (takoz nesne olarak izlenir) ve bakiye defterine hesap için HAS (+AuHas) ve GUM (+AgHas) ile işçilik satırlarını yazar; kasa değişmez [BUSINESS_RULE:BR-STOK-002] [DOCUMENT:kitap#9.5] [BUSINESS_RULE:BR-DEFTER-URETIMI]. Kuyumcu DB'de bir takozun giriş ve çıkışı tam iki Cari.Islemler satırıdır; çıkışta has ve gümüş bakiyesi birlikte doğar [DOCUMENT:kitap#9.5]. Raporsuz takozda milyem/has kutuları boş gelir ve işçilik 0 hesaplanır [DOCUMENT:06_Workflows/WF-TAKOZ-CIKIS.md#ön-koşullar] [DOCUMENT:12_Support/KnownIssues/H-072.md].

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

  • "«no» Nolu Takoz Bulunamadı Veya Elinizde Yok." / takoz listede yok — başka kasada ya da çıkılmış [DOCUMENT:12_Support/KnownIssues/H-070.md] [DOCUMENT:12_Support/KnownIssues/H-117.md] [DOCUMENT:12_Support/Playbooks/PB-049.md].
  • TAKOZ C'de milyem kutuları boş; "takozun kimden geldiğini göremiyorum" — raporsuz takoz [DOCUMENT:12_Support/KnownIssues/H-072.md].
  • Hesaba göre takoz çıkış işçiliği sabitlenmek isteniyor — hesap kartı Takoz Has/Gum Isc [DOCUMENT:12_Support/KnownIssues/H-034.md] [PROCESS:PROC-152].
  • Devir sonrası takoz stoğu −1 — devirden önce alınan takoz devirden sonra çıkılmış [DOCUMENT:06_Workflows/WF-YIL-SONU-DEVIR.md#uyarı-mesajları].
  • Raporsuz takoz has varsayımı raporlarda üç farklı değer (0,600 / 0 / 0) — bilanço farkı (CTR-SYM-TAKOZ-01) [DOCUMENT:12_Support/KnownIssues/H-130.md].

İlgili ticket temaları

Müşteri varyasyonları

  • KUYUMCU_VARIANT: Stok.Takoz döviz kurulumunda boştur; kuyumcu/rafineri kurulumunda 10.870 satır (16,4 t brüt) [DOCUMENT:kitap#9.5].
  • Giriş bakiyesi ile ölçülen has arasındaki +%0,27 fark (fire/rafinasyon payı) kodda bulunamadı — GAP-TAKOZ-FIRE [DOCUMENT:00_Governance/KNOWN_GAPS.md#gap-takoz-fire].
  • Rafinasyon ücreti has ile alındığında Tutar kolonu para değil has gramdır; döviz kurulumunda aynı kolon her zaman para taşır [DOCUMENT:kitap#9.5].

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
HAS ISC. TxtHasIscFiyat Cari.Islemler.Fiyat yaz
BIRIM CmbHasIscBirim Cari.Islemler.HasIscBirimId yaz
BIRIM CmbGumIscBirim Cari.Islemler.GumIscBirimId yaz
ISCILIK DURUMU CmbIscilikDurumu Cari.Islemler.IscilikDurumu yaz
BIRIM CmbIscBirim Cari.Islemler.IscilikBirimId oku
GUMUS DURUMU CmbGumusDurum Cari.Islemler.GumusDurumu yaz
PLATIN DURUMU CmbPlatinDurum Cari.Islemler.PlatinDurumu yaz
PALADIUM DURUMU CmbPaladiumDurum Cari.Islemler.PalladiumDurumu yaz
TxtAciklama Cari.Islemler.Aciklama yaz
TxtRaporNo Cari.Islemler.RaporNo yaz

Kullanıcı olayları

Olay Metot Dosya:satır
CmbStokKodu.GotFocus, TxtHasIscFiyat.GotFocus _GotFocus FrmTakozCikisi.vb:3
CmbStokKodu.LostFocus, TxtHasIscFiyat.LostFocus _LosttFocus FrmTakozCikisi.vb:7
CmbStokKodu.KeyDown __KeyDown FrmTakozCikisi.vb:11
Me.KeyDown _KeyDown FrmTakozCikisi.vb:15
CmbStokKodu.EditValueChanged OnStockChanged FrmTakozCikisi.vb:102
CmbIscilikDurumu.SelectedIndexChanged OnIscilikBirimDegisti FrmTakozCikisi.vb:129
CmbStokKodu.KeyDown CmbStokKodu_KeyDown FrmTakozCikisi.vb:136
CmbStokKodu.ProcessNewValue CmbStokKodu_ProcessNewValue FrmTakozCikisi.vb:143
Me.Load FormInit FrmTakozCikisi.vb:182
BtnKaydet.Click FormSave FrmTakozCikisi.vb:236
BtnKapat.Click FormClose FrmTakozCikisi.vb:342
BtnSeriCıkıs.Click BtnSeriCıkıs_Click FrmTakozCikisi.vb:354
BtnKapat.Click FormClose FrmTakozCikisi.vb:363
CmbIscilikDurumu.SelectedIndexChanged OnIscilikBirimDegisti FrmTakozCikisi.vb:367
CmbStokKodu.EditValueChanged OnStockChanged FrmTakozCikisi.vb:371

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

Tablo Fiiller
Stok.GetTakozStoklari ⚠︎ 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).

Bilinen kusurlar / dikkat

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

Kaynaklar

  • SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozCikisi.Designer.vb
  • SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/SeriIslemEkrani/FrmTakozCikisi.vb
  • DERIVED:KnowledgeBase/02_Screens/FrmTakozCikisi.md (KB-v1 anlatım)
  • DERIVED:docs/knowledge-base/screens/FrmTakozCikisi.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ı.