sozsoft-platform/configs/seeds/docs/modules/App.Prc.md

169 lines
8.6 KiB
Markdown
Raw Normal View History

2026-10-07 08:17:46 +00:00
# Satınalma (`App.Prc`)
2026-10-07 08:17:46 +00:00
> Menünün altındaki her dal bu dosyada bir bölümdür (`module-doc:section`); dosya ve bölümler ilk deploy'da otomatik açılır. `module-doc:todo` işaretli alt bölümleri modülü üreten kişi ya da AI doldurur (`lowcode.instructions.md` §0.13); MCP ile üretimde talep bu bölümler doldurulmadan Testing'e alınamaz. "Ek — Ekran envanteri" bölümü wizard dosyalarından üretilir, elle düzenlenmez.
2026-10-07 08:17:46 +00:00
<!-- module-doc:section App.Prc.Definitions -->
## Tanımlamalar (`App.Prc.Definitions`)
### 1. Amaç ve kapsam
Satınalma belgelerinde kullanılacak ödeme koşulu, ödeme yöntemi, teslimat koşulu (Incoterm) ve teslim yöntemi tanımları. Kullanıcılar satınalma ve muhasebe personelidir. Satınalma talebi, teklif, sipariş ve fatura belgeleri bu modülün kapsamında değildir; bu ekranlar onların lookup kaynağıdır.
2026-10-07 08:17:46 +00:00
Tedarikçi kartı (eski `App.Prc.Supplier`) satış ve satınalmanın ortak kartı olarak **Kontaklar** adıyla Yönetim › Tanımlamalar'a taşındı; ayrıntı [Administration › Tanımlamalar](<App.Administration.md>). Kontak kartının Satış ve Satınalma sekmeleri bu modülün tanımlarını lookup olarak kullanır.
2026-10-07 08:17:46 +00:00
### 2. Analiz ve kararlar
- Modül kodu `Prc`, tablo öneki `Prc_T_`; ekranlar Satınalma › Tanımlamalar altında.
- Kart, etiket, ilgili kişi ve banka hesabı ekranları Satış tarafı da kullanacağı için `Adm` modülüne (`Adm_T_Contact*`, `App.Definitions.Contact*`) taşındı; bu modülde yalnızca satınalma koşulu tanımları kaldı.
2026-10-07 08:17:46 +00:00
### 3. Menü ve ekranlar
Satınalma (`App.Prc`) › Tanımlamalar (`App.Prc.Definitions`):
| Ekran | Kod | Not |
| --- | --- | --- |
| Ödeme Koşulları | `App.Prc.PaymentTerm` | tanım, demo veri |
| Ödeme Yöntemleri | `App.Prc.PaymentMethod` | tanım, demo veri |
| Teslimat Koşulları | `App.Prc.Incoterm` | tanım, demo veri |
| Teslim Yöntemleri | `App.Prc.DeliveryMethod` | tanım, demo veri |
2026-10-07 08:17:46 +00:00
### 4. Veri modeli
Tüm tablolar kiracı (`TenantId`) + tam audit + soft delete taşır.
- `Prc_T_PaymentTerm` (Name, DueDays, Description, IsActive)
- `Prc_T_PaymentMethod` (Name, Journal, IsActive)
- `Prc_T_Incoterm` (Code, Name, IsActive)
- `Prc_T_DeliveryMethod` (Name, IsActive)
2026-10-07 08:17:46 +00:00
### 5. İş kuralları ve hesaplar
- Tanım lookup'ları yalnızca `IsActive = 1` ve silinmemiş kayıtları listeler; kullanılan tanım silinmek yerine pasife alınır.
- Ödeme koşulu `DueDays` vade gününü tutar; ay sonu kuralları açıklamada yazılıdır, otomatik vade hesabı yoktur.
2026-10-07 08:17:46 +00:00
### 6. Yetki ve görünürlük
Yetki ağacı: `App.Prc` › `App.Prc.Definitions` › her ekran (+ Create/Update/Delete/Export/Import/Note). Tüm ekranlar kiracı kapsamlıdır, şube filtresi yoktur. Widget'lar: her ekranda Toplam · Aktif · Pasif.
2026-10-07 08:17:46 +00:00
### 7. Entegrasyonlar
Yok. Tanımlar Yönetim › Tanımlamalar › Kontaklar'ın Satış ve Satınalma sekmelerinde (`App.Definitions.ContactSales`, `App.Definitions.ContactPurchasing`) seçilir.
2026-10-07 08:17:46 +00:00
### 8. Akış örneği
1. Satınalma › Tanımlamalar › Ödeme Koşulları'nda "30 Gün" aktif durur.
2. Yönetim › Tanımlamalar › Kontaklar'da "Acme Corporation" açılır; Satınalma sekmesinde Düzenle ile Ödeme Koşulu = 30 Gün seçilip kaydedilir.
2026-10-07 08:17:46 +00:00
### 9. Sık sorulanlar
- **Tedarikçiler ekranı nerede?** Yönetim › Tanımlamalar › Kontaklar; müşteri ve tedarikçi aynı karttadır.
- **Pasife alınan tanım kartta görünüyor mu?** Var olan kayıtta değer durur, yeni seçimde listelenmez.
2026-10-07 08:17:46 +00:00
### 10. Dosyalar ve geri alma
- Tablolar: `sql/object/Prc_T_PaymentTerm.sql`, `Prc_T_PaymentMethod.sql`, `Prc_T_Incoterm.sql`, `Prc_T_DeliveryMethod.sql`.
- Wizard'lar: `Prc_PaymentTerm.json`, `Prc_PaymentMethod.json`, `Prc_Incoterm.json`, `Prc_DeliveryMethod.json`.
- Demo veri: `data/App.Prc.{PaymentTerm,PaymentMethod,Incoterm,DeliveryMethod}.json`.
- Geri alma: Kontak sekmeleri bu tanımlara bağlı olduğu için önce kontak tarafındaki seçimler temizlenir; ekranlar `delete_wizard` ile silinir, tablolar yalnızca açık onayla `dropTables: true` ile düşürülür.
<!-- module-doc:auto:begin -->
## Ek — Ekran envanteri (otomatik)
> Wizard dosyalarından üretilir; deploy, silme, tasarımcı kaydı ve import'ta yenilenir. Elle düzenleme bir sonraki yenilemede kaybolur.
2026-10-07 08:17:46 +00:00
### Tanımlamalar (`App.Prc.Definitions`)
#### Ödeme Koşulları — `App.Prc.PaymentTerm`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_PaymentTerm.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.PaymentTerm` (sıra 1) |
| Yetki | `App.Prc.PaymentTerm` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Ödeme Koşulları — tedarikçi kartlarında ve satınalma belgelerinde kullanılan vade tanımları (peşin, 15/30/45 gün, ay sonu, peşinat + bakiye). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_PaymentTerm` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.PaymentTerm.json` |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `DueDays` | Vade (Gün) | dxNumberBox | | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
| `Description` | Açıklama | dxTextArea | | ✓ | |
2026-10-07 08:17:46 +00:00
#### Ödeme Yöntemleri — `App.Prc.PaymentMethod`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_PaymentMethod.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.PaymentMethod` (sıra 2) |
| Yetki | `App.Prc.PaymentMethod` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Ödeme Yöntemleri — tedarikçiye ödemenin nasıl yapılacağı (banka havalesi, çek, nakit kasa, NACHA). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_PaymentMethod` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.PaymentMethod.json` |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `Journal` | Yevmiye | dxTextBox | | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-07 08:17:46 +00:00
#### Teslimat Koşulları — `App.Prc.Incoterm`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_Incoterm.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.Incoterm` (sıra 3) |
| Yetki | `App.Prc.Incoterm` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Teslimat Koşulları — taşıma, sigorta ve riskin kimde olduğunu belirleyen uluslararası teslim şekilleri (EXW, FCA, FAS, FOB, CFR, CIF, CPT, CIP). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_Incoterm` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.Incoterm.json` |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Code` | Kod | dxTextBox | ✓ | ✓ | |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-07 08:17:46 +00:00
#### Teslim Yöntemleri — `App.Prc.DeliveryMethod`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Prc_DeliveryMethod.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.DeliveryMethod` (sıra 4) |
| Yetki | `App.Prc.DeliveryMethod` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Teslim Yöntemleri — malın nasıl teslim edileceği (yerel teslimat, kargo, kurye). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_DeliveryMethod` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.DeliveryMethod.json` |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
<!-- module-doc:auto:end -->