Sınıf: FrmCariHesapEkle · Modül: MOD-CARI · Türetildiği: ERPPRO.FormEditBase · Yaşam döngüsü: ACTIVE_CRITICAL · Kapsam: ERPGOLD_CORE
Nedir?
Cari hesap kartı (müşteri / tedarikçi / banka / masraf hesabı) açma ve düzeltme ekranıdır; Cari.Hesaplar tablosuna 57 kolonluk kartı yazar [DOCUMENT:kitap#4.2] [DB_OBJECT:Cari.Hesaplar]. Cari İşlemler'de seçilen, bakiyesi tutulan ve fatura kesilen "hesap" bu ekranda tanımlanır. Kart bir master (ana) hesaba bağlanır — vergi bilgileri, limit, vade ve hesap türü ana karttan devralınır, şifreli hesaplar ana kart üzerinden kilitlenir [SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.vb:16-30] [SCREEN:SCR-FRMCARIKARTEKLE]. Ekranın sekmelerinde ayrıca adresler, yetkililer, dokümanlar, yorumlar, müşteriye özel fiyat listesi, derecelendirme ve ticket geçmişi tutulur [SOURCE_CODE:FrmCariHesapEkle.Designer.vb:2201-2346].
Ne zaman kullanılır?
- Yeni müşteri/tedarikçi ile ilk işlem öncesi hesap açılırken [PROCESS:PROC-155] [PROCESS:PROC-204].
- Hesap limiti, takoz işçiliği, temsilci, pasif/aktif durumu gibi kart bilgileri değişince.
- Şifreli hesap kurulurken (Ana Hesap = Şifreli Hesaplar bağı) [PROCESS:PROC-55].
- Resmi fatura/e-belge için vergi dairesi, vergi no, TC no, hukuki kod ve dosya kategorisi girilirken [DOCUMENT:12_Support/Playbooks/PB-017.md].
- BSMV muaf hesap açılırken [PROCESS:PROC-198].
Adım adım kullanım
- ANA MENÜ ▸ Hesap Yonetimi ▸ Cari Hesaplar ▸ Hesaplar ▸ YENİ KAYIT (ya da satırda KAYIT DÜZELT) [PROCESS:PROC-155].
- Hesap Adı yazılır — tek zorunlu bilgi; kayıt için yeterlidir [PROCESS:PROC-155]. Ticari Unvan resmi belgeler içindir.
- Üstteki Ana Hesap (master) seçilir; seçilince Vergi Dairesi / Vergi No (boşsa), Limit, limit birimi, Vade ve Hesap Turu ana karttan doldurulur [SOURCE_CODE:FrmCariHesapEkle.vb:16-30]. Bilgileri Getir düğmesi yetkili, adres ve iletişim alanlarını da ana karttan kopyalar [SOURCE_CODE:FrmCariHesapEkle.vb:251-264].
- Hesap Turu (Musteri / Yetkili Kurum / Banka / Diger / Masraf / Merkez Bankasi), Grup Kodu, Kategori, Hukiki Kod, Dosya Kategorisi seçilir. Sube oturum şubesine kilitlidir [SOURCE_CODE:FrmCariHesapEkle.vb:34-35].
- Resmi işlem yapılacaksa Vergi No (vergi dairesi seçiliyken 10 hane) veya TC No (11 hane), Pasaport No girilir.
- Gerekirse Limit + birimi, Hesap Tipi (Fiziksel / Sanal — sanalda Kaldırac, margin ve otomatik kapatma açılır), Takoz Has Isc / Takoz Gum Isc (binde) + birimleri, Ons Carpan, Fixing Price + birimi, Musteri Temsilcisi / Yed.Temsilci.
- İletişim: Yetkili, Adres, Ulke, Sehir, Ilce, Semt, Telefon(1)/(2), Fax, GSM, Email, Web.
- Durum Aktif/Pasif; pasifte açıklama kutusu açılır.
- Kayıt; ardından Ctrl+F5 (Sistem Yenile) — yeni hesap listelerde aksi hâlde çıkmaz [PROCESS:PROC-155] [DOCUMENT:12_Support/Playbooks/PB-039.md].
- Kayıt sonrası açılan sekmelerden Fiyatlar (müşteriye özel işçilik/fiyat, FrmHesapFiyatEkle), Adresler, Yetkililer, Dokumanlar, Yorumlar, Derecelendirme, Ticket doldurulabilir.
Alanların anlamı
| Ekran etiketi | İş anlamı (kolon) |
|---|---|
| Hesap Adı | Ekranda görünen hesap adı (HesapAdi; DAO özelliği Hesap) |
| Ticari Unvan | Fatura/e-belgede basılan resmi unvan (TicariUnvan) |
| Hesap Turu | Raporlarda ve e-faturada tür ayrımı; enum 0 Bakiye(Müşteri) · 1 Yetkili Kurum · 2 Banka · 3 Diğer · 4 Masraf · 5 Devir (HesapTuru) [BUSINESS_RULE:BR-DEVIR-001] |
| Sube | Hesabın şubesi; her şubenin hesapları ayrıdır (SubeId) |
| Vergi Dairesi / Vergi No / TC No / Pasaport No | Resmi belge kimlik bilgileri; ana karttakiyle aynıysa hesapta boş bırakılır (ana karttan okunur) [SOURCE_CODE:FrmCariHesapEkle.vb:173-179] |
| Dosya Kategorisi | Zorunlu evrak kategorisi (DosyaKategori) [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-hesap-dosyakategori] |
| Hukiki Kod | MASAK/istatistik için hukuki durum kodu (HukukiKod, Sistem.HukukiKodlar) |
| Grup Kodu / Kategori | Rapor kırılımı için serbest gruplama |
| Limit (+ birim) | Cari limit; aşımında "Hesap Limiti Aşılıyor…" (Limit, LimitBirimId) [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-hesap-limit] |
| Hesap Tipi | Fiziksel / Sanal hesap (SanalHesap); sanalda Kaldırac, ML/MC/MS (margin level/call/stop) ve otomatik kapatma (AutoStop) etkinleşir [SOURCE_CODE:FrmCariHesapEkle.vb:243-250] |
| Takoz Has Isc / Takoz Gum Isc (+birim) | Takoz çıkışında bu hesaba uygulanacak varsayılan has/gümüş işçiliği (binde) [BUSINESS_RULE:BR-TAKOZ-005] |
| Ons Carpan | Hesaba özel ons çarpanı; 0 değilse genel ayarı ezer [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-hesap-onscarpan] |
| Fixing Price (+birim) | Etiket "fiyat" der, kolon FixingDiscount (iskonto) — anlamı iş birimine doğrulatılmalı (CTR kitapçık §8.5) |
| Musteri Temsilcisi / Yed.Temsilci | Sorumlu personel (Temsilci1/2) |
| Durum (+pasif açıklaması) | Pasif hesapta işlem düğmeleri kapanır: "Seçili Hesap Pasif (…)" (IsActive, PasifDescription) [DOCUMENT:12_Support/KnownIssues/H-043.md] |
| FX SERVERID / TerminalNo/Passwd. | FX Trader terminal bilgileri (FXServerID, FXTerminalNo, FXPassword — değer yazılmaz) |
| Ana Hesap (master) | KartId → Cari.Kartlar; şifreli hesaplar bu bağ üzerinden kilitlenir [PROCESS:PROC-55] |
Hesaplama / doğrulama mantığı
- Vergi Numarası 10 Karaketer Olmalıdır… — Vergi No dolu ve vergi dairesi seçiliyken uzunluk ≠ 10; TCKimlik Numarası 11 Karaketer Olmalıdır… — vergi dairesi boşken uzunluk ≠ 11. Kontrol Vergi No kutusu üzerinde yapılır, TC No kutusu ayrıca denetlenmez [SOURCE_CODE:FrmCariHesapEkle.vb:149-160] [BUSINESS_RULE:BR-FATURA-001].
- Aynı şubede aynı Vergi No / TC No ile ikinci hesap tetikleyici tarafından geri alınır: "Aynı Vergi No ya sahip başka bir hesap mevcuttur!" [BUSINESS_RULE:BR-KASA-008].
- Karşı Hesap Bulunamadı. — şubeler arası karşı hesap bağı (
KarsiHesapId) yazılırken hedef hesap güncellenemedi [SOURCE_CODE:FrmCariHesapEkle.vb:218-221]. Karşı hesap kutusu kilitlidir; F6 ile sistem şifresi sorularak açılır (sabit parola, değer yazılmaz) [DOCUMENT:09_CodeArchitecture/Security/SEC-AUTHN.md#6]. - Seçmiş Olduğunuz Fiyat Silinecektir. Onaylıyormusunuz? — Fiyatlar sekmesinde satır silme onayı.
- Ana kartın türü
Subeise hesap şubesi zorla oturum şubesi yapılır [SOURCE_CODE:FrmCariHesapEkle.vb:168-172]. - CTR-SCR-HESAPTURU-01: Ekrandaki Hesap Turu listesi 6. değeri "Merkez Bankasi" gösterir; kod enum'u aynı değeri
Devir=5sayar (CTR-033 ile aynı çelişki, ekran tarafı bu makalede doğrulandı) [SOURCE_CODE:FrmCariHesapEkle.Designer.vb:737] [SOURCE_CODE:ERPPRO/Class/Ext/Cari.HesapExt.vb:17-25]. Ayrıca ana kart seçilince kartın türü (Cari.Kartlar.HesapTuru: Müşteri/Tedarikci/Sube) doğrudan hesap türü indeksine kopyalanır — iki liste farklı anlam taşır [SOURCE_CODE:FrmCariHesapEkle.vb:27]. - GAP-SCR-HESAP-MASTERDEFAULT:
MasterHesapRefreshsonunda ana hesap kutusu koşulsuz1numaralı karta çekilir [SOURCE_CODE:FrmCariHesapEkle.vb:12-13]; yeni hesapta varsayılan ana kartın Id 1 olduğu varsayılır — kurulumda Id 1 farklıysa davranış doğrulanmadı.
Stok / bakiye / rapor etkisi
Defter etkisi yok — tanım ekranı. Ancak kart alanları işlem anında davranışı belirler: limit kontrolü, takoz işçiliği varsayılanı, pasif hesabın işleme kapanması, resmi belge kimlik alanları ve hesap türüne göre istatistik kodu [DOCUMENT:12_Support/Playbooks/PB-047.md] [DOCUMENT:12_Support/Playbooks/PB-021.md].
Sık yapılan kullanıcı hataları
- Tanımladım ama listede yok — Ctrl+F5 yapılmamış [DOCUMENT:12_Support/Playbooks/PB-039.md].
- Master şifre tanımlandı ama hesap şifresiz açılıyor — Ana Hesap "Şifreli Hesaplar" olarak kaydedilmemiş / yenileme yok [DOCUMENT:12_Support/KnownIssues/H-017.md].
- Hesap seçildi ama işlem düğmeleri yok — hesap pasif, zorunlu evrak eksik ya da şifreli [DOCUMENT:12_Support/Playbooks/PB-044.md].
- Faturada isim ve TC gelmiyor — kartta kimlik alanları boş [DOCUMENT:12_Support/KnownIssues/H-143.md] [DOCUMENT:12_Support/Playbooks/PB-017.md].
- "Lütfen Istatistik Kodunu Giriniz." — hesap türü/hukuki kod eksik [DOCUMENT:12_Support/KnownIssues/H-035.md].
- "Hesap Limiti Aşılıyor…" — limit birimi/kapsamı yanlış anlaşılıyor [DOCUMENT:12_Support/KnownIssues/H-042.md] (CTR-014).
- Hesaba göre takoz çıkış işçiliği sabitlenmek isteniyor — Takoz Has/Gum Isc alanları [DOCUMENT:12_Support/KnownIssues/H-034.md] [PROCESS:PROC-152].
İlgili ticket temaları
- PRB-TANIMLAMA-000, PRB-FATURA-000; zincir SYM-TANIMLAMA.
- Playbook'lar: PB-039, PB-044, PB-017, PB-047.
Müşteri varyasyonları
RsAktaraçık şubelerde Muh. Hesap kutusu etkinleşir ve başka şubedeki vergi numaralı hesaba bağ kurulur; kapalı şubelerde kutu pasiftir [SOURCE_CODE:FrmCariHesapEkle.vb:36-42] [DOCUMENT:09_CodeArchitecture/CONFIGURATION.md#cfg-sube-rsaktar].- Sanal hesap / kaldıraç / margin alanları FX Trader (döviz) kurulumlarına özgüdür; kuyumcu kurulumunda takoz işçiliği alanları belirleyicidir [DOCUMENT:kitap#9.3].
- Fiyatlar sekmesi yalnız maden kartı tanımlı kurulumlarda görünür (
ListOfMaden.Count > 0) [SOURCE_CODE:FrmCariHesapEkle.vb:35].
Kim kullanır? Nereden açılır?
- ANA MENÜ ▸ Hesap Yonetimi ▸ Cari Hesaplar ▸ Hesaplar
- ANA MENÜ ▸ Uretim Modulu ▸ Tanımlamalar ▸ Hesap Tanımlama
- Liste ekranındaki Ekle/Düzenle:
AIO.Cari.Hesap.FormEditBase→ bu form - Kod içinden açan sınıflar: FrmCariKartEkle, FrmDevirGiris, FrmFaceRecognition, ParakendeSatis, iScreen
Yaşam döngüsü kanıtı
ACTIVE_CRITICAL — ANA MENÜ: Hesap Yonetimi ▸ Cari Hesaplar ▸ Hesaplar; DAO FormEditBase hedefi: AIO.Cari.Hesap; çağıran sınıf: FrmCariKartEkle, FrmDevirGiris, FrmFaceRecognition, ParakendeSatis, iScreen
Alanlar → veritabanı
| Ekrandaki alan | Kontrol | Tablo.Kolon | Yön |
|---|---|---|---|
| Hesap Adı | TxtHesapAdi |
Cari.Hesaplar.HesapAdi |
yaz |
| Ticari Unvan | TxtTicariUnvan |
Cari.Hesaplar.TicariUnvan |
yaz |
| Hesap Turu | CmbHesapTuru |
Cari.Hesaplar.HesapTuru |
yaz |
| Sube | CmbSube |
Cari.Hesaplar.SubeId |
yaz |
| Vergi Dairesi | CmbVergiDairesi |
Cari.Hesaplar.VergiDairesi |
yaz |
| Vergi No | TxtVergiNo |
Cari.Hesaplar.VergiNo |
yaz |
| TC No | TxtTCNo |
Cari.Hesaplar.TCNo |
yaz |
| Dosya Kategorisi | CmbDosyaKategorisi |
Cari.Hesaplar.DosyaKategori |
yaz |
| Pasaport No | TxtPassaportNo |
Cari.Hesaplar.PassaportNO |
yaz |
| Hukiki Kod | CmbHukukiKod |
Cari.Hesaplar.HukukiKod |
yaz |
| Grup Kodu | CmbGrupKodu |
Cari.Hesaplar.GrupKodu |
yaz |
| Kategori | CmbKategori |
Cari.Hesaplar.Kategori |
yaz |
| Limit | TxtLimit |
Cari.Hesaplar.Limit |
yaz |
| — | CmbLimitBirimId |
Cari.Hesaplar.LimitBirimId |
yaz |
| Hesap Tipi | CmbSanalHesap |
Cari.Hesaplar.SanalHesap |
yaz |
| Kaldırac | TxtKaldirac |
Cari.Hesaplar.Kaldirac |
yaz |
| ML/MC/MS/MP/PK | TxtMarginLevel |
Cari.Hesaplar.MarginLevel |
yaz |
| — | TxtMarginCall |
Cari.Hesaplar.MarginCall |
yaz |
| — | TxtMarginStop |
Cari.Hesaplar.MarginStop |
yaz |
| — | ChkClosePosition |
Cari.Hesaplar.AutoStop |
yaz |
| Takoz Has Isc | TxtTakozHasIsc |
Cari.Hesaplar.TakozHasIsc |
yaz |
| — | CmbTakozHasIscBirimId |
Cari.Hesaplar.TakozHasIscBirimId |
yaz |
| Takoz Gum Isc | TxtTakozGumIsc |
Cari.Hesaplar.TakozGumIsc |
yaz |
| — | CmbTakozGumIscBirimId |
Cari.Hesaplar.TakozGumIscBirimId |
yaz |
| Ons Carpan | TxtOnsCarpan |
Cari.Hesaplar.OnsCarpan |
yaz |
| Fixing Price | TxtFixingPrice |
Cari.Hesaplar.FixingDiscount |
yaz |
| — | CmbFixingBirimId |
Cari.Hesaplar.FixingBirimId |
yaz |
| Musteri Temsilcisi | cmbTemsilci1 |
Cari.Hesaplar.Temsilci1 |
yaz |
| Yed.Temsilci | CmbTemsilci2 |
Cari.Hesaplar.Temsilci2 |
yaz |
| Yetkili | TxtYetkili |
Cari.Hesaplar.Yetkili |
yaz |
| Adres | TxtAdres |
Cari.Hesaplar.Adres |
yaz |
| Ulke | CmbUlke |
Cari.Hesaplar.Ulke |
yaz |
| Sehir | CmbIl |
Cari.Hesaplar.Il |
yaz |
| Ilce | CmbIlce |
Cari.Hesaplar.Ilce |
yaz |
| Semt | CmbSemt |
Cari.Hesaplar.Semt |
yaz |
| Telefon(1) | TxtTelefon1 |
Cari.Hesaplar.Telefon1 |
yaz |
| Telefon(2) | TxtTelefon2 |
Cari.Hesaplar.Telefon2 |
yaz |
| Fax | TxtFax |
Cari.Hesaplar.Fax |
yaz |
| GSM | TxtGsm |
Cari.Hesaplar.Gsm |
yaz |
TxtEmail |
Cari.Hesaplar.Email |
yaz | |
| Web | TxtWeb |
Cari.Hesaplar.Web |
yaz |
| Durum | CmbDurum |
Cari.Hesaplar.IsActive |
yaz |
| — | TxtPasifDesc |
Cari.Hesaplar.PasifDescription |
yaz |
| FX SERVERID | TXTServerID |
Cari.Hesaplar.FXServerID |
yaz |
| TerminalNo/Passwd. | TXTTerminalNo |
Cari.Hesaplar.FXTerminalNo |
yaz |
| — | TxtPassword |
Cari.Hesaplar.FXPassword |
yaz |
Kullanıcı olayları
| Olay | Metot | Dosya:satır |
|---|---|---|
CmbMasterHesap.EditValueChanged |
onMasterHesapDegisti |
FrmCariHesapEkle.vb:16 |
TabControl.SelectedPageChanged |
TicketRefresh |
FrmCariHesapEkle.vb:140 |
CmbDurum.SelectedIndexChanged |
OnPasifChanged |
FrmCariHesapEkle.vb:235 |
CmbSanalHesap.SelectedIndexChanged |
CmbHesapTuru_SelectedIndexChanged |
FrmCariHesapEkle.vb:243 |
BtnBilgileriGetir.Click |
BtnBilgileriGetir_Click |
FrmCariHesapEkle.vb:251 |
Me.KeyDown |
FrmCariHesapEkle_KeyDown |
FrmCariHesapEkle.vb:265 |
Me.ReferansNoChanged |
FrmCariHesapEkle_ReferansNoChanged |
FrmCariHesapEkle.vb:272 |
FiyatList.ButtonClick |
Fiyat_ButtonClick |
FrmCariHesapEkle.vb:292 |
RatingControl1.RatingSended |
RatingControl1_YorumSended |
FrmCariHesapEkle.vb:320 |
VwTickets.DoubleClick |
VwTickets_DoubleClick |
FrmCariHesapEkle.vb:329 |
CmbHukukiKod.KeyDown |
CmbHukukiKod_KeyDown |
FrmCariHesapEkle.vb:344 |
Okuduğu / yazdığı tablolar (kod içi SQL, statik)
| Tablo | Fiiller |
|---|---|
Cari.GetFiyatListesi ⚠︎ DB'de yok |
SELECT |
Cari.Hesaplar |
SELECT, UPDATE |
Cari.Kartlar |
SELECT |
Genel.Adresler |
SELECT |
Genel.Yetkililer |
SELECT |
Scheduler.GetTicket ⚠︎ DB'de yok |
SELECT |
Sistem.HukukiKodlar |
SELECT |
Sistem.Subeler |
SELECT |
Kullandığı DAO / iş sınıfları
Kullanıcıya gösterilen mesajlar (doğrulama)
- Karşı Hesap Bulunamadı.
- Seçmiş Olduğunuz Fiyat Silinecektir. Onaylıyormusunuz?
- TCKimlik Numarası 11 Karaketer Olmalıdır. Lütfen Kontrol Ediniz.
- Vergi Numarası 10 Karaketer Olmalıdır. Lütfen Kontrol Ediniz.
Bilinen kusurlar / dikkat
- "Fixing Price" etiketi
FixingDiscountkolonuna yazar; DAO özelliğiHesap, kolonHesapAdi. - Dinamik SQL: 8 ifade — parametresiz birleştirme riski (TD-DYNAMIC-SQL).
Kaynaklar
SOURCE_CODE:ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.Designer.vbSOURCE_CODE:ERPPRO/Form/Tanımlamalar/Cari/FrmCariHesapEkle.vbDERIVED:docs/knowledge-base/screens/FrmCariHesapEkle.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).
