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

TRANSFER

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

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

Nedir?

Transfer Islemleri — kasalar (ve şubeler) arasında nakit/maden/hurda stoğu taşıyan transferlerin gelen / giden kutusudur. Liste Cari.GetTransferler(kutu, kasa, durum) fonksiyonundan okunur; gönderen kasa Transfer düğmesiyle yeni gönderi açar (TRANSFER EKLE), alan kasa Gelen Kutusu'nda gönderiyi Kabul Et ya da Reddet eder, gönderen bekleyen gönderiyi Iptal Et edebilir [SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Ekran/FrmTransfer.vb:1-95] [DB_OBJECT:Cari.GetTransferler] [DOCUMENT:06_Workflows/WF-KASA-TRANSFER.md]. Stok yalnız kabul anında taşınır: tetikleyici çıkan kasaya eksi, giren kasaya artı stok hareketi yazar; cari bakiye değişmez [BUSINESS_RULE:BR-TRANSFER-002] [DB_OBJECT:Cari.TransferUpdateSTatus]. Gişe ekranındaki Transferler düğmesi de aynı pencereyi açar [SOURCE_CODE:ERPPRO/Controls/Islem Ekranı/Parakende/GiseEkrani.vb:631-635].

Ne zaman kullanılır?

  • Bir kasadan başka kasaya nakit/maden aktarılırken (şubeler arası dahil) [DOCUMENT:06_Workflows/WF-KASA-TRANSFER.md] [PROCESS:PROC-141].
  • Yanlış kasadan yapılan işlemin stoğunu doğru kasaya taşımak için (DÜZELT ile kasa değiştirilemez) [DOCUMENT:12_Support/KnownIssues/H-113.md].
  • Devir öncesi stokları tek kasada toplarken [DOCUMENT:06_Workflows/WF-YIL-SONU-DEVIR.md adım 1].
  • Şubeler arası provizyonlu işlem akışı ayrı ekrandadır (Gelen/Giden Kutusu → ProvizyonGrid) [DOCUMENT:06_Workflows/WF-PROVIZYON-SUBELER-ARASI.md].

Adım adım kullanım

  1. ANA MENÜ ▸ Hesap Yonetimi ▸ Cari Hesaplar ▸ Transferler (veya Gişe ▸ Transferler).
  2. Liste tipi: Gelen Kutusu (oturum kasasına gelenler) / Giden Kutusu (oturum kasasından gidenler); Durum süzgeci: Bekliyor / Tamamlandı / Reddedildi / Iptal Edildi / Hepsi [SOURCE_CODE:FrmTransfer.Designer.vb:83,108].
  3. Gönderen: Giden KutusuTransfer → TRANSFER EKLE penceresinde alan kasa, işlem (nakit/maden), stok kodu, adet/miktar, açıklama → kayıt; gönderi Status=0 (bekliyor) ile listeye düşer [DOCUMENT:06_Workflows/WF-KASA-TRANSFER.md adım 2] [PROCESS:PROC-141].
  4. Alan: Gelen Kutusu → satır seçilir → Kabul Et ("Seçmiş Olduğunuz Gonderi Kabul Edilecektir. Onaylıyor musunuz?") ya da Reddet. Düğmeler yalnız Durum = 0 satırda etkindir [SOURCE_CODE:FrmTransfer.vb:35-53].
  5. Gönderen: bekleyen gönderiyi Iptal Et ile geri çeker — yalnız grupta İşlem İptal yetkisi varsa [SOURCE_CODE:FrmTransfer.vb:43-46] [BUSINESS_RULE:BR-TRANSFER-001].
  6. Kabul sonrası stok listeleri kontrol edilir; alan kasa stoğu artmış, gönderen azalmış olmalı [PROCESS:PROC-141 adım 5].

Alanların anlamı

Ekran sütunu / etiketi İş anlamı (kaynak)
Gelen Kutusu / Giden Kutusu @BoxType 0/1 — oturum kasasına göre süzülür (Program.KasaId)
Durum (süzgeç ve sütun) Cari.Transferler.Status: 0 Bekliyor · 1 Tamamlandı (kabul) · 2 Reddedildi · 3 Iptal Edildi
Tarih / Kayıt Transfer tarihi ve kayıt anı (Tarih, InsertDate)
Sube / CikanKasa / GirenKasa Şube ve kasalar (SubeId, CikanKasaId, GirenKasaId)
Islem StokTipi: 0 NAKIT · 1 MADEN · 2 HURDA (fonksiyon eşlemesi)
Kodu / Adet / Miktar / Milyem / Has Taşınan stok ve miktarı; Has = Miktar × Milyem, maliyet birim fiyatıyla (Cari.Transfer.Save) [DOCUMENT:06_Workflows/WF-KASA-TRANSFER.md adım 2]
Kullanıcı Gönderiyi açan kullanıcı (UserId)
Transfer / Kabul Et / Reddet / Iptal Et Transfer.SetStatus(Id, 1/2/3)

CTR-SCR-TRANSFER-STOKTIPI-01: Kitapçık §6.1 Cari.Transferler.StokTipi'ni "1 = maden, 2 = nakit" ve Status'u "tüm satırlarda 0 — kullanılmıyor" diye anlatır; Cari.GetTransferler ve tetikleyici kuralı ise 0 NAKIT / 1 MADEN / 2 HURDA eşlemesi kullanır ve Status 0–3 durum makinesidir [DB_OBJECT:Cari.GetTransferler] [BUSINESS_RULE:BR-TRANSFER-002] [DOCUMENT:kitap#6.1 Cari.Transferler]. Kitapçık notu genel StokTipi şablonundan kopyalanmış görünüyor; V2 örnek DB'de tüm satırların Status=0 olması ayrıca "kabul edilmemiş gönderi" anlamına gelebilir — doğrulanmalı.

Hesaplama / doğrulama mantığı

  • Üç eylem de onay sorar; SetStatus yalnız Status=0 iken durum değiştirir [BUSINESS_RULE:BR-TRANSFER-001].
  • Kabul (Status=1): tetikleyici önce transferin StokTipi=−2 işaretli eski hareketlerini siler, sonra çıkan kasaya −, giren kasaya + (Adet, Miktar, Has, Maliyet; Bolum=2) iki stok hareketi yazar; nakit → StokTipi 2, maden → 1 [BUSINESS_RULE:BR-TRANSFER-002].
  • Red/iptal stok hareketi üretmez.
  • "Hepsi" süzgecinde (indeks 4) satır listeden silinmez, yalnız durum güncellenir [SOURCE_CODE:FrmTransfer.vb:58,70,81].
  • Liste dinamik SQL ile kurulur (1 ifade, TD-DYNAMIC-SQL).

Stok / bakiye / rapor etkisi

İşlem benzeri ekrandır ama Cari.Islemler'e yazmaz; Cari.Transferler üzerinden tetikleyici doğrudan stok defterine (Stok.StokHaraketleri, Bolum=2) yazar. Bakiye defteri (Cari.BakiyeIslem) etkilenmez [BUSINESS_RULE:BR-TRANSFER-002] [DOCUMENT:06_Workflows/WF-KASA-TRANSFER.md#sonuç]. Stok hareketleri raporunda transfer satırları Bolum=2 ile ayrışır; tarih kayıt anı olduğundan "yanlış tarihte" görünebilir [DOCUMENT:12_Support/KnownIssues/H-119.md] [PROCESS:PROC-146] [PROCESS:PROC-177].

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

  • Transfer yapıldı ama karşı kasada stok görünmüyor — alan taraf Kabul Et yapmamış [DOCUMENT:12_Support/KnownIssues/H-114.md] [DOCUMENT:12_Support/Playbooks/PB-037.md].
  • Stok hareketlerinde transfer kayıtları yanlış tarihte / yanlış geliyor [DOCUMENT:12_Support/KnownIssues/H-119.md] [PROCESS:PROC-146] [PROCESS:PROC-177].
  • Iptal Et pasif — grupta İşlem İptal yetkisi yok [BUSINESS_RULE:BR-TRANSFER-001] [DOCUMENT:12_Support/KnownIssues/H-011.md].
  • Stok listesi boş: yanlış kasa — transfer yerine kasa seçimi [DOCUMENT:12_Support/KnownIssues/H-113.md].
  • Ekran içi transfer (F3, karşı hesaba ters yön) ile karıştırılması — o akış Cari.Islemler'e yazar [BUSINESS_RULE:BR-TRANSFER-003] [DOCUMENT:12_Support/KnownIssues/H-047.md].

İlgili ticket temaları

Müşteri varyasyonları

  • V2 (döviz) örnek DB'de Cari.Transferler 23.234 satır [DOCUMENT:kitap#6.1 Cari.Transferler]; KUYUMCU satır sayısı ölçülmedi (GAP).
  • Provizyon (şubeler arası onay) modu açık kurulumlarda şubeler arası mal/para hareketi ayrı gelen/giden kutusu ekranından yürür [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-provizyon] [BUSINESS_RULE:BR-TRANSFER-004].

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

  • ANA MENÜ ▸ Hesap Yonetimi ▸ Cari Hesaplar ▸ Transferler
  • Kod içinden açan sınıflar: GiseEkrani

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

ACTIVE_CRITICAL — ANA MENÜ: Hesap Yonetimi ▸ Cari Hesaplar ▸ Transferler; çağıran sınıf: GiseEkrani

Alanlar (etiket metinleri)

Etiket Tür Kontrol (teknik)
Transfer LabelControl LabelControl1
Iptal Et SimpleButton BtnIptal
Transfer SimpleButton BtnTransfer
Kabul Et SimpleButton BtnKabulEt
Reddet SimpleButton BtnReddet

Kullanıcı olayları

Olay Metot Dosya:satır
Me.Shown FormInit FrmTransfer.vb:2
CmbListeTipi.SelectedIndexChanged, CmbDurum.SelectedIndexChanged, Me.Load ListRefresh FrmTransfer.vb:5
BtnTransfer.Click BtnTransfer_Click FrmTransfer.vb:23
VwIslemler.FocusedRowChanged, VwIslemler.GotFocus, VwIslemler.LostFocus YetkiKontrol FrmTransfer.vb:35
BtnIptal.Click BtnIptal_Click FrmTransfer.vb:54
BtnKabulEt.Click BtnKabulEt_Click FrmTransfer.vb:66
BtnReddet.Click BtnReddet_Click FrmTransfer.vb:77

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

Tablo Fiiller
Cari.GetTransferler ⚠︎ DB'de yok SELECT

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

  • Seçmiş Olduğunuz Gonderi Kabul Edilecektir. Onaylıyor musunuz?
  • Seçmiş Olduğunuz Gonderi Red Edilecektir. Onaylıyor musunuz?
  • Seçmiş Olduğunuz Gonderi İptal Edilecektir. Onaylıyor musunuz?

Yetki bayrakları

IslemIptal

Bilinen kusurlar / dikkat

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

Kaynaklar

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