Sınıf: FrmFaturaEkle · Modül: MOD-FATURA · Türetildiği: ERPPRO.FormEditBase · Yaşam döngüsü: ACTIVE_CRITICAL · Kapsam: ERPGOLD_CORE
Nedir?
Fatura Giriş Ekranı — bir cari hesaba ait alış/satış faturasının başlığını (Cari.Faturalar) ve altındaki kalemlerini (Cari.FaturaDetay, her kalem ayrı pencerede FrmFaturaIslemEkle) girer [SOURCE_CODE:ERPPRO/Form/Fatura/FrmFaturaEkle.vb:1-190] [DB_OBJECT:Cari.Faturalar] [DB_OBJECT:Cari.FaturaDetay]. Cari İşlemler'deki F - FATURA düğmesiyle seçili hesap salt okunur gelir; kayıt sonrası işlem listesine IslemKodu = 12 FATURA türünde bir satır düşer. Bu satır bakiye ve stok defterine yazmaz; yalnız belge (fatura) kaydıdır; operasyonel etki zaten ilgili işlem satırındadır [DOCUMENT:06_Workflows/WF-FATURA-EKLE-F.md] [BUSINESS_RULE:BR-FATURA-009]. E-fatura gönderimi ayrı ekrandadır (FrmEFaturaBas).
Ne zaman kullanılır?
- Bir işleme bağlı olmadan yalnız belgelendirilmiş işlem havuzuna fatura kaydı eklenecekse (ör. muhasebeye giden alış faturası, hizmet faturası) [DOCUMENT:06_Workflows/WF-FATURA-EKLE-F.md].
- İşlem listesindeki FATURA satırını DÜZELT ile açınca — aynı pencere
StokId = fatura Idile gelir [BUSINESS_RULE:BR-FATURA-009]. - Menüden: Hesap Yonetimi ▸ Cari Hesaplar ▸ Faturalar listesinde Ekle/Düzenle.
Adım adım kullanım
- Cari İşlemler'de hesap seçilip TAMAM denmiş olmalı (şube, kasa, hesap dolu; hesap aktif; grupta Fatura İşlemleri yetkisi; provizyon modunda düğme gizli) [DOCUMENT:06_Workflows/WF-FATURA-EKLE-F.md#ön-koşullar].
- F - FATURA basılır; pencere Hesap Adı seçili ve kilitli, Kasa oturum kasası, Fatura Tarihi bugün, Dov. Cinsi ilk metal-dışı birim ile açılır [SOURCE_CODE:FrmFaturaEkle.vb:30-45].
- Fatura Turu (ALIS / SATIS), fatura tipi (NORMAL / IADE), Fatura No (seri + numara), Fatura Tarihi, Dov. Cinsi, Vade (gün), Açıklama, Grup Kodu, Kategori girilir [SOURCE_CODE:FrmFaturaEkle.Designer.vb:339,873].
- Ekle ile kalem penceresi açılır; ilk kalemde başlık otomatik kaydedilir (
Fatura.Id = 0iseFormSave) [SOURCE_CODE:FrmFaturaEkle.vb:114-122]. Kalemler ISLEM LISTESI ızgarasına düşer; altta TOPLAM TUTAR / KDV TUTARI / OTV TUTARI / GENEL TOPLAM toplanır. - Satırda Duzelt kalemi açar, Iptal Et kalemi siler ("Seçmiş Olduğun Satır İptal Edilecektir. Onaylıyormusunuz?"), Yazdır ızgara önizlemesini açar; Yazdır : kutusundaki fatura tasarımıyla belge basılır (ReportsCombo).
- Kaydet (F2) — düzeltmede pencere kapanır; yeni kayıtta açık kalır ve
RecordIddolar [SOURCE_CODE:FrmFaturaEkle.vb:80-96].
Alanların anlamı
| Ekran etiketi | İş anlamı (kolon, Cari.Faturalar) |
|---|---|
| Hesap Adı | Faturanın carisi (HesapId); F-FATURA'dan açılınca değiştirilemez |
| Kasa | Faturanın kasası (KasaId); kullanıcı kasa kilidi varsa değiştirilemez [BUSINESS_RULE:BR-KASA-001] |
| Fatura Turu | ALIS=0 / SATIS=1 (FaturaTuru) |
| (Fatura tipi) | NORMAL=0 / IADE=1 (FaturaTipi) |
| Fatura No | Seri (FaturaSeri) + numara (FaturaNo) |
| Fatura Tarihi | Belge tarihi (FaturaTarihi) |
| Dov. Cinsi | Faturanın para birimi (BirimId); yeni kayıtta o günkü kur DovizKur'a yazılır [SOURCE_CODE:FrmFaturaEkle.vb:92] |
| Vade | Gün cinsinden vade (Vade) |
| Açıklama / Grup Kodu / Kategori | Serbest açıklama ve rapor kırılımı |
| ISLEM LISTESI (Fiyat, Tutar, Kdv, Otv, Toplam) | Kalemler — Cari.GetFaturaDetay(FaturaId) ile okunur [DB_OBJECT:Cari.FaturaDetay] |
Kolon anlamları kitapçık §6.1 Cari.Faturalar / Cari.FaturaDetay bölümündendir [DOCUMENT:kitap#6.1].
Hesaplama / doğrulama mantığı
- Lütfen Bir Hesap Seçiniz. — hesap boş; Lütfen Fatura Tarihini Giriniz. — tarih boş; Lütfen Fatura Nosunu Giriniz. — seri veya numara boş [SOURCE_CODE:FrmFaturaEkle.vb:136-152]. Bu üç kontrol kalem eklerken/düzeltirken çalışır.
- Listede İptal Edilecek Kayıt Yok. — seçili kalem yok. İptal öncesi
Utils.OnayAlgenel onayı sorulur. - Toplamlar ızgara sütun toplamıdır (
SumColumn); KDV/ÖTV kalem penceresinde hesaplanır — GAP: kalem tutar/vergi formülüFrmFaturaIslemEklemakalesinde izlenmeli. - Hesap boşsa alt menü ve Kaydet gizlenir (
HesapValidate). - Kur: yalnız yeni kayıtta
Program.GetKur(DovizCinsi)yazılır; düzeltmede kur yeniden çekilmez [BUSINESS_RULE:BR-KUR-003].
Stok / bakiye / rapor etkisi
İşlem listesine IslemKodu 12 FATURA satırı düşer; bu satır resmi tip (11/12) gibi operasyonel stok/bakiye kaydı üretmez — bakiye ve stok etkilenmez; yalnız Cari.Faturalar / Cari.FaturaDetay ve resmi raporlar etkilenir [DOCUMENT:06_Workflows/WF-FATURA-EKLE-F.md#sonuç] [BUSINESS_RULE:BR-DEFTER-URETIMI]. İptalde işlem listesinden İPTAL, faturayı StokId = FaturaId üzerinden bulur; bulamazsa "Fatura Bulunamadı. Lütfen Faturalar Modülünden Kontrol Ediniz." [BUSINESS_RULE:BR-IPTAL-007] [DOCUMENT:12_Support/KnownIssues/H-149.md].
Sık yapılan kullanıcı hataları
- "Fatura Bulunamadı. Lütfen Faturalar Modülünden Kontrol Ediniz." — FATURA satırı işlem listesinden iptal edilmeye çalışıldı, bağ kopuk [DOCUMENT:12_Support/KnownIssues/H-149.md] [DOCUMENT:12_Support/Playbooks/PB-020.md].
- Fatura yanlış müşteriye kesildi [DOCUMENT:12_Support/KnownIssues/H-141.md] [DOCUMENT:12_Support/Playbooks/PB-016.md].
- Yazıcıdan çıkan fatura numarası yanlış (seri/sıra kayması) [DOCUMENT:12_Support/KnownIssues/H-140.md] [DOCUMENT:12_Support/Playbooks/PB-015.md] [PROCESS:PROC-43].
- Yeni yılda fatura sıra numarası devam ediyor [DOCUMENT:12_Support/KnownIssues/H-152.md] [DOCUMENT:12_Support/Playbooks/PB-018.md].
- Fatura kalemi düzenleyip Kaydet'e basmadan kapatma — kalem eklemesi anında yazılır, başlık değişikliği yazılmaz (kod: kalem
ShowDialog→HasChanged; başlıkFormSave) [SOURCE_CODE:FrmFaturaEkle.vb:114-134] — kaynaklı destek kaydı yok, koddan türetilmiş uyarı.
İlgili ticket temaları
- PRB-FATURA-000; zincir SYM-FATURA.
- Playbook'lar: PB-015, PB-016, PB-018, PB-020.
Müşteri varyasyonları
Döviz tarafında ayrı bir fatura ekran seti vardır (FrmDovFaturaEkranı) [DOCUMENT:kitap#4.6]; bu ekran genel fatura kaydıdır. Kuyumcu/döviz farkı kaynakta görülmedi — bilinen fark yok.
Kim kullanır? Nereden açılır?
- ANA MENÜ ▸ Hesap Yonetimi ▸ Cari Hesaplar ▸ Faturalar
- Liste ekranındaki Ekle/Düzenle:
AIO.Cari.Fatura.FormEditBase→ bu form - Kod içinden açan sınıflar: iScreen
Yaşam döngüsü kanıtı
ACTIVE_CRITICAL — ANA MENÜ: Hesap Yonetimi ▸ Cari Hesaplar ▸ Faturalar; DAO FormEditBase hedefi: AIO.Cari.Fatura; çağıran sınıf: iScreen
Kullanıcı olayları
| Olay | Metot | Dosya:satır |
|---|---|---|
CmbHesap.Validated |
HesapValidate |
FrmFaturaEkle.vb:105 |
BtnEkle.Click |
BtnEkle_Click |
FrmFaturaEkle.vb:114 |
BtnDuzelt.Click |
BtnDuzelt_Click |
FrmFaturaEkle.vb:124 |
BtnIptal.Click |
BtnIptal_Click |
FrmFaturaEkle.vb:154 |
BtnPrint.Click |
BtnPrint_Click |
FrmFaturaEkle.vb:168 |
Okuduğu / yazdığı tablolar (kod içi SQL, statik)
| Tablo | Fiiller |
|---|---|
Cari.GetFaturaDetay ⚠︎ DB'de yok |
SELECT |
Kullandığı DAO / iş sınıfları
AIO.Cari.Fatura, AIO.Cari.Faturadetay
Kullanıcıya gösterilen mesajlar (doğrulama)
- Listede İptal Edilecek Kayıt Yok.
- Lütfen Bir Hesap Seçiniz.
- Lütfen Fatura Nosunu Giriniz.
- Lütfen Fatura Tarihini Giriniz.
- Seçmiş Olduğun Satır İptal Edilecektir. Onaylıyormusunuz?
Bilinen kusurlar / dikkat
- Boş
catchbloğu: 1 — hata yutuluyor (TD-EMPTY-CATCH). - Dinamik SQL: 1 ifade — parametresiz birleştirme riski (TD-DYNAMIC-SQL).
Kaynaklar
SOURCE_CODE:ERPPRO/Form/Fatura/FrmFaturaEkle.Designer.vbSOURCE_CODE:ERPPRO/Form/Fatura/FrmFaturaEkle.vbDERIVED:docs/knowledge-base/screens/FrmFaturaEkle.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).
