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

361 lines
24 KiB
Markdown
Raw Normal View History

2026-10-07 08:17:46 +00:00
# Yönetim (`App.Administration`)
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.Administration.Definitions -->
## Tanımlamalar (`App.Administration.Definitions`)
> Sektörler, Diziler ve Ölçü Kategorileri wizard ekranı değildir (`ListFormSeeder_Administration`); burada yalnızca menü sırası için anılır.
### 1. Amaç ve kapsam
2026-10-09 11:23:24 +00:00
Satış ve satınalmanın ortak kullandığı **Kontaklar** kartı (müşteri ve tedarikçi; şirket ya da bireysel), onu sınıflandıran **Kontak Etiketleri** ve uygulamadaki tüm onay adımlarının onaycılarını tek yerde tutan **Onaycılar** listesi. İleride yapılacak Satış ve Satınalma belgeleri (teklif, sipariş, fatura) kontağı bu ekrandan seçer; onay akışları onaycıyı Onaycılar'dan okur. Kart başlangıçta Satınalma › Tanımlamalar altında `App.Prc.Supplier` olarak üretildi; satış tarafı da kullanacağı için Yönetim modülüne taşındı.
2026-10-07 08:17:46 +00:00
### 2. Analiz ve kararlar
- Modül `Adm`, tablo öneki `Adm_T_`, kod öneki `App.Definitions.` (Sektörler ile aynı aile). Eski adlardan karşılık: `Prc_T_Supplier` → `Adm_T_Contact`, `Prc_T_SupplierContact` → `Adm_T_ContactPerson`, `Prc_T_SupplierBankAccount` → `Adm_T_ContactBankAccount`, `Prc_T_SupplierTag` → `Adm_T_ContactTag`; alt tablolardaki bağ kolonu `SupplierId` → `ContactId`.
- Ana liste "Kontaklar" olduğu için kartın kişi sekmesi **İlgili Kişiler** (`App.Definitions.ContactPerson`) adını aldı; iki ekranın adı çakışmaz.
- Listede yalnızca firma/şahıs satırları durur; firmada çalışan kişiler İlgili Kişiler sekmesindedir.
- "Adrese dayalı hesaplama" butonu yok (geocoding servisi yok). Enlem/boylam kolonları tabloda durur ama formdan kaldırıldı; ekranda girilmez.
- Hesap planı tablosu olmadığından Alacak/Borç hesabı metin alanıdır; Fiyat Listesi para birimi seçimidir.
- Etiketler `Adm_T_ContactTag` adlarından dxTagBox ile seçilir ve `Tags` kolonunda tutulur.
- Enlem/boylam `decimal(10,7)` yerine `float` açıldı (`create_table` decimal'i 18,4 sabitler, koordinat hassasiyeti kaybolurdu).
- Kart bölümleri (Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe, Notlar) `Adm_T_Contact` satırının kendisini düzenleyen menüsüz `Form` sekmeleridir (ilişki `Id → Id`), Sağlık Kartları'ndaki kalıp. İlgili Kişiler ve Banka Hesapları liste sekmesidir (`Id → ContactId`).
- Satış/Satınalma sekmelerindeki ödeme koşulu, ödeme yöntemi, teslim yöntemi ve Incoterm seçenekleri Satınalma › Tanımlamalar tablolarından (`Prc_T_*`) gelir; bu tanımlar taşınmadı.
- Adres, Kiracılar ekranıyla aynı zinciri kullanır: Ülke › Şehir › İlçe › Mahalle; mahalle seçimi posta kodunu doldurur.
- Logo tek görseldir (`multiple: false`) ve formda 120×120 gösterilir.
- Sektör (`SectorId`) Sektörler ekranının (`App.Definitions.Sector`, `Adm_T_Sector`) kiracıya ait aktif kayıtlarından seçilir. `JobPosition` kolonu tabloda kalır, ekranda yoktur.
2026-10-06 12:36:01 +00:00
- Kontak telefonu (`Phone`) `phoneCountry` biçimindedir: maske seçilen ülkenin kodu ve numara kalıbıyla değişir, `pattern` `^[0-9]{4,15}$`. Ülke alanı olmayan İlgili Kişiler telefonu `phoneGlobal` maskesi ve `^[0-9]{10}$` kuralı taşır; web sitesi `pattern`, e-posta `email` doğrulaması taşır.
2026-10-09 11:23:24 +00:00
Onaylanan analiz (talep "Satınalma Onaycıları"):
- Ekran adı "Onaycılar" (`App.Definitions.Approver`, `Adm_T_Approver`): başlık "Satınalma Onaycıları" olsa da açıklama tüm onayların burada toplanacağını söyler.
- Onaycı departman + onay yeri bazındadır; platform tablosu `Hr_T_Department`'a kolon eklenmez (entity tablosu, çerçeve dışı).
- Onay Yeri seçenekleri: Satınalma (`Purchase`), Depo (`Warehouse`), İnsan Kaynakları (`HumanResources`), Finans (`Finance`) (onaylı).
- Şube kolonu tutulmaz; departmandan gelir. Demo veri yazılmadı (departman/kullanıcı Id'leri kiracıya özgü).
2026-10-07 08:17:46 +00:00
### 3. Menü ve ekranlar
Yönetim (`App.Administration`) › Tanımlamalar (`App.Administration.Definitions`):
| Sıra | Ekran | Kod | Not |
| --- | --- | --- | --- |
| 1 | Sektörler | `App.Definitions.Sector` | kod seed'i |
| 2 | Kontaklar | `App.Definitions.Contact` | ana kart; sekmeler: Satış (`App.Definitions.ContactSales`), Satınalma (`App.Definitions.ContactPurchasing`), Mali Bilgi ve Diğer (`App.Definitions.ContactFinancial`), Muhasebe (`App.Definitions.ContactAccounting`), Notlar (`App.Definitions.ContactNotes`), İlgili Kişiler (`App.Definitions.ContactPerson`), Banka Hesapları (`App.Definitions.ContactBankAccount`) — hepsi menüsüz |
| 3 | Kontak Etiketleri | `App.Definitions.ContactTag` | tanım, demo veri |
| 4 | Diziler | `App.Definitions.Sequence` | kod seed'i |
| 5 | Ölçü Kategorileri | `App.Definitions.UomCategory` | kod seed'i |
2026-10-09 11:23:24 +00:00
| 6 | Onaycılar | `App.Definitions.Approver` | tanım; onay akışlarının onaycı kaynağı |
2026-10-07 08:17:46 +00:00
### 4. Veri modeli
Tüm tablolar kiracı (`TenantId`) + tam audit + soft delete taşır.
- `Adm_T_ContactTag` (Name, Color, IsActive)
- `Adm_T_Contact` — kimlik/adres (Country, City, District, Township, PostalCode)/vergi, satış ve satınalma koşulları (`Prc_T_*` tanım tablolarına Id ile), kullanıcılar (`AbpUsers`), para birimi (`Sas_H_Currency.Name`), sektör (`Adm_T_Sector`), dil (`Sas_H_Language.CultureName`), muhasebe alanları, Latitude/Longitude (float), Notes (HTML, nvarchar(MAX)), IsActive.
- `Adm_T_ContactPerson` (ContactId → `Adm_T_Contact.Id`, Photo, Name, JobTitle, Email, Phone, Mobile, Notes)
- `Adm_T_ContactBankAccount` (ContactId → `Adm_T_Contact.Id`, BankName, Iban, AccountHolder, Currency, IsDefault)
2026-10-09 11:23:24 +00:00
- `Adm_T_Approver` (DepartmentId → `Hr_T_Department.Id` FK, ApprovalArea nvarchar(32) DEFAULT 'Purchase', ApproverUserId → `AbpUsers`, IsActive); tekil `TenantId + DepartmentId + ApprovalArea + ApproverUserId`.
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.
- Ülke › İl › İlçe › Mahalle cascade: üst alan değişince alttakiler temizlenir; mahalle seçilince posta kodu `copy` tarifiyle dolar.
- Ana form yalnızca kimlik + adres alanlarını taşır. Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe ve Notlar sekmelerinde yalnızca düzenleme açıktır; yeni kontak önce ana formdan eklenir, sekmeler kayıttan sonra açılır.
- IBAN doğrulaması: `^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$` (boşluksuz, büyük harf).
- Yeni kayıtta Tür = Şirket, Grup Teklif Talebi = Sipariş Üzerine, Fatura onayı = 3 doğrulamadan sonra sor varsayılanları tablodan gelir.
2026-10-09 11:23:24 +00:00
- **Onaycılar:** aynı departman ve onay yerine birden çok onaycı girilebilir; akış bunları `|` ile birleştirir ve herhangi birinin onayını kabul eder. Pasif satırlar akışta kullanılmaz. Departman lookup'ı aktif şubelerin departmanlarını "Şube - Departman" olarak, onaycı lookup'ı aktif kullanıcıları ad soyad ile listeler. Yeni satırda Onay Yeri = Satınalma, Aktif = evet.
2026-10-07 08:17:46 +00:00
### 6. Yetki ve görünürlük
2026-10-09 11:23:24 +00:00
Yetki ağacı: `App.Administration` grubu › `App.Administration.Definitions` › `App.Definitions.Contact` (sıra 2), `App.Definitions.ContactTag` (sıra 3) ve `App.Definitions.Approver`, her biri + Create/Update/Delete/Export/Import/Note. Alt formların yetkisi `App.Definitions.Contact` altındadır: Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe, Notlar (7–11), İlgili Kişiler (12), Banka Hesapları (13). `Modules = Sas|Adm`, `MultiTenancySide = Both`. Yetkiler hiçbir role otomatik atanmaz. Onaycılar'ın yazma yetkisi yalnız yöneticilerde olmalıdır; akışlar tabloyu ekran yetkisi olmadan okur. Widget'lar: Kontaklar, Kontak Etiketleri ve Onaycılar'da Toplam · Aktif · Pasif; alt formlarda widget yok.
2026-10-07 08:17:46 +00:00
### 7. Entegrasyonlar
2026-10-09 17:54:08 +00:00
Dış entegrasyon yok. Ülke/Şehir/İlçe, Para Birimi, Dil, Sektör, Kullanıcılar, Departmanlar, Şubeler ve Satınalma tanımları yalnızca okunur. Onaycılar'ı Satınalma › Satınalma Talepleri departman onayı (`ApprovalArea = 'Purchase'`) okuyacaktır; diğer onay yerleri ilgili modüllerin akışları için hazırdır.
2026-10-07 08:17:46 +00:00
### 8. Akış örneği
1. Yönetim › Tanımlamalar › Kontak Etiketleri'nde "Vendor" aktif durur.
2. Kontaklar'da "Acme Corporation" eklenir, Etiketler kutusundan Vendor seçilir.
3. Satınalma sekmesinde Düzenle ile Ödeme Koşulu = 30 Gün seçilir.
4. İlgili Kişiler sekmesinde Addison Olson eklenir; `ContactId` kartın Id'sinden yazılır.
5. Banka Hesapları sekmesinde IBAN girilir ve Varsayılan işaretlenir.
2026-10-09 11:23:24 +00:00
6. Onaycılar'da "Branch1 - Yönetim" departmanı için Onay Yeri = Satınalma, Onaylayacak Kişi = BT eklenir; bu departmanın malzeme talepleri BT'nin onayına düşer.
2026-10-07 08:17:46 +00:00
### 9. Sık sorulanlar
- **Tedarikçiler ekranı nereye gitti?** Bu ekrandır; müşteri ve tedarikçi aynı Kontaklar kartında tutulur.
- **Kişiler neden listede ayrı satır değil?** Kişi kontak değildir; kartın İlgili Kişiler sekmesindedir.
- **Yeni kontakta Satış/Satınalma sekmeleri neden yok?** Sekmeler kaydın kendisini düzenler; kayıt ana formdan eklendikten sonra görünür.
- **Sekme "Kayıt Bulunamadı" gösteriyor.** Kullanıcının o sekmenin okuma yetkisi yoktur (`App.Definitions.ContactSales` vb.); yetkiler rol ekranından verilir.
2026-10-09 11:23:24 +00:00
- **Aynı kişiyi aynı departmana ikinci kez ekleyemiyorum.** Departman + onay yeri + kişi tekildir; mevcut satırı aktifleştirin.
- **Departmana onaycı tanımlanmadıysa ne olur?** Onaycı okuyan akış kaydı durdurur; boş onaycı herkese onay yetkisi verirdi.
2026-10-07 08:17:46 +00:00
### 10. Dosyalar ve geri alma
2026-10-09 11:23:24 +00:00
- Tablolar: `sql/object/Adm_T_Contact.sql`, `Adm_T_ContactPerson.sql`, `Adm_T_ContactBankAccount.sql`, `Adm_T_ContactTag.sql`, `Adm_T_Approver.sql`.
- Wizard'lar: `Adm_ContactTag.json`, `Adm_ContactPerson.json`, `Adm_ContactBankAccount.json`, `Adm_ContactSales.json`, `Adm_ContactPurchasing.json`, `Adm_ContactFinancial.json`, `Adm_ContactAccounting.json`, `Adm_ContactNotes.json`, `Adm_Contact.json`, `Adm_Approver.json`.
- Demo veri: `data/App.Definitions.{ContactTag,Contact}.json`.
- Geri alma: önce `Adm_Contact.json`, sonra alt formlar ve `Adm_ContactTag.json` `delete_wizard` ile silinir; `Adm_Approver.json` bağımsızdır ama onu okuyan akışlar önce kaldırılmalıdır. 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.Administration.Definitions`)
#### Kontaklar — `App.Definitions.Contact`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_Contact.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Administration.Definitions` › `App.Definitions.Contact` (sıra 2) |
| Yetki | `App.Definitions.Contact` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontaklar — satış ve satınalmanın ortak kullandığı şirket ya da bireysel kartlar (müşteri ve tedarikçiler): kimlik, adres, vergi no ve iletişim bilgileri. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_Contact` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alt formlar | `App.Definitions.ContactSales` (Id → Id), `App.Definitions.ContactPurchasing` (Id → Id), `App.Definitions.ContactFinancial` (Id → Id), `App.Definitions.ContactAccounting` (Id → Id), `App.Definitions.ContactNotes` (Id → Id), `App.Definitions.ContactPerson` (Id → ContactId), `App.Definitions.ContactBankAccount` (Id → ContactId) |
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
2026-10-07 08:17:46 +00:00
| Form varsayılanları | Country=Türkiye, IsActive=true |
| Veri aynası | `data/App.Definitions.Contact.json` |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Logo` | Logo | dxImageUpload | | ✓ | |
| `Name` | Adı | dxTextBox | ✓ | ✓ | |
| `CompanyType` | Tür | dxSelectBox | ✓ | ✓ | liste: Company, Individual |
| `Email` | E-Posta | dxTextBox | | ✓ | |
| `Phone` | Telefon | dxTextBox | | ✓ | |
| `Country` | Ülke | dxSelectBox | | ✓ | sorgu: Sas_H_Country |
| `City` | İl / Eyalet | dxSelectBox | | ✓ | sorgu: Sas_H_City (← Country) |
| `District` | Semt / İlçe | dxSelectBox | | ✓ | sorgu: Sas_H_District (← Country,City) |
| `PostalCode` | Posta Kodu | dxTextBox | | ✓ | |
| `TaxNumber` | Vergi Kimlik Numarası | dxTextBox | | ✓ | |
| `TaxOffice` | Vergi Dairesi | dxTextBox | | ✓ | |
| `Address1` | Adres | dxTextBox | | ✓ | |
| `Address2` | Adres 2 | dxTextBox | | ✓ | |
| `SectorId` | Sektör | dxSelectBox | | ✓ | sorgu: Adm_T_Sector |
| `Website` | Websitesi | dxTextBox | | ✓ | |
| `CultureName` | Dil | dxSelectBox | | ✓ | sorgu: Sas_H_Language |
| `Tags` | Etiketler | dxTagBox | | ✓ | sorgu: Adm_T_ContactTag |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-07 08:17:46 +00:00
#### Kontak Etiketleri — `App.Definitions.ContactTag`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactTag.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Administration.Definitions` › `App.Definitions.ContactTag` (sıra 3) |
| Yetki | `App.Definitions.ContactTag` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontak Etiketleri — kontakları sınıflandırmak için kullanılan etiketler (Vendor, Müşteri, Desk Manufacturers, Ofis Malzemeleri…). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_ContactTag` · 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.Definitions.ContactTag.json` |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `Color` | Renk | dxColorBox | | ✓ | |
2026-10-09 11:23:24 +00:00
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
#### Onaycılar — `App.Definitions.Approver`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_Approver.json` |
2026-10-09 11:23:24 +00:00
| Yol | Liste (Wizard) |
| Menü | `App.Administration.Definitions` › `App.Definitions.Approver` (sıra 6) |
| Yetki | `App.Definitions.Approver` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Onaycılar — uygulamadaki tüm onay adımlarında her departman için kimin onaylayacağını tutan tek liste. |
2026-10-09 17:54:08 +00:00
| Geliştirme talebi | Satınalma -> Satınalma Talepleri |
2026-10-09 11:23:24 +00:00
| Kaynak | `Adm_T_Approver` · 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` |
| Form varsayılanları | ApprovalArea=Purchase, IsActive=true |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
2026-10-09 17:02:27 +00:00
| `ApprovalArea` | Onay Yeri | dxSelectBox | ✓ | ✓ | liste: Purchase, PurchaseDesk, Warehouse, HumanResources, Finance |
2026-10-09 11:23:24 +00:00
| `ApproverUserId` | Onaylayacak Kişi | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
2026-10-07 08:17:46 +00:00
#### İlgili Kişiler — `App.Definitions.ContactPerson`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactPerson.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Definitions.ContactPerson` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | İlgili Kişiler — kontak firmada çalışan kişiler (satış temsilcisi, danışman, analist…). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_ContactPerson` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `ContactId` | Kontak | dxSelectBox | | | sorgu: Adm_T_Contact |
| `Photo` | Fotoğraf | dxImageUpload | | ✓ | |
| `Name` | Ad Soyad | dxTextBox | ✓ | ✓ | |
| `JobTitle` | Görev | dxTextBox | | ✓ | |
| `Email` | E-Posta | dxTextBox | | ✓ | |
| `Phone` | Telefon | dxTextBox | | ✓ | |
| `Mobile` | Cep Telefonu | dxTextBox | | ✓ | |
| `Notes` | Notlar | dxTextArea | | ✓ | |
2026-10-07 08:17:46 +00:00
#### Banka Hesapları — `App.Definitions.ContactBankAccount`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactBankAccount.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Definitions.ContactBankAccount` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontak Banka Hesapları — kontağın ödeme ve tahsilatta kullanılan IBAN'ları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_ContactBankAccount` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
| Kapsam | Kiracı |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `ContactId` | Kontak | dxSelectBox | | | sorgu: Adm_T_Contact |
| `BankName` | Banka | dxTextBox | | ✓ | |
| `Iban` | IBAN | dxTextBox | ✓ | ✓ | |
| `AccountHolder` | Hesap Sahibi | dxTextBox | | ✓ | |
| `Currency` | Para Birimi | dxSelectBox | | ✓ | sorgu: Sas_H_Currency |
| `IsDefault` | Varsayılan | dxCheckBox | | ✓ | |
2026-10-07 08:17:46 +00:00
#### Kontak Muhasebe — `App.Definitions.ContactAccounting`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactAccounting.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Definitions.ContactAccounting` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontak Muhasebe — kontak kartının muhasebe ayarları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_Contact` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
| Kapsam | Kiracı |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `ReceivableAccount` | Alacak Hesabı | dxTextBox | | ✓ | |
| `PayableAccount` | Borç Hesabı | dxTextBox | | ✓ | |
| `InvoiceAutoApprove` | Faturaları Otomatik Onayla | dxSelectBox | | ✓ | liste: Never, AfterThree, Always |
| `PaymentQrType` | Ödeme QR Kodu | dxSelectBox | | ✓ | liste: None, Sepa, Emv |
2026-10-07 08:17:46 +00:00
#### Kontak Mali Bilgi ve Diğer — `App.Definitions.ContactFinancial`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactFinancial.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Definitions.ContactFinancial` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontak Mali Bilgi ve Diğer — kontak kartının mali durumu ve diğer tanımlayıcıları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_Contact` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
| Kapsam | Kiracı |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `FinancialStatus` | Mali Durum | dxSelectBox | | ✓ | liste: Good, Watch, Risky |
| `Reference` | Referans | dxTextBox | | ✓ | |
| `Barcode` | Barkod | dxTextBox | | ✓ | |
2026-10-07 08:17:46 +00:00
#### Kontak Notları — `App.Definitions.ContactNotes`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactNotes.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Definitions.ContactNotes` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontak Notları — kontak kartında tutulan serbest notlar. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_Contact` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
| Kapsam | Kiracı |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Notes` | Notlar | dxHtmlEditor | | ✓ | |
2026-10-07 08:17:46 +00:00
#### Kontak Satınalma — `App.Definitions.ContactPurchasing`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactPurchasing.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Definitions.ContactPurchasing` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontak Satınalma — kontak kartının satınalma tarafındaki koşulları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_Contact` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
| Kapsam | Kiracı |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `RfqGrouping` | Grup Teklif Talebi | dxSelectBox | ✓ | ✓ | liste: OnOrder, Weekly, Always |
| `BuyerUserId` | Alıcı | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `PurchasePaymentTermId` | Ödeme Koşulları (Satınalma) | dxSelectBox | | ✓ | sorgu: Prc_T_PaymentTerm |
| `PurchasePaymentMethodId` | Ödeme Yöntemi (Satınalma) | dxSelectBox | | ✓ | sorgu: Prc_T_PaymentMethod |
| `ReceiptReminder` | Alım Hatırlatıcısı | dxSwitch | | ✓ | |
| `ReminderDaysBefore` | Günler Önce Alındı | dxNumberBox | | ✓ | |
| `SupplierCurrency` | Tedarikçi Para Birimi | dxSelectBox | | ✓ | sorgu: Sas_H_Currency |
| `PurchaseIncotermId` | Teslimat Koşulu (Satınalma) | dxSelectBox | | ✓ | sorgu: Prc_T_Incoterm |
| `PurchaseIncotermLocation` | Incoterm Konumu (Satınalma) | dxTextBox | | ✓ | |
2026-10-07 08:17:46 +00:00
#### Kontak Satış — `App.Definitions.ContactSales`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Adm_ContactSales.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Definitions.ContactSales` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Kontak Satış — kontak kartının satış tarafındaki ticari koşulları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Adm_T_Contact` · filtre `"IsDeleted" = 'false'` |
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
| Düzenleme | ekle ✗ · düzenle ✓ · sil ✗ · popup |
| Kapsam | Kiracı |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `SalesUserId` | Satış Temsilcisi | dxSelectBox | | ✓ | sorgu: AbpUsers |
| `SalesCurrency` | Fiyat Listesi | dxSelectBox | | ✓ | sorgu: Sas_H_Currency |
| `SalesPaymentTermId` | Ödeme Koşulları (Satış) | dxSelectBox | | ✓ | sorgu: Prc_T_PaymentTerm |
| `SalesPaymentMethodId` | Ödeme Yöntemi (Satış) | dxSelectBox | | ✓ | sorgu: Prc_T_PaymentMethod |
| `DeliveryMethodId` | Teslim Yöntemi | dxSelectBox | | ✓ | sorgu: Prc_T_DeliveryMethod |
| `SalesIncotermId` | Teslimat Koşulu (Satış) | dxSelectBox | | ✓ | sorgu: Prc_T_Incoterm |
| `SalesIncotermLocation` | Incoterm Konumu (Satış) | dxTextBox | | ✓ | |
<!-- module-doc:auto:end -->