Supplier yerine Kontak şeklinde değiştirildi

This commit is contained in:
Sedat ÖZTÜRK 2026-10-06 12:35:09 +03:00
parent 9e83d6dabe
commit 68dd9b28e6
24 changed files with 1985 additions and 1855 deletions

View file

@ -1311,6 +1311,8 @@ ekranları ABP tablolarıdır, Licence/Dev Request host tablolarını okur.
| Ekran | Kod / route | Tablo | Komponent üretirken ne işe yarar |
| --- | --- | --- | --- |
| **Definitions › Sector** | `App.Definitions.Sector` | `Adm_T_Sector` | Sektör lookup’ı. Veri `data/App.Definitions.Sector.json`'dan seed edilir. |
| **Definitions › Contacts** | `App.Definitions.Contact` (menüsüz sekmeler `.ContactSales`, `.ContactPurchasing`, `.ContactFinancial`, `.ContactAccounting`, `.ContactNotes`, `.ContactPerson`, `.ContactBankAccount`) | `Adm_T_Contact` · `Adm_T_ContactPerson` · `Adm_T_ContactBankAccount` | Satış ve satınalmanın ortak müşteri/tedarikçi kartı; belge ekranlarında cari lookup'ı buradan alınır (`IsActive = 1`, `TenantId = '@TENANTID'`). Wizard ekranıdır, ayrıntı `configs/seeds/docs/modules/AdministrationDefinitions.md`. Seed `data/App.Definitions.Contact.json`. |
| **Definitions › Contact Tags** | `App.Definitions.ContactTag` | `Adm_T_ContactTag` | Kontak sınıflandırma etiketleri; Kontaklar'ın `Tags` alanı (`dxTagBox`) buradan seçer. Seed `data/App.Definitions.ContactTag.json`. |
| **Definitions › Sequence** | `App.Definitions.Sequence` | `Adm_T_Sequence` | Belge numarası üretimi (`lowcode` §9.9); alan varsayılanında `CustomValueType: 5` ile bağlanır. Entity `IMultiTenant`'tır; ekran `IsTenant = true`, yetkiler `MultiTenancySide = Both` — her kiracı kendi numaratörlerini tutar. Seed `data/App.Definitions.Sequence.json`. |
| **Definitions › UoM Category** | `App.Definitions.UomCategory` (alt form `.Uom`) | `Adm_T_UomCategory` · `Adm_T_Uom` | Ölçü birimi, `Ratio`/`Rounding` — miktar alanı olan ekranlarda birim lookup'ı ve çevrim. Entity'ler `IMultiTenant`'tır; ekranlar `IsTenant = true`, yetkiler `MultiTenancySide = Both`. Seed `data/App.Definitions.{UomCategory,Uom}.json`. |
| **Licence** | `App.Licence` · `/admin/form/App.Licence` | `AbpTenants` + `V_Sas_H_OrderItem_ByTenantId` | **`ListFormType = Form`** (listesiz, tek kayıtlık ekran) + alt kalem listesi. "Tek kayıtlık kart ekran" isteğinin karşılığı budur. |

View file

@ -2006,7 +2006,7 @@ Wizard Manager'daki talep silmesini kullanır.
`AllowDeleting` istek açıkça istemedikçe kapalıdır. Sekme okuma yetkisi olmayan kullanıcıda da
"kayıt bulunamadı" gösterir; yeni alt formun yetkisi role verilmeden sekme boş görünür.
- **Aynı satırı sekmelere bölmek (`Id → Id`):** Kalabalık bir kartın bölümleri (Sağlık Kartları,
Tedarikçiler'in Satış / Satınalma / Muhasebe… sekmeleri) ana ekranla **aynı tabloya** bağlı,
Kontaklar'ın Satış / Satınalma / Muhasebe… sekmeleri) ana ekranla **aynı tabloya** bağlı,
menüsüz `Form` sekmeleridir; her biri yalnızca kendi alanlarını taşır, ilişki `Id → Id`'dir. Satır
ana ekrandan eklendiği için bu sekmelerde yalnızca `AllowUpdating` açıktır — `AllowAdding` ve
`AllowDeleting` kapalı yazılır (eklemek tabloya ikinci bir ana kayıt açardı). Taşınan alanlar ana

View file

@ -1265,7 +1265,8 @@ başlığındaki ⓘ simgesi ise ekranın kendi ayrıntılı açıklamasını g
| Olay Günlüğü | İK › Olay Günlüğü (`App.Hr.EventLog`) | [HrEventLog.md](configs/seeds/docs/modules/HrEventLog.md) |
| Personel Kaydı (özlük, sözleşme, eğitim, aile, mali bilgiler) | Kimlik › Kullanıcılar › detay | [HrPersonnel.md](configs/seeds/docs/modules/HrPersonnel.md) |
| Intranet (pano, duyuru, anket, sosyal duvar, etkinlik, doküman, mesajlaşma) | İK › Intranet (`App.Hr.Intranet`) | [HrIntranet.md](configs/seeds/docs/modules/HrIntranet.md) |
| Satınalma Tanımlamaları (ödeme/teslimat koşulları, tedarikçi kartı ve sekmeleri) | Satınalma › Tanımlamalar (`App.Prc.Definitions`) | [PrcDefinitions.md](configs/seeds/docs/modules/PrcDefinitions.md) |
| Satınalma Tanımlamaları (ödeme/teslimat koşulları, ödeme/teslim yöntemleri) | Satınalma › Tanımlamalar (`App.Prc.Definitions`) | [PrcDefinitions.md](configs/seeds/docs/modules/PrcDefinitions.md) |
| Kontaklar (satış ve satınalmanın ortak müşteri/tedarikçi kartı ve sekmeleri, kontak etiketleri) | Yönetim › Tanımlamalar (`App.Administration.Definitions`) | [AdministrationDefinitions.md](configs/seeds/docs/modules/AdministrationDefinitions.md) |
---

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
{
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"KeyFieldName": "Id",
"GeneratedAt": "2026-10-05T19:17:49.447001Z",
"Order": 0,
@ -98,7 +98,7 @@
"SectorId": "53c6da43-c8cb-56e1-b9d2-6cad7e3056ed",
"Website": "",
"CultureName": null,
"Tags": "",
"Tags": "Desk Manufacturers|Office Supplies",
"IsActive": true
},
{

View file

@ -1,5 +1,5 @@
{
"ListFormCode": "App.Prc.SupplierTag",
"ListFormCode": "App.Definitions.ContactTag",
"KeyFieldName": "Id",
"GeneratedAt": "2026-10-05T19:15:40.5102342Z",
"Order": 0,

View file

@ -17103,14 +17103,14 @@
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Definitions.ContactTag",
"Value": "Contact Tag"
"Value": "Contact Tags"
},
{
"Id": "e398aeba-975a-51e8-9cf4-ddadb13f9ab5",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Definitions.ContactTag",
"Value": "İletişim Etiketi"
"Value": "Kontak Etiketleri"
},
{
"Id": "0576267d-35ad-5c6b-9e97-9b1b126cd946",
@ -38532,6 +38532,20 @@
"Key": "App.Listform.ListformField.SupplierTypeId",
"Value": "Tedarikçi Türü"
},
{
"Id": "0d6b2b3b-c9fa-502f-930c-58150668ffd9",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Listform.ListformField.ContactId",
"Value": "Contact"
},
{
"Id": "7171d011-fd58-55c9-99c4-d667ceddd88c",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Listform.ListformField.ContactId",
"Value": "Kontak"
},
{
"Id": "960c425c-e642-522d-ba29-36c488f7e873",
"CultureName": "en",
@ -72109,14 +72123,14 @@
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Listform.ListformField.FullName",
"Value": "Doctor Full Name"
"Value": "Full Name"
},
{
"Id": "f21d41a9-cbbc-5a9f-bf20-0b0b0de7d161",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Listform.ListformField.FullName",
"Value": "Doktor Adı Soyadı"
"Value": "Adı Soyadı"
},
{
"Id": "9f591c87-1373-5cbf-85a9-c503d42d2ae3",
@ -86035,88 +86049,74 @@
"Value": "Teslim Yöntemleri — malın nasıl teslim edileceği (yerel teslimat, kargo, kurye).\nNerede: Satınalma › Tanımlamalar › Teslim Yöntemleri.\nAlanlar: ad, aktif.\nKullanıldığı yer: Tedarikçiler › Satış & Satınalma sekmesinin Satış bölümünde teslim yöntemi olarak seçilir. Pasif yöntemler lookup'ta görünmez."
},
{
"Id": "19f94034-f3dd-5bec-bbeb-1778a1c4dd99",
"Id": "1c759308-1fa2-5da2-983e-d4217b18f898",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierTag",
"Value": "Supplier Tags"
"Key": "App.Definitions.ContactTag.Title",
"Value": "Contact Tags"
},
{
"Id": "6506313d-6a19-58d1-bb0f-5839f2286d49",
"Id": "17541404-b6c9-57b4-83ab-99eef29bddfd",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierTag",
"Value": "Tedarikçi Etiketleri"
"Key": "App.Definitions.ContactTag.Title",
"Value": "Kontak Etiketleri"
},
{
"Id": "d074261a-cc9c-568a-9a9e-51d8cc212c26",
"Id": "c59897ee-95be-5f5e-b0a7-f020b5eb3048",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierTag.Title",
"Value": "Supplier Tags"
"Key": "App.Definitions.ContactTag.Desc",
"Value": "Contact Tags — labels used to classify contacts (Vendor, Customer, Desk Manufacturers, Office Supplies…).\nWhere: Administration › Definitions › Contact Tags.\nFields: name, color, active.\nUsed by: Contacts › Tags field (multi-select tag box); tags can be used to filter and group contacts."
},
{
"Id": "bad72e6e-0224-535b-91cf-f6fec81faca2",
"Id": "6a5fa9b0-2bf5-5b43-8757-37f2c09645e4",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierTag.Title",
"Value": "Tedarikçi Etiketleri"
"Key": "App.Definitions.ContactTag.Desc",
"Value": "Kontak Etiketleri — kontakları sınıflandırmak için kullanılan etiketler (Vendor, Müşteri, Desk Manufacturers, Ofis Malzemeleri…).\nNerede: Yönetim › Tanımlamalar › Kontak Etiketleri.\nAlanlar: ad, renk, aktif.\nKullanıldığı yer: Kontaklar ekranındaki Etiketler alanında çoklu seçilir; kontakları süzmek ve gruplamak için kullanılır."
},
{
"Id": "0a65880c-d5b9-5ca0-8210-19b2280bbfe0",
"Id": "5f98f77b-8ed2-55ac-a677-d5d583940d18",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierTag.Desc",
"Value": "Supplier Tags — labels used to classify suppliers (Vendor, Desk Manufacturers, Office Supplies…).\nWhere: Purchasing › Definitions › Supplier Tags.\nFields: name, color, active.\nUsed by: Suppliers › Tags field (multi-select tag box); tags can be used to filter and group suppliers."
"Key": "App.Definitions.ContactPerson",
"Value": "Contact Persons"
},
{
"Id": "c27b7441-e7f9-5fb3-8ae8-52b481cd1909",
"Id": "20626262-f0bd-5cb1-9116-5f61ea7b70a6",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierTag.Desc",
"Value": "Tedarikçi Etiketleri — tedarikçileri sınıflandırmak için kullanılan etiketler (Vendor, Desk Manufacturers, Ofis Malzemeleri…).\nNerede: Satınalma › Tanımlamalar › Tedarikçi Etiketleri.\nAlanlar: ad, renk, aktif.\nKullanıldığı yer: Tedarikçiler ekranındaki Etiketler alanında çoklu seçilir; tedarikçileri süzmek ve gruplamak için kullanılır."
"Key": "App.Definitions.ContactPerson",
"Value": "İlgili Kişiler"
},
{
"Id": "c2319c63-1766-593b-a0fb-e3885eeab862",
"Id": "0dd74c4f-8a47-541e-9bd5-0e97a9127c12",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierContact",
"Value": "Contacts"
"Key": "App.Definitions.ContactPerson.Title",
"Value": "Contact Persons"
},
{
"Id": "33c9ae9b-3a05-58a1-82d0-7fe0e278ad08",
"Id": "f982a936-c41a-59cf-8243-15d1dbd3d94f",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierContact",
"Value": "Kontakları"
"Key": "App.Definitions.ContactPerson.Title",
"Value": "İlgili Kişiler"
},
{
"Id": "737e8ebb-00a8-5dfa-9e22-463590c5adab",
"Id": "dbbb2000-d1d8-559b-a821-c384b52f5711",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierContact.Title",
"Value": "Contacts"
"Key": "App.Definitions.ContactPerson.Desc",
"Value": "Contact Persons — people working at the contact company (sales representative, consultant, analyst…).\nWhere: Administration › Definitions › Contacts › Contact Persons tab (no menu of its own).\nFields: photo, name, job title, e-mail, phone, mobile, notes.\nThe contact link (ContactId) is filled automatically from the open contact card."
},
{
"Id": "381d1631-5df9-5303-9110-99a7f9040578",
"Id": "5127c570-0d8d-505b-9e36-2fdadf39f575",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierContact.Title",
"Value": "Kontaklar"
},
{
"Id": "1a094f26-e5ca-5a26-92df-6878b73ae7fd",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierContact.Desc",
"Value": "Supplier Contacts — people working at the supplier (sales representative, consultant, analyst…).\nWhere: Purchasing › Definitions › Suppliers › Contacts tab (no menu of its own).\nFields: photo, name, job title, e-mail, phone, mobile, notes.\nThe supplier link (SupplierId) is filled automatically from the open supplier card."
},
{
"Id": "9fdb92a2-8d86-5b2d-b636-9ad8a686e61e",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierContact.Desc",
"Value": "Tedarikçi Kontakları — tedarikçi firmada çalışan kişiler (satış temsilcisi, danışman, analist…).\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Kontaklar sekmesi (kendi menüsü yoktur).\nAlanlar: fotoğraf, ad soyad, görev, e-posta, telefon, cep telefonu, notlar.\nTedarikçi bağlantısı (SupplierId) açık olan tedarikçi kartından otomatik yazılır."
"Key": "App.Definitions.ContactPerson.Desc",
"Value": "İlgili Kişiler — kontak firmada çalışan kişiler (satış temsilcisi, danışman, analist…).\nNerede: Yönetim › Tanımlamalar › Kontaklar › İlgili Kişiler sekmesi (kendi menüsü yoktur).\nAlanlar: fotoğraf, ad soyad, görev, e-posta, telefon, cep telefonu, notlar.\nKontak bağlantısı (ContactId) açık olan kontak kartından otomatik yazılır."
},
{
"Id": "cf016f45-969f-52fb-ae3e-7d91072d3eb9",
@ -86161,46 +86161,46 @@
"Value": "Cep Telefonu"
},
{
"Id": "23d7c83d-bd81-5d98-9606-a3df42677d6d",
"Id": "a2166853-bcc4-589d-b4c6-3f53840e495b",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierBankAccount",
"Key": "App.Definitions.ContactBankAccount",
"Value": "Bank Accounts"
},
{
"Id": "6ce9719b-588a-5507-bae8-46dd334bbf52",
"Id": "0523be8c-c3e3-596d-96ff-439760951dda",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierBankAccount",
"Key": "App.Definitions.ContactBankAccount",
"Value": "Banka Hesapları"
},
{
"Id": "336deff0-2113-59e6-9a87-a9ab9d125b13",
"Id": "be2be537-0d10-5887-a818-81abe86e4766",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierBankAccount.Title",
"Key": "App.Definitions.ContactBankAccount.Title",
"Value": "Bank Accounts"
},
{
"Id": "f6dbcc27-b0e9-5a66-a422-8c1731f6435b",
"Id": "978e2f3b-aede-5adc-82f2-2bd1c345f99b",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierBankAccount.Title",
"Key": "App.Definitions.ContactBankAccount.Title",
"Value": "Banka Hesapları"
},
{
"Id": "64ce659d-4fba-5814-b77e-ad416ef832b0",
"Id": "e234a66b-3d44-5d7d-abb8-7cc31d9fc1cf",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierBankAccount.Desc",
"Value": "Supplier Bank Accounts — IBANs the supplier is paid to.\nWhere: Purchasing › Definitions › Suppliers › Bank Accounts tab (no menu of its own).\nFields: bank name, IBAN (15–34 characters, no spaces), account holder, currency, default account.\nThe supplier link (SupplierId) is filled automatically from the open supplier card."
"Key": "App.Definitions.ContactBankAccount.Desc",
"Value": "Contact Bank Accounts — IBANs of the contact used for payments and collections.\nWhere: Administration › Definitions › Contacts › Bank Accounts tab (no menu of its own).\nFields: bank name, IBAN (15–34 characters, no spaces), account holder, currency, default account.\nThe contact link (ContactId) is filled automatically from the open contact card."
},
{
"Id": "8cf3d6f9-9350-5767-a818-cebfbbf7b16d",
"Id": "2f871dd9-31c4-5c77-af63-e856fe41a6c6",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierBankAccount.Desc",
"Value": "Tedarikçi Banka Hesapları — tedarikçiye ödeme yapılan IBAN'lar.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Banka Hesapları sekmesi (kendi menüsü yoktur).\nAlanlar: banka adı, IBAN (15–34 karakter, boşluksuz büyük harf), hesap sahibi, para birimi, varsayılan hesap.\nTedarikçi bağlantısı (SupplierId) açık olan tedarikçi kartından otomatik yazılır."
"Key": "App.Definitions.ContactBankAccount.Desc",
"Value": "Kontak Banka Hesapları — kontağın ödeme ve tahsilatta kullanılan IBAN'ları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Banka Hesapları sekmesi (kendi menüsü yoktur).\nAlanlar: banka adı, IBAN (15–34 karakter, boşluksuz büyük harf), hesap sahibi, para birimi, varsayılan hesap.\nKontak bağlantısı (ContactId) açık olan kontak kartından otomatik yazılır."
},
{
"Id": "3d15fbeb-3d28-58cb-8980-5558bfa27945",
@ -86231,270 +86231,270 @@
"Value": "Varsayılan"
},
{
"Id": "e06242c0-07b4-5108-aa27-36c3fbc771fe",
"Id": "ebe89c90-4115-501b-a49d-e05a6b6f15d9",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier",
"Value": "Suppliers"
"Key": "App.Definitions.Contact",
"Value": "Contacts"
},
{
"Id": "0be7424a-3721-5960-946b-cd091d2f1784",
"Id": "1a68cb5a-a750-5242-ab7d-a612a0c167d8",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier",
"Value": "Tedarikçiler"
"Key": "App.Definitions.Contact",
"Value": "Kontaklar"
},
{
"Id": "fd804313-4d64-570c-b58c-a664e0a6c598",
"Id": "23ef7d25-9ca4-576c-a86f-3db8efc47bf7",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier.Title",
"Value": "Suppliers"
"Key": "App.Definitions.Contact.Title",
"Value": "Contacts"
},
{
"Id": "deacff22-4a72-505f-a834-be13dcb38261",
"Id": "5ad6b40b-c1c0-547f-8b46-560e7090cdc0",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier.Title",
"Value": "Tedarikçiler"
"Key": "App.Definitions.Contact.Title",
"Value": "Kontaklar"
},
{
"Id": "00848501-74e8-5a87-92eb-3ae9f5b9220f",
"Id": "5599ad84-2b69-5c34-997e-72da4562ad01",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier.Desc",
"Value": "Suppliers — supplier cards (company or individual) used by purchasing: identity, address, tax number and contact details.\nWhere: Purchasing › Definitions › Suppliers.\nForm: identity and address (Country › City › District › Township cascade; picking the township fills the postal code), tax number/office, sector, website, language, tags, active.\nTabs: Sales, Purchasing, Financial & Other, Accounting and Notes (each edits the same supplier record), Contacts and Bank Accounts."
"Key": "App.Definitions.Contact.Desc",
"Value": "Contacts — company or individual cards shared by sales and purchasing (customers and suppliers): identity, address, tax number and contact details.\nWhere: Administration › Definitions › Contacts.\nForm: identity and address (Country › City › District › Township cascade; picking the township fills the postal code), tax number/office, sector, website, language, tags, active.\nTabs: Sales, Purchasing, Financial & Other, Accounting and Notes (each edits the same contact record), Contact Persons and Bank Accounts."
},
{
"Id": "08a367a0-023b-50c6-904b-d692ed2064c4",
"Id": "29805650-8ea1-5580-a482-91f6ff7630ae",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier.Desc",
"Value": "Tedarikçiler — satınalmanın kullandığı tedarikçi kartları (şirket ya da bireysel): kimlik, adres, vergi no ve iletişim bilgileri.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler.\nForm: kimlik ve adres (Ülke › Şehir › İlçe › Mahalle zinciri; mahalle seçilince posta kodu dolar), vergi no/dairesi, sektör, web sitesi, dil, etiketler, aktiflik.\nSekmeler: Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe ve Notlar (hepsi aynı tedarikçi kaydını düzenler), Kontaklar ve Banka Hesapları."
"Key": "App.Definitions.Contact.Desc",
"Value": "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.\nNerede: Yönetim › Tanımlamalar › Kontaklar.\nForm: kimlik ve adres (Ülke › Şehir › İlçe › Mahalle zinciri; mahalle seçilince posta kodu dolar), vergi no/dairesi, sektör, web sitesi, dil, etiketler, aktiflik.\nSekmeler: Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe ve Notlar (hepsi aynı kontak kaydını düzenler), İlgili Kişiler ve Banka Hesapları."
},
{
"Id": "5756999e-4004-5b10-b1ac-2b6516939ba0",
"Id": "c619ff02-b047-5f7b-945f-9210062f59ab",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier.Group.General",
"Key": "App.Definitions.Contact.Group.General",
"Value": "General"
},
{
"Id": "c2bf90d7-7c55-5357-a3c1-2b258dda573b",
"Id": "513ffd80-3487-52bc-b71a-d8b4eaffbdac",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.Supplier.Group.General",
"Key": "App.Definitions.Contact.Group.General",
"Value": "Genel"
},
{
"Id": "80735cf0-5066-54de-b430-7be9240b48df",
"Id": "64b24433-ef9a-5523-b8c8-5f04781ff193",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierSales",
"Value": "Supplier Sales"
"Key": "App.Definitions.ContactSales",
"Value": "Contact Sales"
},
{
"Id": "fc156f7a-f09f-57d3-a41f-8ac73358f645",
"Id": "d25dc8be-9502-57a6-bfbe-1f7a5d57feea",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierSales",
"Value": "Tedarikçi Satış"
"Key": "App.Definitions.ContactSales",
"Value": "Kontak Satış"
},
{
"Id": "8f72576e-cc5d-52f6-9acb-8abf1bbd2cb3",
"Id": "6bf6909b-af7a-587d-8312-a2d0b9fcf8be",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierSales.Title",
"Key": "App.Definitions.ContactSales.Title",
"Value": "Sales"
},
{
"Id": "69ee1472-889e-57ce-8d35-7e86308bb4a2",
"Id": "a225d4e1-4669-5657-9ce0-ad2fa371ce86",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierSales.Title",
"Key": "App.Definitions.ContactSales.Title",
"Value": "Satış"
},
{
"Id": "5256e080-c565-5760-9837-9fa3407c34c4",
"Id": "27e4dc29-6da7-539b-954a-32cc22fbbdb6",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierSales.Desc",
"Value": "Supplier Sales — the sales-side commercial terms of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Sales tab (no menu of its own; edits the supplier record itself).\nFields: sales representative, price list currency, payment term and method (sales), delivery method, Incoterm and Incoterm location (sales).\nLookups come from Payment Terms, Payment Methods, Delivery Methods and Incoterms."
"Key": "App.Definitions.ContactSales.Desc",
"Value": "Contact Sales — the sales-side commercial terms of the contact card.\nWhere: Administration › Definitions › Contacts › Sales tab (no menu of its own; edits the contact record itself).\nFields: sales representative, price list currency, payment term and method (sales), delivery method, Incoterm and Incoterm location (sales).\nLookups come from Purchasing › Definitions: Payment Terms, Payment Methods, Delivery Methods and Incoterms."
},
{
"Id": "bd29dba3-3e78-5de2-9fa0-e5b5d8e10c10",
"Id": "5378976b-32cf-504f-9da5-920bf90105c4",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierSales.Desc",
"Value": "Tedarikçi Satış — tedarikçi kartının satış tarafındaki ticari koşulları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Satış sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: satış temsilcisi, fiyat listesi para birimi, ödeme koşulu ve yöntemi (satış), teslim yöntemi, teslimat koşulu ve konumu (satış).\nSeçenekler Ödeme Koşulları, Ödeme Yöntemleri, Teslim Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
"Key": "App.Definitions.ContactSales.Desc",
"Value": "Kontak Satış — kontak kartının satış tarafındaki ticari koşulları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Satış sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: satış temsilcisi, fiyat listesi para birimi, ödeme koşulu ve yöntemi (satış), teslim yöntemi, teslimat koşulu ve konumu (satış).\nSeçenekler Satınalma › Tanımlamalar altındaki Ödeme Koşulları, Ödeme Yöntemleri, Teslim Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
},
{
"Id": "8a44af60-56b9-5ae8-8e06-06812eb76f99",
"Id": "99f6df7d-82f5-5cef-950f-09786ec5ac55",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierPurchasing",
"Value": "Supplier Purchasing"
"Key": "App.Definitions.ContactPurchasing",
"Value": "Contact Purchasing"
},
{
"Id": "7742637a-c54c-5180-a020-c937fd0b3f55",
"Id": "8a43a4c2-3bb5-58fa-98cb-7a2e426171a5",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierPurchasing",
"Value": "Tedarikçi Satınalma"
"Key": "App.Definitions.ContactPurchasing",
"Value": "Kontak Satınalma"
},
{
"Id": "78629200-40e5-55ad-8732-c959dab0a643",
"Id": "41c3f4ff-6d5d-558b-8d91-4c6fb6d42a1c",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierPurchasing.Title",
"Key": "App.Definitions.ContactPurchasing.Title",
"Value": "Purchasing"
},
{
"Id": "64923e08-bf89-5bd3-9ae1-710042178bc8",
"Id": "8e924d7b-7cb8-55c1-a7cf-2010ab37f2c1",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierPurchasing.Title",
"Key": "App.Definitions.ContactPurchasing.Title",
"Value": "Satınalma"
},
{
"Id": "454573f4-cef1-56e2-ba19-491fd2451249",
"Id": "a9238275-0a4e-57d5-8cdc-5ec11f8c7608",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierPurchasing.Desc",
"Value": "Supplier Purchasing — the purchasing-side terms of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Purchasing tab (no menu of its own; edits the supplier record itself).\nFields: RFQ grouping (required), buyer, payment term and method (purchasing), receipt reminder and days before, supplier currency, Incoterm and Incoterm location (purchasing).\nLookups come from Payment Terms, Payment Methods and Incoterms."
"Key": "App.Definitions.ContactPurchasing.Desc",
"Value": "Contact Purchasing — the purchasing-side terms of the contact card.\nWhere: Administration › Definitions › Contacts › Purchasing tab (no menu of its own; edits the contact record itself).\nFields: RFQ grouping (required), buyer, payment term and method (purchasing), receipt reminder and days before, supplier currency, Incoterm and Incoterm location (purchasing).\nLookups come from Purchasing › Definitions: Payment Terms, Payment Methods and Incoterms."
},
{
"Id": "817acc12-5c69-50b7-b028-f5a415db5baa",
"Id": "55f5b381-2239-5ad8-9561-8c258dfdbcc5",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierPurchasing.Desc",
"Value": "Tedarikçi Satınalma — tedarikçi kartının satınalma tarafındaki koşulları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Satınalma sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: grup teklif talebi (zorunlu), alıcı, ödeme koşulu ve yöntemi (satınalma), alım hatırlatıcısı ve kaç gün önce, tedarikçi para birimi, teslimat koşulu ve konumu (satınalma).\nSeçenekler Ödeme Koşulları, Ödeme Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
"Key": "App.Definitions.ContactPurchasing.Desc",
"Value": "Kontak Satınalma — kontak kartının satınalma tarafındaki koşulları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Satınalma sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: grup teklif talebi (zorunlu), alıcı, ödeme koşulu ve yöntemi (satınalma), alım hatırlatıcısı ve kaç gün önce, tedarikçi para birimi, teslimat koşulu ve konumu (satınalma).\nSeçenekler Satınalma › Tanımlamalar altındaki Ödeme Koşulları, Ödeme Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
},
{
"Id": "1a38c591-b5d3-5bfe-a115-d6236d6eff9e",
"Id": "535c46e4-308e-5699-ae4d-fd7c2b4291fc",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierFinancial",
"Value": "Supplier Financial & Other"
"Key": "App.Definitions.ContactFinancial",
"Value": "Contact Financial & Other"
},
{
"Id": "38fe9ce4-d2e9-5b87-8906-4ea9398f4cd5",
"Id": "655dfdb2-f324-504a-b1f0-4ee53b486ff4",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierFinancial",
"Value": "Tedarikçi Mali Bilgi ve Diğer"
"Key": "App.Definitions.ContactFinancial",
"Value": "Kontak Mali Bilgi ve Diğer"
},
{
"Id": "ceb5049c-9bd4-5216-9cab-747775ddf20d",
"Id": "e411bb18-b7e7-55bc-916e-2d43c9439082",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierFinancial.Title",
"Key": "App.Definitions.ContactFinancial.Title",
"Value": "Financial & Other"
},
{
"Id": "18d2058f-0023-58a2-a07e-5745625c3a35",
"Id": "16f1b915-21a1-5a30-a13b-2242328124d9",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierFinancial.Title",
"Key": "App.Definitions.ContactFinancial.Title",
"Value": "Mali Bilgi ve Diğer"
},
{
"Id": "8bcb2499-b22d-5210-9b78-5502fb5f4dcb",
"Id": "13addbba-73ca-5b30-951d-cd0c369cfd15",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierFinancial.Desc",
"Value": "Supplier Financial & Other — financial status and other identifiers of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Financial & Other tab (no menu of its own; edits the supplier record itself).\nFields: financial status, reference and barcode."
"Key": "App.Definitions.ContactFinancial.Desc",
"Value": "Contact Financial & Other — financial status and other identifiers of the contact card.\nWhere: Administration › Definitions › Contacts › Financial & Other tab (no menu of its own; edits the contact record itself).\nFields: financial status, reference and barcode."
},
{
"Id": "4933acc0-0c5c-5a49-8acc-b2b987edf0aa",
"Id": "ebc6021f-9d30-5320-b61b-1f99d5b3da44",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierFinancial.Desc",
"Value": "Tedarikçi Mali Bilgi ve Diğer — tedarikçi kartının mali durumu ve diğer tanımlayıcıları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Mali Bilgi ve Diğer sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: mali durum, referans ve barkod."
"Key": "App.Definitions.ContactFinancial.Desc",
"Value": "Kontak Mali Bilgi ve Diğer — kontak kartının mali durumu ve diğer tanımlayıcıları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Mali Bilgi ve Diğer sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: mali durum, referans ve barkod."
},
{
"Id": "756f59fc-4fb1-5e4f-89c1-1a7e00924f07",
"Id": "e41dab87-2ecd-5d57-a39c-d67f07dd3d05",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierAccounting",
"Value": "Supplier Accounting"
"Key": "App.Definitions.ContactAccounting",
"Value": "Contact Accounting"
},
{
"Id": "130bd72d-7c15-595f-9133-58bda96e1df4",
"Id": "108208c5-4779-5771-a553-91c7e890e73d",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierAccounting",
"Value": "Tedarikçi Muhasebe"
"Key": "App.Definitions.ContactAccounting",
"Value": "Kontak Muhasebe"
},
{
"Id": "122e508f-afba-5561-bc19-b82fdacf0d42",
"Id": "4352df0b-1418-5f74-a71b-facea4d73256",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierAccounting.Title",
"Key": "App.Definitions.ContactAccounting.Title",
"Value": "Accounting"
},
{
"Id": "7668d00a-da61-520d-942d-3e710cb87ab3",
"Id": "cf1cdfda-119a-5c06-926e-ff5f27378832",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierAccounting.Title",
"Key": "App.Definitions.ContactAccounting.Title",
"Value": "Muhasebe"
},
{
"Id": "03ec7cd3-f7fb-537f-8464-0e9cdcbb4d30",
"Id": "6166a7d2-db9a-5bd9-bf3f-e57c5b85b4eb",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierAccounting.Desc",
"Value": "Supplier Accounting — accounting settings of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Accounting tab (no menu of its own; edits the supplier record itself).\nFields: receivable account, payable account, invoice auto-approval and payment QR type."
"Key": "App.Definitions.ContactAccounting.Desc",
"Value": "Contact Accounting — accounting settings of the contact card.\nWhere: Administration › Definitions › Contacts › Accounting tab (no menu of its own; edits the contact record itself).\nFields: receivable account, payable account, invoice auto-approval and payment QR type."
},
{
"Id": "ddd32a4b-3b68-5c61-aa62-b1560eef5019",
"Id": "7e5227d8-fab3-56de-8b47-37ca67e30427",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierAccounting.Desc",
"Value": "Tedarikçi Muhasebe — tedarikçi kartının muhasebe ayarları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Muhasebe sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: alacak hesabı, borç hesabı, fatura otomatik onayı ve ödeme QR tipi."
"Key": "App.Definitions.ContactAccounting.Desc",
"Value": "Kontak Muhasebe — kontak kartının muhasebe ayarları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Muhasebe sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: alacak hesabı, borç hesabı, fatura otomatik onayı ve ödeme QR tipi."
},
{
"Id": "69905b10-5311-513d-8cf5-b2e4603676e0",
"Id": "919ba373-a73c-5014-b987-47426d113237",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierNotes",
"Value": "Supplier Notes"
"Key": "App.Definitions.ContactNotes",
"Value": "Contact Notes"
},
{
"Id": "dfeb07bf-7e0e-5de3-9d3c-a46b3644c71e",
"Id": "d0d47d31-0160-5fd3-9d92-15654412c102",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierNotes",
"Value": "Tedarikçi Notları"
"Key": "App.Definitions.ContactNotes",
"Value": "Kontak Notları"
},
{
"Id": "a5624ed6-07b6-5607-909f-d2ad7ca2559a",
"Id": "4e55cc35-4003-5007-a073-e0ef2a02955f",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierNotes.Title",
"Key": "App.Definitions.ContactNotes.Title",
"Value": "Notes"
},
{
"Id": "f00c1e62-aa93-56b0-9a3e-812dd32519b2",
"Id": "a6c112fc-183c-50ff-909f-044498688474",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierNotes.Title",
"Key": "App.Definitions.ContactNotes.Title",
"Value": "Notlar"
},
{
"Id": "ba995de1-d021-5c21-b8db-c98fd2baf909",
"Id": "069932bf-b273-5271-bac4-5c1a31f873a0",
"CultureName": "en",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierNotes.Desc",
"Value": "Supplier Notes — free-form notes kept on the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Notes tab (no menu of its own; edits the supplier record itself).\nFields: notes (HTML editor) for agreements, warnings and other information about the supplier."
"Key": "App.Definitions.ContactNotes.Desc",
"Value": "Contact Notes — free-form notes kept on the contact card.\nWhere: Administration › Definitions › Contacts › Notes tab (no menu of its own; edits the contact record itself).\nFields: notes (HTML editor) for agreements, warnings and other information about the contact."
},
{
"Id": "6ee16867-6c1e-53e5-ad88-a8724e276206",
"Id": "5aaa96f2-c819-5619-a377-8649baa40422",
"CultureName": "tr",
"ResourceName": "Platform",
"Key": "App.Prc.SupplierNotes.Desc",
"Value": "Tedarikçi Notları — tedarikçi kartında tutulan serbest notlar.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Notlar sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: anlaşmalar, uyarılar ve tedarikçiyle ilgili diğer bilgiler için notlar (HTML editör)."
"Key": "App.Definitions.ContactNotes.Desc",
"Value": "Kontak Notları — kontak kartında tutulan serbest notlar.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Notlar sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: anlaşmalar, uyarılar ve kontakla ilgili diğer bilgiler için notlar (HTML editör)."
},
{
"Id": "77fa0d92-e535-5db9-bd78-516e7e6cd88e",

View file

@ -889,11 +889,41 @@
"ElementId": null,
"ModuleId": "Adm"
},
{
"Id": "d9aba05d-8631-44f1-b212-30b1ec329974",
"Code": "App.Definitions.Contact",
"DisplayName": "App.Definitions.Contact",
"Order": 3,
"Url": "/admin/list/App.Definitions.Contact",
"Icon": "FcFactory",
"ParentCode": "App.Administration.Definitions",
"RequiredPermissionName": "App.Definitions.Contact",
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Adm"
},
{
"Id": "44099e02-744d-4cf1-a257-63335ba6ca94",
"Code": "App.Definitions.ContactTag",
"DisplayName": "App.Definitions.ContactTag",
"Order": 2,
"Url": "/admin/list/App.Definitions.ContactTag",
"Icon": "FcBookmark",
"ParentCode": "App.Administration.Definitions",
"RequiredPermissionName": "App.Definitions.ContactTag",
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Adm"
},
{
"Id": "8364e99b-07f9-4746-b77d-23e0bac86723",
"Code": "App.Definitions.Sequence",
"DisplayName": "App.Definitions.Sequence",
"Order": 2,
"Order": 4,
"Url": "/admin/list/App.Definitions.Sequence",
"Icon": "FcNumericalSorting12",
"ParentCode": "App.Administration.Definitions",
@ -908,7 +938,7 @@
"Id": "f8a9e9ea-1977-4976-b7e5-ab20e1519184",
"Code": "App.Definitions.UomCategory",
"DisplayName": "App.Definitions.UomCategory",
"Order": 3,
"Order": 5,
"Url": "/admin/list/App.Definitions.UomCategory",
"Icon": "FcWorkflow",
"ParentCode": "App.Administration.Definitions",
@ -2285,91 +2315,93 @@
"ModuleId": "Hr"
},
{
"ParentCode": null,
"Id": "13f6a874-5548-4735-9daf-74e4814d8cdb",
"Code": "App.Prc",
"DisplayName": "App.Prc",
"Order": 5,
"Url": null,
"Icon": "FcShop",
"ParentCode": null,
"RequiredPermissionName": null,
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Prc"
},
{
"ParentCode": "App.Prc",
"Id": "13aeac64-fd8d-4f46-bc92-1ab3f893f945",
"Code": "App.Prc.Definitions",
"DisplayName": "App.Prc.Definitions",
"Order": 1,
"Url": null,
"Icon": "FcSettings",
"ParentCode": "App.Prc",
"RequiredPermissionName": null,
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Prc"
},
{
"ParentCode": "App.Prc.Definitions",
"Id": "8b972b06-fa30-4dd0-9a74-b7ce75e83bef",
"Code": "App.Prc.PaymentTerm",
"DisplayName": "App.Prc.PaymentTerm",
"Order": 1,
"Url": "/admin/list/App.Prc.PaymentTerm",
"Icon": "FcCalendar",
"ParentCode": "App.Prc.Definitions",
"RequiredPermissionName": "App.Prc.PaymentTerm",
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Prc"
},
{
"ParentCode": "App.Prc.Definitions",
"Id": "5eaaa18e-f036-4b5e-abc9-4d549a6b2cb1",
"Code": "App.Prc.PaymentMethod",
"DisplayName": "App.Prc.PaymentMethod",
"Order": 2,
"Url": "/admin/list/App.Prc.PaymentMethod",
"Icon": "FcMoneyTransfer",
"ParentCode": "App.Prc.Definitions",
"RequiredPermissionName": "App.Prc.PaymentMethod",
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Prc"
},
{
"ParentCode": "App.Prc.Definitions",
"Id": "4a380d34-2cea-445e-b178-12ff24a4e2a2",
"Code": "App.Prc.Incoterm",
"DisplayName": "App.Prc.Incoterm",
"Order": 3,
"Url": "/admin/list/App.Prc.Incoterm",
"Icon": "FcShipped",
"ParentCode": "App.Prc.Definitions",
"RequiredPermissionName": "App.Prc.Incoterm",
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Prc"
},
{
"ParentCode": "App.Prc.Definitions",
"Id": "f110c090-6960-4420-994e-2d264f0ed122",
"Code": "App.Prc.DeliveryMethod",
"DisplayName": "App.Prc.DeliveryMethod",
"Order": 4,
"Url": "/admin/list/App.Prc.DeliveryMethod",
"Icon": "FcInTransit",
"ParentCode": "App.Prc.Definitions",
"RequiredPermissionName": "App.Prc.DeliveryMethod",
"CssClass": null,
"Target": null,
"IsDisabled": false,
"ModuleId": "Prc"
},
{
"ParentCode": "App.Prc.Definitions",
"Code": "App.Prc.SupplierTag",
"DisplayName": "App.Prc.SupplierTag",
"Order": 5,
"Url": "/admin/list/App.Prc.SupplierTag",
"Icon": "FcBookmark",
"RequiredPermissionName": "App.Prc.SupplierTag",
"IsDisabled": false,
"ModuleId": "Prc"
},
{
"ParentCode": "App.Prc.Definitions",
"Code": "App.Prc.Supplier",
"DisplayName": "App.Prc.Supplier",
"Order": 6,
"Url": "/admin/list/App.Prc.Supplier",
"Icon": "FcFactory",
"RequiredPermissionName": "App.Prc.Supplier",
"IsDisabled": false,
"ElementId": null,
"ModuleId": "Prc"
}
]

View file

@ -0,0 +1,315 @@
# Yönetim › Tanımlamalar (`App.Administration.Definitions`)
> "Ek — Ekran envanteri" bölümü wizard dosyalarından üretilir, elle düzenlenmez. 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
Satış ve satınalmanın ortak kullandığı **Kontaklar** kartı (müşteri ve tedarikçi; şirket ya da bireysel) ve onu sınıflandıran **Kontak Etiketleri**. İleride yapılacak Satış ve Satınalma belgeleri (teklif, sipariş, fatura) kontağı bu ekrandan seçer. 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ı.
## 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.
- Telefon ve cep (`Phone`, `Mobile` — İlgili Kişiler dahil) `phoneGlobal` maskesi ve `pattern` `^[0-9]{10}$` kuralı taşır; web sitesi `pattern`, e-posta `email` doğrulaması taşır.
## 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 |
## 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)
## 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.
## 6. Yetki ve görünürlük
Yetki ağacı: `App.Administration` grubu › `App.Administration.Definitions` › `App.Definitions.Contact` (sıra 2) ve `App.Definitions.ContactTag` (sıra 3), 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. Widget'lar: Kontaklar ve Kontak Etiketleri'nde Toplam · Aktif · Pasif; alt formlarda widget yok.
## 7. Entegrasyonlar
Yok. Ülke/Şehir/İlçe, Para Birimi, Dil, Sektör, Kullanıcılar ve Satınalma tanımları yalnızca okunur.
## 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.
## 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.
## 10. Dosyalar ve geri alma
- Tablolar: `sql/object/Adm_T_Contact.sql`, `Adm_T_ContactPerson.sql`, `Adm_T_ContactBankAccount.sql`, `Adm_T_ContactTag.sql`.
- Wizard'lar: `ContactTag.json`, `ContactPerson.json`, `ContactBankAccount.json`, `ContactSales.json`, `ContactPurchasing.json`, `ContactFinancial.json`, `ContactAccounting.json`, `ContactNotes.json`, `Contact.json`.
- Demo veri: `data/App.Definitions.{ContactTag,Contact}.json`.
- Geri alma: önce `Contact.json`, sonra alt formlar ve `ContactTag.json` `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.
### Kontaklar — `App.Definitions.Contact`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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` |
| 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 | ✓ | ✓ | |
### Kontak Etiketleri — `App.Definitions.ContactTag`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 | | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
### İlgili Kişiler — `App.Definitions.ContactPerson`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 | | ✓ | |
### Banka Hesapları — `App.Definitions.ContactBankAccount`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 | | ✓ | |
### Kontak Muhasebe — `App.Definitions.ContactAccounting`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 |
### Kontak Mali Bilgi ve Diğer — `App.Definitions.ContactFinancial`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 | | ✓ | |
### Kontak Notları — `App.Definitions.ContactNotes`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 | | ✓ | |
### Kontak Satınalma — `App.Definitions.ContactPurchasing`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 | | ✓ | |
### Kontak Satış — `App.Definitions.ContactSales`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/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 -->

View file

@ -4,22 +4,14 @@
## 1. Amaç ve kapsam
Satınalma modülünün ana verisi: tedarikçi kartları ile satınalma belgelerinde kullanılacak ödeme koşulu, ödeme yöntemi, teslimat koşulu (Incoterm), teslim yöntemi ve tedarikçi etiketi 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.
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.
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ı [AdministrationDefinitions.md](AdministrationDefinitions.md). Kontak kartının Satış ve Satınalma sekmeleri bu modülün tanımlarını lookup olarak kullanır.
## 2. Analiz ve kararlar
- Modül kodu `Prc`, tablo öneki `Prc_T_`; tüm ekranlar talep gereği Satınalma › Tanımlamalar altında.
- Tedarikçi listesinde yalnızca firma/şahıs satırları durur; Odoo'daki "Firma, Kişi" satırları Kontaklar alt formundadır.
- Odoo'ya özgü 1099 Box, "Firma (herkes tarafından görülebilir)", Aktiviteler/sayaç ikonları ve Invoice follow-ups uyarısı alınmadı.
- "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 `Prc_T_SupplierTag` adlarından dxTagBox ile seçilir ve `Tags` kolonunda tutulur.
- Platform kuralı gereği: 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) önce aynı formda başlıklı gruplardı. Form uzadığı için Sağlık Kartları'ndaki kalıba geçildi: her bölüm `Prc_T_Supplier` satırının kendisini düzenleyen menüsüz bir `Form` sekmesidir (`App.Prc.Supplier{Sales,Purchasing,Financial,Accounting,Notes}`, ilişki `Id → Id`). Kontaklar ve Banka Hesapları liste sekmesi olarak kaldı.
- Adres, Kiracılar ekranıyla aynı zinciri kullanır: Ülke › Şehir › İlçe › Mahalle (`Township` kolonu bu yüzden eklendi); mahalle seçimi posta kodunu doldurur.
- Logo tek görseldir (`multiple: false`) ve formda 120×120 gösterilir.
- Listede ve formda İş Pozisyonu yerine Sektör vardır: `SectorId`, Tanımlamalar › Sektörler ekranının (`App.Definitions.Sector`, `Adm_T_Sector`) kiracıya ait aktif kayıtlarından seçilir (`TenantId = '@TENANTID'`). `JobPosition` kolonu tabloda kalır, ekranda yoktur.
- Telefon ve cep (`Phone`, `Mobile` — Kontaklar dahil) `phoneGlobal` maskesi taşır: `(000) 000-0000` ile girilir, listede `(555) 123-4567` biçiminde görünür; 10 haneye uymayan değer listede boş görünür. Maskenin eksik giriş denetimi Kaydet'e girmediği için alan ayrıca `pattern` `^[0-9]{10}$` kuralı taşır (maskelenmemiş değer 10 rakam); eksik numara kaydedilmez. Web sitesi `pattern`, e-posta `email` doğrulaması taşır; maske alanın EditorOptions'ında, kurallar Validation ayarındadır; ikisi de liste popup'ında ve form sayfasında çalışır.
- 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ı.
## 3. Menü ve ekranlar
@ -31,8 +23,6 @@ Satınalma (`App.Prc`) › Tanımlamalar (`App.Prc.Definitions`):
| Ö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 |
| Tedarikçi Etiketleri | `App.Prc.SupplierTag` | tanım, demo veri |
| Tedarikçiler | `App.Prc.Supplier` | ana kart; sekmeler: Satış (`App.Prc.SupplierSales`), Satınalma (`App.Prc.SupplierPurchasing`), Mali Bilgi ve Diğer (`App.Prc.SupplierFinancial`), Muhasebe (`App.Prc.SupplierAccounting`), Notlar (`App.Prc.SupplierNotes`), Kontaklar (`App.Prc.SupplierContact`), Banka Hesapları (`App.Prc.SupplierBankAccount`) — hepsi menüsüz |
## 4. Veri modeli
@ -42,49 +32,36 @@ Tüm tablolar kiracı (`TenantId`) + tam audit + soft delete taşır.
- `Prc_T_PaymentMethod` (Name, Journal, IsActive)
- `Prc_T_Incoterm` (Code, Name, IsActive)
- `Prc_T_DeliveryMethod` (Name, IsActive)
- `Prc_T_SupplierTag` (Name, Color, IsActive)
- `Prc_T_Supplier` — kimlik/adres (Country, City, District, Township, PostalCode)/vergi, satış ve satınalma koşulları (Prc 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.
- `Prc_T_SupplierContact` (SupplierId → `Prc_T_Supplier.Id`, Photo, Name, JobTitle, Email, Phone, Mobile, Notes)
- `Prc_T_SupplierBankAccount` (SupplierId → `Prc_T_Supplier.Id`, BankName, Iban, AccountHolder, Currency, IsDefault)
## 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.
- Ülke › İl › İlçe › Mahalle cascade (Kiracılar ekranıyla aynı): üst alan değişince alttakiler temizlenir; mahalle seçilince posta kodu `copy` tarifiyle dolar.
- Kartın formu yalnızca kimlik + adres alanlarını taşır (tek logo, 120×120). Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe ve Notlar, Sağlık Kartları'ndaki gibi aynı `Prc_T_Supplier` satırını düzenleyen menüsüz `Form` sekmeleridir (`Id → Id`, yalnızca düzenleme; ekleme/silme kapalı). Yeni tedarikçi ö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). E-posta alanları e-posta doğrulaması taşır.
- Ödeme koşulu `DueDays` vade gününü tutar; ay sonu kuralları açıklamada yazılıdır, otomatik vade hesabı yoktur.
- Hesap yok; tedarikçi formunda yeni kayıtta Tür = Şirket, Grup Teklif Talebi = Sipariş Üzerine, Fatura onayı = 3 doğrulamadan sonra sor varsayılanları tablodan gelir.
## 6. Yetki ve görünürlük
Yetki ağacı: `App.Prc` › `App.Prc.Definitions` › her ekran (+ Create/Update/Delete/Export/Import/Note). Alt formların yetkisi `App.Prc.Supplier` altındadır; sıra: Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe, Notlar (7–11), Kontaklar (12), Banka Hesapları (13). Sekme ekranlarında yalnızca Update anlamlıdır (ekleme/silme kapalı). Tüm ekranlar kiracı kapsamlıdır, şube filtresi yoktur. Widget'lar: her menülü ekranda Toplam · Aktif · Pasif; alt formlarda widget yok.
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.
## 7. Entegrasyonlar
Yok. Var olan Ülke/Şehir/İlçe, Para Birimi, Dil, Sektör ve Kullanıcılar ekranları yalnızca okunur.
Yok. Tanımlar Yönetim › Tanımlamalar › Kontaklar'ın Satış ve Satınalma sekmelerinde (`App.Definitions.ContactSales`, `App.Definitions.ContactPurchasing`) seçilir.
## 8. Akış örneği
1. Satınalma › Tanımlamalar › Ödeme Koşulları'nda "30 Gün" aktif durur.
2. Tedarikçiler'de "Acme Corporation" açılır; Satınalma sekmesinde Düzenle ile Ödeme Koşulu = 30 Gün, Alım Hatırlatıcısı açık, 1 gün seçilip kaydedilir.
3. Kontaklar sekmesinde Addison Olson eklenir; SupplierId kartın Id'sinden yazılır.
4. Banka Hesapları sekmesinde IBAN girilir ve Varsayılan işaretlenir.
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.
## 9. Sık sorulanlar
- **Kişiler neden listede ayrı satır değil?** Kişi tedarikçi değildir; tedarikçi kartının Kontaklar sekmesindedir.
- **Etiket nasıl eklenir?** Önce Tedarikçi Etiketleri ekranına eklenir, sonra karttaki Etiketler kutusundan seçilir.
- **Koordinat neden formda yok?** Adresten koordinat bulan servis yoktur; alanlar formdan kaldırıldı, kolonlar tabloda boş durur.
- **Yeni tedarikçide Satış/Satınalma sekmeleri neden yok?** Sekmeler kaydın kendisini düzenler; kayıt ana formdan eklenip açıldıktan sonra görünür.
- **Sekme "Kayıt Bulunamadı" gösteriyor.** Kullanıcının o sekmenin okuma yetkisi yoktur (`App.Prc.SupplierSales` vb.); yetkiler rol ekranından verilir, otomatik atanmaz.
- **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.
## 10. Dosyalar ve geri alma
- Tablolar: `sql/object/Prc_T_PaymentTerm.sql`, `Prc_T_PaymentMethod.sql`, `Prc_T_Incoterm.sql`, `Prc_T_DeliveryMethod.sql`, `Prc_T_SupplierTag.sql`, `Prc_T_Supplier.sql`, `Prc_T_SupplierContact.sql`, `Prc_T_SupplierBankAccount.sql`.
- Wizard'lar: `PaymentTerm.json`, `PaymentMethod.json`, `Incoterm.json`, `DeliveryMethod.json`, `SupplierTag.json`, `SupplierContact.json`, `SupplierBankAccount.json`, `SupplierSales.json`, `SupplierPurchasing.json`, `SupplierFinancial.json`, `SupplierAccounting.json`, `SupplierNotes.json`, `Supplier.json`.
- Demo veri: `data/App.Prc.{PaymentTerm,PaymentMethod,Incoterm,DeliveryMethod,SupplierTag,Supplier}.json`.
- Geri alma: önce `Supplier.json`, sonra alt formlar ve tanımlar `delete_wizard` ile silinir; tablolar yalnızca açık onayla `dropTables: true` ile düşürülür.
- Tablolar: `sql/object/Prc_T_PaymentTerm.sql`, `Prc_T_PaymentMethod.sql`, `Prc_T_Incoterm.sql`, `Prc_T_DeliveryMethod.sql`.
- Wizard'lar: `PaymentTerm.json`, `PaymentMethod.json`, `Incoterm.json`, `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)
@ -183,230 +160,4 @@ Yok. Var olan Ülke/Şehir/İlçe, Para Birimi, Dil, Sektör ve Kullanıcılar e
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
### Tedarikçi Etiketleri — `App.Prc.SupplierTag`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierTag.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.SupplierTag` (sıra 5) |
| Yetki | `App.Prc.SupplierTag` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Etiketleri — tedarikçileri sınıflandırmak için kullanılan etiketler (Vendor, Desk Manufacturers, Ofis Malzemeleri…). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_SupplierTag` · 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.SupplierTag.json` |
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
| --- | --- | --- | --- | --- | --- |
| `Name` | Ad | dxTextBox | ✓ | ✓ | |
| `Color` | Renk | dxColorBox | | ✓ | |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
### Tedarikçiler — `App.Prc.Supplier`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/Supplier.json` |
| Yol | Liste (Wizard) |
| Menü | `App.Prc.Definitions` › `App.Prc.Supplier` (sıra 6) |
| Yetki | `App.Prc.Supplier` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçiler — satınalmanın kullandığı tedarikçi kartları (şirket ya da bireysel): kimlik, adres, vergi no ve iletişim bilgileri. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_Supplier` · 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.Prc.SupplierSales` (Id → Id), `App.Prc.SupplierPurchasing` (Id → Id), `App.Prc.SupplierFinancial` (Id → Id), `App.Prc.SupplierAccounting` (Id → Id), `App.Prc.SupplierNotes` (Id → Id), `App.Prc.SupplierContact` (Id → SupplierId), `App.Prc.SupplierBankAccount` (Id → SupplierId) |
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Passive` |
| Veri aynası | `data/App.Prc.Supplier.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: Prc_T_SupplierTag |
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
### Kontakları — `App.Prc.SupplierContact`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierContact.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.SupplierContact` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Kontakları — tedarikçi firmada çalışan kişiler (satış temsilcisi, danışman, analist…). |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_SupplierContact` · 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 |
| --- | --- | --- | --- | --- | --- |
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Prc_T_Supplier |
| `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 | | ✓ | |
### Banka Hesapları — `App.Prc.SupplierBankAccount`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierBankAccount.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.SupplierBankAccount` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Banka Hesapları — tedarikçiye ödeme yapılan IBAN'lar. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_SupplierBankAccount` · 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 |
| --- | --- | --- | --- | --- | --- |
| `SupplierId` | Tedarikçi | dxSelectBox | | | sorgu: Prc_T_Supplier |
| `BankName` | Banka | dxTextBox | | ✓ | |
| `Iban` | IBAN | dxTextBox | ✓ | ✓ | |
| `AccountHolder` | Hesap Sahibi | dxTextBox | | ✓ | |
| `Currency` | Para Birimi | dxSelectBox | | ✓ | sorgu: Sas_H_Currency |
| `IsDefault` | Varsayılan | dxCheckBox | | ✓ | |
### Tedarikçi Muhasebe — `App.Prc.SupplierAccounting`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierAccounting.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.SupplierAccounting` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Muhasebe — tedarikçi kartının muhasebe ayarları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_Supplier` · 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 |
### Tedarikçi Mali Bilgi ve Diğer — `App.Prc.SupplierFinancial`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierFinancial.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.SupplierFinancial` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Mali Bilgi ve Diğer — tedarikçi kartının mali durumu ve diğer tanımlayıcıları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_Supplier` · 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 | | ✓ | |
### Tedarikçi Notları — `App.Prc.SupplierNotes`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierNotes.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.SupplierNotes` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Notları — tedarikçi kartında tutulan serbest notlar. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_Supplier` · 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 | | ✓ | |
### Tedarikçi Satınalma — `App.Prc.SupplierPurchasing`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierPurchasing.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.SupplierPurchasing` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Satınalma — tedarikçi kartının satınalma tarafındaki koşulları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_Supplier` · 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 | | ✓ | |
### Tedarikçi Satış — `App.Prc.SupplierSales`
| Özellik | Değer |
| --- | --- |
| Wizard | `wizard/SupplierSales.json` |
| Yol | Liste (Wizard) |
| Menü | Menüsüz (alt form) |
| Yetki | `App.Prc.SupplierSales` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
| Açıklama | Tedarikçi Satış — tedarikçi kartının satış tarafındaki ticari koşulları. |
| Geliştirme talebi | Satınalma Modülü |
| Kaynak | `Prc_T_Supplier` · 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 -->

View file

@ -1,6 +1,6 @@
IF OBJECT_ID(N'[dbo].[Prc_T_Supplier]', 'U') IS NULL
IF OBJECT_ID(N'[dbo].[Adm_T_Contact]', 'U') IS NULL
BEGIN
CREATE TABLE [dbo].[Prc_T_Supplier]
CREATE TABLE [dbo].[Adm_T_Contact]
(
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
[TenantId] uniqueidentifier NULL,
@ -57,7 +57,7 @@ BEGIN
[IsDeleted] bit NOT NULL DEFAULT 0,
[DeletionTime] datetime2 NULL,
[DeleterId] uniqueidentifier NULL,
CONSTRAINT [PK_Prc_T_Supplier] PRIMARY KEY NONCLUSTERED
CONSTRAINT [PK_Adm_T_Contact] PRIMARY KEY NONCLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

View file

@ -1,10 +1,10 @@
IF OBJECT_ID(N'[dbo].[Prc_T_SupplierBankAccount]', 'U') IS NULL
IF OBJECT_ID(N'[dbo].[Adm_T_ContactBankAccount]', 'U') IS NULL
BEGIN
CREATE TABLE [dbo].[Prc_T_SupplierBankAccount]
CREATE TABLE [dbo].[Adm_T_ContactBankAccount]
(
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
[TenantId] uniqueidentifier NULL,
[SupplierId] uniqueidentifier NOT NULL,
[ContactId] uniqueidentifier NOT NULL,
[BankName] nvarchar(128) NULL,
[Iban] nvarchar(34) NOT NULL,
[AccountHolder] nvarchar(256) NULL,
@ -17,7 +17,7 @@ BEGIN
[IsDeleted] bit NOT NULL DEFAULT 0,
[DeletionTime] datetime2 NULL,
[DeleterId] uniqueidentifier NULL,
CONSTRAINT [PK_Prc_T_SupplierBankAccount] PRIMARY KEY NONCLUSTERED
CONSTRAINT [PK_Adm_T_ContactBankAccount] PRIMARY KEY NONCLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

View file

@ -1,10 +1,10 @@
IF OBJECT_ID(N'[dbo].[Prc_T_SupplierContact]', 'U') IS NULL
IF OBJECT_ID(N'[dbo].[Adm_T_ContactPerson]', 'U') IS NULL
BEGIN
CREATE TABLE [dbo].[Prc_T_SupplierContact]
CREATE TABLE [dbo].[Adm_T_ContactPerson]
(
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
[TenantId] uniqueidentifier NULL,
[SupplierId] uniqueidentifier NOT NULL,
[ContactId] uniqueidentifier NOT NULL,
[Photo] nvarchar(MAX) NULL,
[Name] nvarchar(256) NOT NULL,
[JobTitle] nvarchar(128) NULL,
@ -19,7 +19,7 @@ BEGIN
[IsDeleted] bit NOT NULL DEFAULT 0,
[DeletionTime] datetime2 NULL,
[DeleterId] uniqueidentifier NULL,
CONSTRAINT [PK_Prc_T_SupplierContact] PRIMARY KEY NONCLUSTERED
CONSTRAINT [PK_Adm_T_ContactPerson] PRIMARY KEY NONCLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

View file

@ -1,6 +1,6 @@
IF OBJECT_ID(N'[dbo].[Prc_T_SupplierTag]', 'U') IS NULL
IF OBJECT_ID(N'[dbo].[Adm_T_ContactTag]', 'U') IS NULL
BEGIN
CREATE TABLE [dbo].[Prc_T_SupplierTag]
CREATE TABLE [dbo].[Adm_T_ContactTag]
(
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
[TenantId] uniqueidentifier NULL,
@ -14,7 +14,7 @@ BEGIN
[IsDeleted] bit NOT NULL DEFAULT 0,
[DeletionTime] datetime2 NULL,
[DeleterId] uniqueidentifier NULL,
CONSTRAINT [PK_Prc_T_SupplierTag] PRIMARY KEY NONCLUSTERED
CONSTRAINT [PK_Adm_T_ContactTag] PRIMARY KEY NONCLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

View file

@ -1,39 +1,39 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "Supplier",
"WizardCode": "App.Prc.Supplier",
"WizardName": "Contact",
"WizardCode": "App.Definitions.Contact",
"SeededAt": "2026-10-05T19:17:48.8339466Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuCode": "App.Prc.Supplier",
"MenuOrder": 6,
"MenuUrl": "/admin/list/App.Prc.Supplier",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"MenuCode": "App.Definitions.Contact",
"MenuOrder": 2,
"MenuUrl": "/admin/list/App.Definitions.Contact",
"MenuIcon": "FcFactory"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Suppliers",
"MenuTr": "Tedarikçiler",
"TitleEn": "Suppliers",
"TitleTr": "Tedarikçiler",
"DescEn": "Suppliers — supplier cards (company or individual) used by purchasing: identity, address, tax number and contact details.\nWhere: Purchasing › Definitions › Suppliers.\nForm: identity and address (Country › City › District › Township cascade; picking the township fills the postal code), tax number/office, sector, website, language, tags, active.\nTabs: Sales, Purchasing, Financial & Other, Accounting and Notes (each edits the same supplier record), Contacts and Bank Accounts.",
"DescTr": "Tedarikçiler — satınalmanın kullandığı tedarikçi kartları (şirket ya da bireysel): kimlik, adres, vergi no ve iletişim bilgileri.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler.\nForm: kimlik ve adres (Ülke › Şehir › İlçe › Mahalle zinciri; mahalle seçilince posta kodu dolar), vergi no/dairesi, sektör, web sitesi, dil, etiketler, aktiflik.\nSekmeler: Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe ve Notlar (hepsi aynı tedarikçi kaydını düzenler), Kontaklar ve Banka Hesapları."
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contacts",
"MenuTr": "Kontaklar",
"TitleEn": "Contacts",
"TitleTr": "Kontaklar",
"DescEn": "Contacts — company or individual cards shared by sales and purchasing (customers and suppliers): identity, address, tax number and contact details.\nWhere: Administration › Definitions › Contacts.\nForm: identity and address (Country › City › District › Township cascade; picking the township fills the postal code), tax number/office, sector, website, language, tags, active.\nTabs: Sales, Purchasing, Financial & Other, Accounting and Notes (each edits the same contact record), Contact Persons and Bank Accounts.",
"DescTr": "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.\nNerede: Yönetim › Tanımlamalar › Kontaklar.\nForm: kimlik ve adres (Ülke › Şehir › İlçe › Mahalle zinciri; mahalle seçilince posta kodu dolar), vergi no/dairesi, sektör, web sitesi, dil, etiketler, aktiflik.\nSekmeler: Satış, Satınalma, Mali Bilgi ve Diğer, Muhasebe ve Notlar (hepsi aynı kontak kaydını düzenler), İlgili Kişiler ve Banka Hesapları."
},
"Groups": [
{
@ -162,14 +162,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_Supplier",
"SelectCommand": "Adm_T_Contact",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": "data/App.Prc.Supplier.json",
"SeedSyncInsert": true,
"SeedSyncUpdate": true,
"SeedSyncDelete": true,
"DeleteCommand": "UPDATE \"Prc_T_Supplier\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"SeedFilePath": "data/App.Definitions.Contact.json",
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Adm_T_Contact\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -230,7 +230,7 @@
{
"ColGap": 3,
"ColSpan": 4,
"SqlQuery": "SELECT 'App.Widget.Total' AS \"Title\", CAST(COUNT(*) AS VARCHAR(32)) AS \"Value\", 'blue' AS \"Color\", 'App.Prc.Supplier' AS \"SubTitle\", 'FaIndustry' AS \"Icon\" FROM \"Prc_T_Supplier\" WHERE \"TenantId\" = '@TENANTID' UNION ALL SELECT 'App.Widget.Active', CAST(COUNT(*) AS VARCHAR(32)), 'green', 'App.Prc.Supplier', 'FaCheckCircle' FROM \"Prc_T_Supplier\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 1 UNION ALL SELECT 'App.Widget.Passive', CAST(COUNT(*) AS VARCHAR(32)), 'gray', 'App.Prc.Supplier', 'FaTimesCircle' FROM \"Prc_T_Supplier\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 0",
"SqlQuery": "SELECT 'App.Widget.Total' AS \"Title\", CAST(COUNT(*) AS VARCHAR(32)) AS \"Value\", 'blue' AS \"Color\", 'App.Definitions.Contact' AS \"SubTitle\", 'FaIndustry' AS \"Icon\" FROM \"Adm_T_Contact\" WHERE \"TenantId\" = '@TENANTID' UNION ALL SELECT 'App.Widget.Active', CAST(COUNT(*) AS VARCHAR(32)), 'green', 'App.Definitions.Contact', 'FaCheckCircle' FROM \"Adm_T_Contact\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 1 UNION ALL SELECT 'App.Widget.Passive', CAST(COUNT(*) AS VARCHAR(32)), 'gray', 'App.Definitions.Contact', 'FaTimesCircle' FROM \"Adm_T_Contact\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 0",
"Title": "Title",
"Value": "Value",
"ValueClassName": "text-3xl",
@ -243,17 +243,17 @@
}
],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"CultureName": "en",
"Name": "App.Prc.Supplier",
"Name": "App.Definitions.Contact",
"KeyFieldName": "Id",
"Title": "App.Prc.Supplier.Title",
"Title": "App.Definitions.Contact.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.Supplier.Desc",
"Description": "App.Definitions.Contact.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -424,7 +424,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.Supplier.Title",
"Title": "App.Definitions.Contact.Title",
"ShowTitle": true,
"Width": 1400,
"Height": 800,
@ -444,25 +444,25 @@
{
"Order": 1,
"ItemType": "group",
"Caption": "App.Prc.Supplier.Group.General",
"Caption": "App.Definitions.Contact.Group.General",
"ColCount": 6,
"ColSpan": 1
}
],
"PermissionDto": {
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"D": "App.Prc.Supplier.Delete",
"E": "App.Prc.Supplier.Export",
"I": "App.Prc.Supplier.Import",
"N": "App.Prc.Supplier.Note"
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"D": "App.Definitions.Contact.Delete",
"E": "App.Definitions.Contact.Export",
"I": "App.Definitions.Contact.Import",
"N": "App.Definitions.Contact.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.Supplier",
"StorageKey": "listFormGridStorage-App.Definitions.Contact",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -480,8 +480,8 @@
"SubFormsDto": [
{
"TabType": "Form",
"TabTitle": "App.Prc.SupplierSales.Title",
"Code": "App.Prc.SupplierSales",
"TabTitle": "App.Definitions.ContactSales.Title",
"Code": "App.Definitions.ContactSales",
"IsRefresh": true,
"Relation": [
{
@ -493,8 +493,8 @@
},
{
"TabType": "Form",
"TabTitle": "App.Prc.SupplierPurchasing.Title",
"Code": "App.Prc.SupplierPurchasing",
"TabTitle": "App.Definitions.ContactPurchasing.Title",
"Code": "App.Definitions.ContactPurchasing",
"IsRefresh": true,
"Relation": [
{
@ -506,8 +506,8 @@
},
{
"TabType": "Form",
"TabTitle": "App.Prc.SupplierFinancial.Title",
"Code": "App.Prc.SupplierFinancial",
"TabTitle": "App.Definitions.ContactFinancial.Title",
"Code": "App.Definitions.ContactFinancial",
"IsRefresh": true,
"Relation": [
{
@ -519,8 +519,8 @@
},
{
"TabType": "Form",
"TabTitle": "App.Prc.SupplierAccounting.Title",
"Code": "App.Prc.SupplierAccounting",
"TabTitle": "App.Definitions.ContactAccounting.Title",
"Code": "App.Definitions.ContactAccounting",
"IsRefresh": true,
"Relation": [
{
@ -532,8 +532,8 @@
},
{
"TabType": "Form",
"TabTitle": "App.Prc.SupplierNotes.Title",
"Code": "App.Prc.SupplierNotes",
"TabTitle": "App.Definitions.ContactNotes.Title",
"Code": "App.Definitions.ContactNotes",
"IsRefresh": true,
"Relation": [
{
@ -545,27 +545,27 @@
},
{
"TabType": "List",
"TabTitle": "App.Prc.SupplierContact",
"Code": "App.Prc.SupplierContact",
"TabTitle": "App.Definitions.ContactPerson",
"Code": "App.Definitions.ContactPerson",
"IsRefresh": false,
"Relation": [
{
"ParentFieldName": "Id",
"DbType": 9,
"ChildFieldName": "SupplierId"
"ChildFieldName": "ContactId"
}
]
},
{
"TabType": "List",
"TabTitle": "App.Prc.SupplierBankAccount",
"Code": "App.Prc.SupplierBankAccount",
"TabTitle": "App.Definitions.ContactBankAccount",
"Code": "App.Definitions.ContactBankAccount",
"IsRefresh": false,
"Relation": [
{
"ParentFieldName": "Id",
"DbType": 9,
"ChildFieldName": "SupplierId"
"ChildFieldName": "ContactId"
}
]
}
@ -852,7 +852,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -937,9 +937,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -978,7 +978,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1063,9 +1063,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -1112,7 +1112,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1209,9 +1209,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -1250,7 +1250,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1347,9 +1347,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -1388,7 +1388,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1485,9 +1485,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -1526,7 +1526,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1623,9 +1623,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -1664,7 +1664,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1749,9 +1749,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -1790,7 +1790,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1875,9 +1875,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -1916,7 +1916,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2001,9 +2001,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2042,7 +2042,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2127,9 +2127,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2168,7 +2168,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2253,9 +2253,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2294,7 +2294,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2379,9 +2379,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2420,7 +2420,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2505,9 +2505,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2546,7 +2546,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2631,9 +2631,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2672,7 +2672,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2757,9 +2757,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2798,7 +2798,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -2895,9 +2895,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -2936,7 +2936,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -3021,9 +3021,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -3062,7 +3062,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -3141,15 +3141,15 @@
"CascadeFilterOperator": "=",
"CascadeParentFields": null,
"CascadeEmptyFields": null,
"LookupQuery": "SELECT Name AS [Key], Name AS [Name] FROM Prc_T_SupplierTag WHERE IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
"LookupQuery": "SELECT Name AS [Key], Name AS [Name] FROM Adm_T_ContactTag WHERE IsDeleted = 'false' AND IsActive = 1 ORDER BY Name"
},
"ValidationRuleDto": [],
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -3188,7 +3188,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.Supplier",
"ListFormCode": "App.Definitions.Contact",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -3285,9 +3285,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.Supplier.Create",
"R": "App.Prc.Supplier",
"U": "App.Prc.Supplier.Update",
"C": "App.Definitions.Contact.Create",
"R": "App.Definitions.Contact",
"U": "App.Definitions.Contact.Update",
"E": true,
"I": true
},
@ -3329,25 +3329,25 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.Supplier",
"App.Prc.Supplier.Title",
"App.Prc.Supplier.Desc",
"App.Definitions.Contact",
"App.Definitions.Contact.Title",
"App.Definitions.Contact.Desc",
"App.Listform.ListformField.CompanyType",
"App.Listform.ListformField.Latitude",
"App.Listform.ListformField.Longitude"
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.Supplier",
"App.Prc.Supplier.Create",
"App.Prc.Supplier.Update",
"App.Prc.Supplier.Delete",
"App.Prc.Supplier.Export",
"App.Prc.Supplier.Import",
"App.Prc.Supplier.Note"
"App.Definitions.Contact",
"App.Definitions.Contact.Create",
"App.Definitions.Contact.Update",
"App.Definitions.Contact.Delete",
"App.Definitions.Contact.Export",
"App.Definitions.Contact.Import",
"App.Definitions.Contact.Note"
],
"MenuCodes": [
"App.Prc.Supplier"
"App.Definitions.Contact"
],
"DataSourceCodes": [],
"ModuleIds": []

View file

@ -1,40 +1,40 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierAccounting",
"WizardCode": "App.Prc.SupplierAccounting",
"WizardName": "ContactAccounting",
"WizardCode": "App.Definitions.ContactAccounting",
"SeededAt": "2026-10-05T20:19:57.374139Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"CreateMenu": false,
"MenuCode": "App.Prc.SupplierAccounting",
"MenuCode": "App.Definitions.ContactAccounting",
"MenuOrder": 0,
"MenuUrl": "/admin/list/App.Prc.SupplierAccounting",
"MenuUrl": "/admin/list/App.Definitions.ContactAccounting",
"MenuIcon": "FcCalculator"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Supplier Accounting",
"MenuTr": "Tedarikçi Muhasebe",
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contact Accounting",
"MenuTr": "Kontak Muhasebe",
"TitleEn": "Accounting",
"TitleTr": "Muhasebe",
"DescEn": "Supplier Accounting — accounting settings of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Accounting tab (no menu of its own; edits the supplier record itself).\nFields: receivable account, payable account, invoice auto-approval and payment QR type.",
"DescTr": "Tedarikçi Muhasebe — tedarikçi kartının muhasebe ayarları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Muhasebe sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: alacak hesabı, borç hesabı, fatura otomatik onayı ve ödeme QR tipi."
"DescEn": "Contact Accounting — accounting settings of the contact card.\nWhere: Administration › Definitions › Contacts › Accounting tab (no menu of its own; edits the contact record itself).\nFields: receivable account, payable account, invoice auto-approval and payment QR type.",
"DescTr": "Kontak Muhasebe — kontak kartının muhasebe ayarları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Muhasebe sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: alacak hesabı, borç hesabı, fatura otomatik onayı ve ödeme QR tipi."
},
"Groups": [
{
@ -79,14 +79,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_Supplier",
"SelectCommand": "Adm_T_Contact",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": null,
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Prc_T_Supplier\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_Contact\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -145,17 +145,17 @@
"FormFieldsDefaultValueDto": [],
"WidgetsDto": [],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierAccounting",
"ListFormCode": "App.Definitions.ContactAccounting",
"CultureName": "en",
"Name": "App.Prc.SupplierAccounting",
"Name": "App.Definitions.ContactAccounting",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierAccounting.Title",
"Title": "App.Definitions.ContactAccounting.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierAccounting.Desc",
"Description": "App.Definitions.ContactAccounting.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -326,7 +326,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierAccounting.Title",
"Title": "App.Definitions.ContactAccounting.Title",
"ShowTitle": true,
"Width": 1000,
"Height": 500,
@ -352,19 +352,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierAccounting.Create",
"R": "App.Prc.SupplierAccounting",
"U": "App.Prc.SupplierAccounting.Update",
"D": "App.Prc.SupplierAccounting.Delete",
"E": "App.Prc.SupplierAccounting.Export",
"I": "App.Prc.SupplierAccounting.Import",
"N": "App.Prc.SupplierAccounting.Note"
"C": "App.Definitions.ContactAccounting.Create",
"R": "App.Definitions.ContactAccounting",
"U": "App.Definitions.ContactAccounting.Update",
"D": "App.Definitions.ContactAccounting.Delete",
"E": "App.Definitions.ContactAccounting.Export",
"I": "App.Definitions.ContactAccounting.Import",
"N": "App.Definitions.ContactAccounting.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierAccounting",
"StorageKey": "listFormGridStorage-App.Definitions.ContactAccounting",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -662,7 +662,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierAccounting",
"ListFormCode": "App.Definitions.ContactAccounting",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -747,9 +747,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierAccounting.Create",
"R": "App.Prc.SupplierAccounting",
"U": "App.Prc.SupplierAccounting.Update",
"C": "App.Definitions.ContactAccounting.Create",
"R": "App.Definitions.ContactAccounting",
"U": "App.Definitions.ContactAccounting.Update",
"E": true,
"I": true
},
@ -788,7 +788,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierAccounting",
"ListFormCode": "App.Definitions.ContactAccounting",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -873,9 +873,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierAccounting.Create",
"R": "App.Prc.SupplierAccounting",
"U": "App.Prc.SupplierAccounting.Update",
"C": "App.Definitions.ContactAccounting.Create",
"R": "App.Definitions.ContactAccounting",
"U": "App.Definitions.ContactAccounting.Update",
"E": true,
"I": true
},
@ -914,7 +914,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierAccounting",
"ListFormCode": "App.Definitions.ContactAccounting",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -999,9 +999,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierAccounting.Create",
"R": "App.Prc.SupplierAccounting",
"U": "App.Prc.SupplierAccounting.Update",
"C": "App.Definitions.ContactAccounting.Create",
"R": "App.Definitions.ContactAccounting",
"U": "App.Definitions.ContactAccounting.Update",
"E": true,
"I": true
},
@ -1040,7 +1040,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierAccounting",
"ListFormCode": "App.Definitions.ContactAccounting",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1125,9 +1125,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierAccounting.Create",
"R": "App.Prc.SupplierAccounting",
"U": "App.Prc.SupplierAccounting.Update",
"C": "App.Definitions.ContactAccounting.Create",
"R": "App.Definitions.ContactAccounting",
"U": "App.Definitions.ContactAccounting.Update",
"E": true,
"I": true
},
@ -1166,7 +1166,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierAccounting",
"ListFormCode": "App.Definitions.ContactAccounting",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1251,9 +1251,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierAccounting.Create",
"R": "App.Prc.SupplierAccounting",
"U": "App.Prc.SupplierAccounting.Update",
"C": "App.Definitions.ContactAccounting.Create",
"R": "App.Definitions.ContactAccounting",
"U": "App.Definitions.ContactAccounting.Update",
"E": true,
"I": true
},
@ -1295,9 +1295,9 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierAccounting",
"App.Prc.SupplierAccounting.Title",
"App.Prc.SupplierAccounting.Desc",
"App.Definitions.ContactAccounting",
"App.Definitions.ContactAccounting.Title",
"App.Definitions.ContactAccounting.Desc",
"App.Listform.ListformField.ReceivableAccount",
"App.Listform.ListformField.PayableAccount",
"App.Listform.ListformField.InvoiceAutoApprove",
@ -1305,13 +1305,13 @@
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierAccounting",
"App.Prc.SupplierAccounting.Create",
"App.Prc.SupplierAccounting.Update",
"App.Prc.SupplierAccounting.Delete",
"App.Prc.SupplierAccounting.Export",
"App.Prc.SupplierAccounting.Import",
"App.Prc.SupplierAccounting.Note"
"App.Definitions.ContactAccounting",
"App.Definitions.ContactAccounting.Create",
"App.Definitions.ContactAccounting.Update",
"App.Definitions.ContactAccounting.Delete",
"App.Definitions.ContactAccounting.Export",
"App.Definitions.ContactAccounting.Import",
"App.Definitions.ContactAccounting.Note"
],
"MenuCodes": [],
"DataSourceCodes": [],

View file

@ -1,40 +1,40 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierBankAccount",
"WizardCode": "App.Prc.SupplierBankAccount",
"WizardName": "ContactBankAccount",
"WizardCode": "App.Definitions.ContactBankAccount",
"SeededAt": "2026-10-05T19:16:19.577155Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"CreateMenu": false,
"MenuCode": "App.Prc.SupplierBankAccount",
"MenuCode": "App.Definitions.ContactBankAccount",
"MenuOrder": 0,
"MenuUrl": "/admin/list/App.Prc.SupplierBankAccount",
"MenuUrl": "/admin/list/App.Definitions.ContactBankAccount",
"MenuIcon": "FcCurrencyExchange"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Bank Accounts",
"MenuTr": "Banka Hesapları",
"TitleEn": "Bank Accounts",
"TitleTr": "Banka Hesapları",
"DescEn": "Supplier Bank Accounts — IBANs the supplier is paid to.\nWhere: Purchasing › Definitions › Suppliers › Bank Accounts tab (no menu of its own).\nFields: bank name, IBAN (15–34 characters, no spaces), account holder, currency, default account.\nThe supplier link (SupplierId) is filled automatically from the open supplier card.",
"DescTr": "Tedarikçi Banka Hesapları — tedarikçiye ödeme yapılan IBAN'lar.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Banka Hesapları sekmesi (kendi menüsü yoktur).\nAlanlar: banka adı, IBAN (15–34 karakter, boşluksuz büyük harf), hesap sahibi, para birimi, varsayılan hesap.\nTedarikçi bağlantısı (SupplierId) açık olan tedarikçi kartından otomatik yazılır."
"DescEn": "Contact Bank Accounts — IBANs of the contact used for payments and collections.\nWhere: Administration › Definitions › Contacts › Bank Accounts tab (no menu of its own).\nFields: bank name, IBAN (15–34 characters, no spaces), account holder, currency, default account.\nThe contact link (ContactId) is filled automatically from the open contact card.",
"DescTr": "Kontak Banka Hesapları — kontağın ödeme ve tahsilatta kullanılan IBAN'ları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Banka Hesapları sekmesi (kendi menüsü yoktur).\nAlanlar: banka adı, IBAN (15–34 karakter, boşluksuz büyük harf), hesap sahibi, para birimi, varsayılan hesap.\nKontak bağlantısı (ContactId) açık olan kontak kartından otomatik yazılır."
},
"Groups": [
{
@ -46,10 +46,10 @@
"Tr": "Kimlik"
},
{
"FieldName": "SupplierId",
"CaptionName": "App.Listform.ListformField.SupplierId",
"En": "Supplier",
"Tr": "Tedarikçi"
"FieldName": "ContactId",
"CaptionName": "App.Listform.ListformField.ContactId",
"En": "Contact",
"Tr": "Kontak"
},
{
"FieldName": "BankName",
@ -91,14 +91,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_SupplierBankAccount",
"SelectCommand": "Adm_T_ContactBankAccount",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": null,
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Prc_T_SupplierBankAccount\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_ContactBankAccount\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -157,17 +157,17 @@
"FormFieldsDefaultValueDto": [],
"WidgetsDto": [],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"CultureName": "en",
"Name": "App.Prc.SupplierBankAccount",
"Name": "App.Definitions.ContactBankAccount",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierBankAccount.Title",
"Title": "App.Definitions.ContactBankAccount.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierBankAccount.Desc",
"Description": "App.Definitions.ContactBankAccount.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -338,7 +338,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierBankAccount.Title",
"Title": "App.Definitions.ContactBankAccount.Title",
"ShowTitle": true,
"Width": 800,
"Height": 350,
@ -364,19 +364,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"D": "App.Prc.SupplierBankAccount.Delete",
"E": "App.Prc.SupplierBankAccount.Export",
"I": "App.Prc.SupplierBankAccount.Import",
"N": "App.Prc.SupplierBankAccount.Note"
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"D": "App.Definitions.ContactBankAccount.Delete",
"E": "App.Definitions.ContactBankAccount.Export",
"I": "App.Definitions.ContactBankAccount.Import",
"N": "App.Definitions.ContactBankAccount.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierBankAccount",
"StorageKey": "listFormGridStorage-App.Definitions.ContactBankAccount",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -674,7 +674,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -759,9 +759,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"E": true,
"I": true
},
@ -781,7 +781,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": null,
"EditGroupOrderNo": null,
@ -800,7 +800,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -814,11 +814,11 @@
"JoinFieldName2": null,
"BaseTableJoinFieldName2_OrValue": null
},
"FieldName": "SupplierId",
"CaptionName": "App.Listform.ListformField.SupplierId",
"FieldName": "ContactId",
"CaptionName": "App.Listform.ListformField.ContactId",
"PlaceHolder": null,
"ReadOnly": false,
"Visible": true,
"Visible": false,
"IsActive": true,
"Width": 0,
"ListOrderNo": 2,
@ -879,15 +879,15 @@
"CascadeFilterOperator": "=",
"CascadeParentFields": null,
"CascadeEmptyFields": null,
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Prc_T_Supplier WHERE IsDeleted = 'false' ORDER BY Name"
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Adm_T_Contact WHERE IsDeleted = 'false' ORDER BY Name"
},
"ValidationRuleDto": [],
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"E": true,
"I": true
},
@ -907,7 +907,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": null,
"EditGroupOrderNo": null,
@ -926,7 +926,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1011,9 +1011,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"E": true,
"I": true
},
@ -1033,7 +1033,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 1,
"EditGroupOrderNo": 1,
@ -1052,7 +1052,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1149,9 +1149,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"E": true,
"I": true
},
@ -1171,7 +1171,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 2,
"EditGroupOrderNo": 1,
@ -1190,7 +1190,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1275,9 +1275,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"E": true,
"I": true
},
@ -1297,7 +1297,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 3,
"EditGroupOrderNo": 1,
@ -1316,7 +1316,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1401,9 +1401,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"E": true,
"I": true
},
@ -1423,7 +1423,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 4,
"EditGroupOrderNo": 1,
@ -1442,7 +1442,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierBankAccount",
"ListFormCode": "App.Definitions.ContactBankAccount",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1527,9 +1527,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierBankAccount.Create",
"R": "App.Prc.SupplierBankAccount",
"U": "App.Prc.SupplierBankAccount.Update",
"C": "App.Definitions.ContactBankAccount.Create",
"R": "App.Definitions.ContactBankAccount",
"U": "App.Definitions.ContactBankAccount.Update",
"E": true,
"I": true
},
@ -1549,7 +1549,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 5,
"EditGroupOrderNo": 1,
@ -1571,21 +1571,21 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierBankAccount",
"App.Prc.SupplierBankAccount.Title",
"App.Prc.SupplierBankAccount.Desc",
"App.Definitions.ContactBankAccount",
"App.Definitions.ContactBankAccount.Title",
"App.Definitions.ContactBankAccount.Desc",
"App.Listform.ListformField.AccountHolder",
"App.Listform.ListformField.IsDefault"
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierBankAccount",
"App.Prc.SupplierBankAccount.Create",
"App.Prc.SupplierBankAccount.Update",
"App.Prc.SupplierBankAccount.Delete",
"App.Prc.SupplierBankAccount.Export",
"App.Prc.SupplierBankAccount.Import",
"App.Prc.SupplierBankAccount.Note"
"App.Definitions.ContactBankAccount",
"App.Definitions.ContactBankAccount.Create",
"App.Definitions.ContactBankAccount.Update",
"App.Definitions.ContactBankAccount.Delete",
"App.Definitions.ContactBankAccount.Export",
"App.Definitions.ContactBankAccount.Import",
"App.Definitions.ContactBankAccount.Note"
],
"MenuCodes": [],
"DataSourceCodes": [],

View file

@ -1,40 +1,40 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierFinancial",
"WizardCode": "App.Prc.SupplierFinancial",
"WizardName": "ContactFinancial",
"WizardCode": "App.Definitions.ContactFinancial",
"SeededAt": "2026-10-05T20:19:57.374139Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"CreateMenu": false,
"MenuCode": "App.Prc.SupplierFinancial",
"MenuCode": "App.Definitions.ContactFinancial",
"MenuOrder": 0,
"MenuUrl": "/admin/list/App.Prc.SupplierFinancial",
"MenuUrl": "/admin/list/App.Definitions.ContactFinancial",
"MenuIcon": "FcMoneyTransfer"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Supplier Financial & Other",
"MenuTr": "Tedarikçi Mali Bilgi ve Diğer",
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contact Financial & Other",
"MenuTr": "Kontak Mali Bilgi ve Diğer",
"TitleEn": "Financial & Other",
"TitleTr": "Mali Bilgi ve Diğer",
"DescEn": "Supplier Financial & Other — financial status and other identifiers of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Financial & Other tab (no menu of its own; edits the supplier record itself).\nFields: financial status, reference and barcode.",
"DescTr": "Tedarikçi Mali Bilgi ve Diğer — tedarikçi kartının mali durumu ve diğer tanımlayıcıları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Mali Bilgi ve Diğer sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: mali durum, referans ve barkod."
"DescEn": "Contact Financial & Other — financial status and other identifiers of the contact card.\nWhere: Administration › Definitions › Contacts › Financial & Other tab (no menu of its own; edits the contact record itself).\nFields: financial status, reference and barcode.",
"DescTr": "Kontak Mali Bilgi ve Diğer — kontak kartının mali durumu ve diğer tanımlayıcıları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Mali Bilgi ve Diğer sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: mali durum, referans ve barkod."
},
"Groups": [
{
@ -73,14 +73,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_Supplier",
"SelectCommand": "Adm_T_Contact",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": null,
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Prc_T_Supplier\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_Contact\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -139,17 +139,17 @@
"FormFieldsDefaultValueDto": [],
"WidgetsDto": [],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierFinancial",
"ListFormCode": "App.Definitions.ContactFinancial",
"CultureName": "en",
"Name": "App.Prc.SupplierFinancial",
"Name": "App.Definitions.ContactFinancial",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierFinancial.Title",
"Title": "App.Definitions.ContactFinancial.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierFinancial.Desc",
"Description": "App.Definitions.ContactFinancial.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -320,7 +320,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierFinancial.Title",
"Title": "App.Definitions.ContactFinancial.Title",
"ShowTitle": true,
"Width": 1000,
"Height": 500,
@ -346,19 +346,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierFinancial.Create",
"R": "App.Prc.SupplierFinancial",
"U": "App.Prc.SupplierFinancial.Update",
"D": "App.Prc.SupplierFinancial.Delete",
"E": "App.Prc.SupplierFinancial.Export",
"I": "App.Prc.SupplierFinancial.Import",
"N": "App.Prc.SupplierFinancial.Note"
"C": "App.Definitions.ContactFinancial.Create",
"R": "App.Definitions.ContactFinancial",
"U": "App.Definitions.ContactFinancial.Update",
"D": "App.Definitions.ContactFinancial.Delete",
"E": "App.Definitions.ContactFinancial.Export",
"I": "App.Definitions.ContactFinancial.Import",
"N": "App.Definitions.ContactFinancial.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierFinancial",
"StorageKey": "listFormGridStorage-App.Definitions.ContactFinancial",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -656,7 +656,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierFinancial",
"ListFormCode": "App.Definitions.ContactFinancial",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -741,9 +741,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierFinancial.Create",
"R": "App.Prc.SupplierFinancial",
"U": "App.Prc.SupplierFinancial.Update",
"C": "App.Definitions.ContactFinancial.Create",
"R": "App.Definitions.ContactFinancial",
"U": "App.Definitions.ContactFinancial.Update",
"E": true,
"I": true
},
@ -782,7 +782,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierFinancial",
"ListFormCode": "App.Definitions.ContactFinancial",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -867,9 +867,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierFinancial.Create",
"R": "App.Prc.SupplierFinancial",
"U": "App.Prc.SupplierFinancial.Update",
"C": "App.Definitions.ContactFinancial.Create",
"R": "App.Definitions.ContactFinancial",
"U": "App.Definitions.ContactFinancial.Update",
"E": true,
"I": true
},
@ -908,7 +908,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierFinancial",
"ListFormCode": "App.Definitions.ContactFinancial",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -993,9 +993,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierFinancial.Create",
"R": "App.Prc.SupplierFinancial",
"U": "App.Prc.SupplierFinancial.Update",
"C": "App.Definitions.ContactFinancial.Create",
"R": "App.Definitions.ContactFinancial",
"U": "App.Definitions.ContactFinancial.Update",
"E": true,
"I": true
},
@ -1034,7 +1034,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierFinancial",
"ListFormCode": "App.Definitions.ContactFinancial",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1119,9 +1119,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierFinancial.Create",
"R": "App.Prc.SupplierFinancial",
"U": "App.Prc.SupplierFinancial.Update",
"C": "App.Definitions.ContactFinancial.Create",
"R": "App.Definitions.ContactFinancial",
"U": "App.Definitions.ContactFinancial.Update",
"E": true,
"I": true
},
@ -1163,21 +1163,21 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierFinancial",
"App.Prc.SupplierFinancial.Title",
"App.Prc.SupplierFinancial.Desc",
"App.Definitions.ContactFinancial",
"App.Definitions.ContactFinancial.Title",
"App.Definitions.ContactFinancial.Desc",
"App.Listform.ListformField.FinancialStatus",
"App.Listform.ListformField.Reference"
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierFinancial",
"App.Prc.SupplierFinancial.Create",
"App.Prc.SupplierFinancial.Update",
"App.Prc.SupplierFinancial.Delete",
"App.Prc.SupplierFinancial.Export",
"App.Prc.SupplierFinancial.Import",
"App.Prc.SupplierFinancial.Note"
"App.Definitions.ContactFinancial",
"App.Definitions.ContactFinancial.Create",
"App.Definitions.ContactFinancial.Update",
"App.Definitions.ContactFinancial.Delete",
"App.Definitions.ContactFinancial.Export",
"App.Definitions.ContactFinancial.Import",
"App.Definitions.ContactFinancial.Note"
],
"MenuCodes": [],
"DataSourceCodes": [],

View file

@ -1,40 +1,40 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierNotes",
"WizardCode": "App.Prc.SupplierNotes",
"WizardName": "ContactNotes",
"WizardCode": "App.Definitions.ContactNotes",
"SeededAt": "2026-10-05T20:19:57.374139Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"CreateMenu": false,
"MenuCode": "App.Prc.SupplierNotes",
"MenuCode": "App.Definitions.ContactNotes",
"MenuOrder": 0,
"MenuUrl": "/admin/list/App.Prc.SupplierNotes",
"MenuUrl": "/admin/list/App.Definitions.ContactNotes",
"MenuIcon": "FcDocument"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Supplier Notes",
"MenuTr": "Tedarikçi Notları",
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contact Notes",
"MenuTr": "Kontak Notları",
"TitleEn": "Notes",
"TitleTr": "Notlar",
"DescEn": "Supplier Notes — free-form notes kept on the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Notes tab (no menu of its own; edits the supplier record itself).\nFields: notes (HTML editor) for agreements, warnings and other information about the supplier.",
"DescTr": "Tedarikçi Notları — tedarikçi kartında tutulan serbest notlar.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Notlar sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: anlaşmalar, uyarılar ve tedarikçiyle ilgili diğer bilgiler için notlar (HTML editör)."
"DescEn": "Contact Notes — free-form notes kept on the contact card.\nWhere: Administration › Definitions › Contacts › Notes tab (no menu of its own; edits the contact record itself).\nFields: notes (HTML editor) for agreements, warnings and other information about the contact.",
"DescTr": "Kontak Notları — kontak kartında tutulan serbest notlar.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Notlar sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: anlaşmalar, uyarılar ve kontakla ilgili diğer bilgiler için notlar (HTML editör)."
},
"Groups": [
{
@ -61,14 +61,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_Supplier",
"SelectCommand": "Adm_T_Contact",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": null,
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Prc_T_Supplier\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_Contact\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -127,17 +127,17 @@
"FormFieldsDefaultValueDto": [],
"WidgetsDto": [],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierNotes",
"ListFormCode": "App.Definitions.ContactNotes",
"CultureName": "en",
"Name": "App.Prc.SupplierNotes",
"Name": "App.Definitions.ContactNotes",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierNotes.Title",
"Title": "App.Definitions.ContactNotes.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierNotes.Desc",
"Description": "App.Definitions.ContactNotes.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -308,7 +308,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierNotes.Title",
"Title": "App.Definitions.ContactNotes.Title",
"ShowTitle": true,
"Width": 1000,
"Height": 500,
@ -334,19 +334,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierNotes.Create",
"R": "App.Prc.SupplierNotes",
"U": "App.Prc.SupplierNotes.Update",
"D": "App.Prc.SupplierNotes.Delete",
"E": "App.Prc.SupplierNotes.Export",
"I": "App.Prc.SupplierNotes.Import",
"N": "App.Prc.SupplierNotes.Note"
"C": "App.Definitions.ContactNotes.Create",
"R": "App.Definitions.ContactNotes",
"U": "App.Definitions.ContactNotes.Update",
"D": "App.Definitions.ContactNotes.Delete",
"E": "App.Definitions.ContactNotes.Export",
"I": "App.Definitions.ContactNotes.Import",
"N": "App.Definitions.ContactNotes.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierNotes",
"StorageKey": "listFormGridStorage-App.Definitions.ContactNotes",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -644,7 +644,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierNotes",
"ListFormCode": "App.Definitions.ContactNotes",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -729,9 +729,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierNotes.Create",
"R": "App.Prc.SupplierNotes",
"U": "App.Prc.SupplierNotes.Update",
"C": "App.Definitions.ContactNotes.Create",
"R": "App.Definitions.ContactNotes",
"U": "App.Definitions.ContactNotes.Update",
"E": true,
"I": true
},
@ -770,7 +770,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierNotes",
"ListFormCode": "App.Definitions.ContactNotes",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -855,9 +855,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierNotes.Create",
"R": "App.Prc.SupplierNotes",
"U": "App.Prc.SupplierNotes.Update",
"C": "App.Definitions.ContactNotes.Create",
"R": "App.Definitions.ContactNotes",
"U": "App.Definitions.ContactNotes.Update",
"E": true,
"I": true
},
@ -899,19 +899,19 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierNotes",
"App.Prc.SupplierNotes.Title",
"App.Prc.SupplierNotes.Desc"
"App.Definitions.ContactNotes",
"App.Definitions.ContactNotes.Title",
"App.Definitions.ContactNotes.Desc"
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierNotes",
"App.Prc.SupplierNotes.Create",
"App.Prc.SupplierNotes.Update",
"App.Prc.SupplierNotes.Delete",
"App.Prc.SupplierNotes.Export",
"App.Prc.SupplierNotes.Import",
"App.Prc.SupplierNotes.Note"
"App.Definitions.ContactNotes",
"App.Definitions.ContactNotes.Create",
"App.Definitions.ContactNotes.Update",
"App.Definitions.ContactNotes.Delete",
"App.Definitions.ContactNotes.Export",
"App.Definitions.ContactNotes.Import",
"App.Definitions.ContactNotes.Note"
],
"MenuCodes": [],
"DataSourceCodes": [],

View file

@ -1,40 +1,40 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierContact",
"WizardCode": "App.Prc.SupplierContact",
"WizardName": "ContactPerson",
"WizardCode": "App.Definitions.ContactPerson",
"SeededAt": "2026-10-05T19:16:01.6405425Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"CreateMenu": false,
"MenuCode": "App.Prc.SupplierContact",
"MenuCode": "App.Definitions.ContactPerson",
"MenuOrder": 0,
"MenuUrl": "/admin/list/App.Prc.SupplierContact",
"MenuUrl": "/admin/list/App.Definitions.ContactPerson",
"MenuIcon": "FcBusinessman"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Contacts",
"MenuTr": "Kontakları",
"TitleEn": "Contacts",
"TitleTr": "Kontaklar",
"DescEn": "Supplier Contacts — people working at the supplier (sales representative, consultant, analyst…).\nWhere: Purchasing › Definitions › Suppliers › Contacts tab (no menu of its own).\nFields: photo, name, job title, e-mail, phone, mobile, notes.\nThe supplier link (SupplierId) is filled automatically from the open supplier card.",
"DescTr": "Tedarikçi Kontakları — tedarikçi firmada çalışan kişiler (satış temsilcisi, danışman, analist…).\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Kontaklar sekmesi (kendi menüsü yoktur).\nAlanlar: fotoğraf, ad soyad, görev, e-posta, telefon, cep telefonu, notlar.\nTedarikçi bağlantısı (SupplierId) açık olan tedarikçi kartından otomatik yazılır."
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contact Persons",
"MenuTr": "İlgili Kişiler",
"TitleEn": "Contact Persons",
"TitleTr": "İlgili Kişiler",
"DescEn": "Contact Persons — people working at the contact company (sales representative, consultant, analyst…).\nWhere: Administration › Definitions › Contacts › Contact Persons tab (no menu of its own).\nFields: photo, name, job title, e-mail, phone, mobile, notes.\nThe contact link (ContactId) is filled automatically from the open contact card.",
"DescTr": "İlgili Kişiler — kontak firmada çalışan kişiler (satış temsilcisi, danışman, analist…).\nNerede: Yönetim › Tanımlamalar › Kontaklar › İlgili Kişiler sekmesi (kendi menüsü yoktur).\nAlanlar: fotoğraf, ad soyad, görev, e-posta, telefon, cep telefonu, notlar.\nKontak bağlantısı (ContactId) açık olan kontak kartından otomatik yazılır."
},
"Groups": [
{
@ -46,10 +46,10 @@
"Tr": "Kimlik"
},
{
"FieldName": "SupplierId",
"CaptionName": "App.Listform.ListformField.SupplierId",
"En": "Supplier",
"Tr": "Tedarikçi"
"FieldName": "ContactId",
"CaptionName": "App.Listform.ListformField.ContactId",
"En": "Contact",
"Tr": "Kontak"
},
{
"FieldName": "Photo",
@ -103,14 +103,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_SupplierContact",
"SelectCommand": "Adm_T_ContactPerson",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": null,
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Prc_T_SupplierContact\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_ContactPerson\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -169,17 +169,17 @@
"FormFieldsDefaultValueDto": [],
"WidgetsDto": [],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"CultureName": "en",
"Name": "App.Prc.SupplierContact",
"Name": "App.Definitions.ContactPerson",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierContact.Title",
"Title": "App.Definitions.ContactPerson.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierContact.Desc",
"Description": "App.Definitions.ContactPerson.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -350,7 +350,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierContact.Title",
"Title": "App.Definitions.ContactPerson.Title",
"ShowTitle": true,
"Width": 800,
"Height": 425,
@ -376,19 +376,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"D": "App.Prc.SupplierContact.Delete",
"E": "App.Prc.SupplierContact.Export",
"I": "App.Prc.SupplierContact.Import",
"N": "App.Prc.SupplierContact.Note"
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"D": "App.Definitions.ContactPerson.Delete",
"E": "App.Definitions.ContactPerson.Export",
"I": "App.Definitions.ContactPerson.Import",
"N": "App.Definitions.ContactPerson.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierContact",
"StorageKey": "listFormGridStorage-App.Definitions.ContactPerson",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -686,7 +686,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -771,9 +771,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -793,7 +793,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": null,
"EditGroupOrderNo": null,
@ -812,7 +812,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -826,11 +826,11 @@
"JoinFieldName2": null,
"BaseTableJoinFieldName2_OrValue": null
},
"FieldName": "SupplierId",
"CaptionName": "App.Listform.ListformField.SupplierId",
"FieldName": "ContactId",
"CaptionName": "App.Listform.ListformField.ContactId",
"PlaceHolder": null,
"ReadOnly": false,
"Visible": true,
"Visible": false,
"IsActive": true,
"Width": 0,
"ListOrderNo": 2,
@ -891,15 +891,15 @@
"CascadeFilterOperator": "=",
"CascadeParentFields": null,
"CascadeEmptyFields": null,
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Prc_T_Supplier WHERE IsDeleted = 'false' ORDER BY Name"
"LookupQuery": "SELECT Id AS [Key], Name AS [Name] FROM Adm_T_Contact WHERE IsDeleted = 'false' ORDER BY Name"
},
"ValidationRuleDto": [],
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -919,7 +919,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": null,
"EditGroupOrderNo": null,
@ -938,7 +938,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1023,9 +1023,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -1045,7 +1045,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 1,
"EditGroupOrderNo": 1,
@ -1064,7 +1064,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1161,9 +1161,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -1183,7 +1183,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 2,
"EditGroupOrderNo": 1,
@ -1202,7 +1202,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1287,9 +1287,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -1309,7 +1309,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 3,
"EditGroupOrderNo": 1,
@ -1328,7 +1328,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1425,9 +1425,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -1447,7 +1447,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 4,
"EditGroupOrderNo": 1,
@ -1466,7 +1466,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1563,9 +1563,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -1585,7 +1585,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 5,
"EditGroupOrderNo": 1,
@ -1604,7 +1604,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1701,9 +1701,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -1723,7 +1723,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 6,
"EditGroupOrderNo": 1,
@ -1742,7 +1742,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierContact",
"ListFormCode": "App.Definitions.ContactPerson",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1827,9 +1827,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierContact.Create",
"R": "App.Prc.SupplierContact",
"U": "App.Prc.SupplierContact.Update",
"C": "App.Definitions.ContactPerson.Create",
"R": "App.Definitions.ContactPerson",
"U": "App.Definitions.ContactPerson.Update",
"E": true,
"I": true
},
@ -1849,7 +1849,7 @@
"GroupInterval": "",
"WordWrapEnabled": false
},
"Alignment": null,
"Alignment": "left",
"Format": null,
"EditOrderNo": 7,
"EditGroupOrderNo": 1,
@ -1871,22 +1871,23 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierContact",
"App.Prc.SupplierContact.Title",
"App.Prc.SupplierContact.Desc",
"App.Definitions.ContactPerson",
"App.Definitions.ContactPerson.Title",
"App.Definitions.ContactPerson.Desc",
"App.Listform.ListformField.JobTitle",
"App.Listform.ListformField.Phone",
"App.Listform.ListformField.Mobile"
"App.Listform.ListformField.Mobile",
"App.Listform.ListformField.ContactId"
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierContact",
"App.Prc.SupplierContact.Create",
"App.Prc.SupplierContact.Update",
"App.Prc.SupplierContact.Delete",
"App.Prc.SupplierContact.Export",
"App.Prc.SupplierContact.Import",
"App.Prc.SupplierContact.Note"
"App.Definitions.ContactPerson",
"App.Definitions.ContactPerson.Create",
"App.Definitions.ContactPerson.Update",
"App.Definitions.ContactPerson.Delete",
"App.Definitions.ContactPerson.Export",
"App.Definitions.ContactPerson.Import",
"App.Definitions.ContactPerson.Note"
],
"MenuCodes": [],
"DataSourceCodes": [],

View file

@ -1,40 +1,40 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierPurchasing",
"WizardCode": "App.Prc.SupplierPurchasing",
"WizardName": "ContactPurchasing",
"WizardCode": "App.Definitions.ContactPurchasing",
"SeededAt": "2026-10-05T20:19:57.374139Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"CreateMenu": false,
"MenuCode": "App.Prc.SupplierPurchasing",
"MenuCode": "App.Definitions.ContactPurchasing",
"MenuOrder": 0,
"MenuUrl": "/admin/list/App.Prc.SupplierPurchasing",
"MenuUrl": "/admin/list/App.Definitions.ContactPurchasing",
"MenuIcon": "FcShop"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Supplier Purchasing",
"MenuTr": "Tedarikçi Satınalma",
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contact Purchasing",
"MenuTr": "Kontak Satınalma",
"TitleEn": "Purchasing",
"TitleTr": "Satınalma",
"DescEn": "Supplier Purchasing — the purchasing-side terms of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Purchasing tab (no menu of its own; edits the supplier record itself).\nFields: RFQ grouping (required), buyer, payment term and method (purchasing), receipt reminder and days before, supplier currency, Incoterm and Incoterm location (purchasing).\nLookups come from Payment Terms, Payment Methods and Incoterms.",
"DescTr": "Tedarikçi Satınalma — tedarikçi kartının satınalma tarafındaki koşulları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Satınalma sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: grup teklif talebi (zorunlu), alıcı, ödeme koşulu ve yöntemi (satınalma), alım hatırlatıcısı ve kaç gün önce, tedarikçi para birimi, teslimat koşulu ve konumu (satınalma).\nSeçenekler Ödeme Koşulları, Ödeme Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
"DescEn": "Contact Purchasing — the purchasing-side terms of the contact card.\nWhere: Administration › Definitions › Contacts › Purchasing tab (no menu of its own; edits the contact record itself).\nFields: RFQ grouping (required), buyer, payment term and method (purchasing), receipt reminder and days before, supplier currency, Incoterm and Incoterm location (purchasing).\nLookups come from Purchasing › Definitions: Payment Terms, Payment Methods and Incoterms.",
"DescTr": "Kontak Satınalma — kontak kartının satınalma tarafındaki koşulları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Satınalma sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: grup teklif talebi (zorunlu), alıcı, ödeme koşulu ve yöntemi (satınalma), alım hatırlatıcısı ve kaç gün önce, tedarikçi para birimi, teslimat koşulu ve konumu (satınalma).\nSeçenekler Satınalma › Tanımlamalar altındaki Ödeme Koşulları, Ödeme Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
},
"Groups": [
{
@ -109,14 +109,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_Supplier",
"SelectCommand": "Adm_T_Contact",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": null,
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Prc_T_Supplier\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_Contact\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -175,17 +175,17 @@
"FormFieldsDefaultValueDto": [],
"WidgetsDto": [],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"CultureName": "en",
"Name": "App.Prc.SupplierPurchasing",
"Name": "App.Definitions.ContactPurchasing",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierPurchasing.Title",
"Title": "App.Definitions.ContactPurchasing.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierPurchasing.Desc",
"Description": "App.Definitions.ContactPurchasing.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -356,7 +356,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierPurchasing.Title",
"Title": "App.Definitions.ContactPurchasing.Title",
"ShowTitle": true,
"Width": 1000,
"Height": 500,
@ -382,19 +382,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"D": "App.Prc.SupplierPurchasing.Delete",
"E": "App.Prc.SupplierPurchasing.Export",
"I": "App.Prc.SupplierPurchasing.Import",
"N": "App.Prc.SupplierPurchasing.Note"
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"D": "App.Definitions.ContactPurchasing.Delete",
"E": "App.Definitions.ContactPurchasing.Export",
"I": "App.Definitions.ContactPurchasing.Import",
"N": "App.Definitions.ContactPurchasing.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierPurchasing",
"StorageKey": "listFormGridStorage-App.Definitions.ContactPurchasing",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -692,7 +692,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -777,9 +777,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -818,7 +818,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -915,9 +915,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -956,7 +956,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1041,9 +1041,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1082,7 +1082,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1167,9 +1167,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1208,7 +1208,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1293,9 +1293,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1334,7 +1334,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1419,9 +1419,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1460,7 +1460,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1545,9 +1545,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1586,7 +1586,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1671,9 +1671,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1712,7 +1712,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1797,9 +1797,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1838,7 +1838,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierPurchasing",
"ListFormCode": "App.Definitions.ContactPurchasing",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1923,9 +1923,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierPurchasing.Create",
"R": "App.Prc.SupplierPurchasing",
"U": "App.Prc.SupplierPurchasing.Update",
"C": "App.Definitions.ContactPurchasing.Create",
"R": "App.Definitions.ContactPurchasing",
"U": "App.Definitions.ContactPurchasing.Update",
"E": true,
"I": true
},
@ -1967,9 +1967,9 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierPurchasing",
"App.Prc.SupplierPurchasing.Title",
"App.Prc.SupplierPurchasing.Desc",
"App.Definitions.ContactPurchasing",
"App.Definitions.ContactPurchasing.Title",
"App.Definitions.ContactPurchasing.Desc",
"App.Listform.ListformField.RfqGrouping",
"App.Listform.ListformField.BuyerUserId",
"App.Listform.ListformField.PurchasePaymentTermId",
@ -1982,13 +1982,13 @@
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierPurchasing",
"App.Prc.SupplierPurchasing.Create",
"App.Prc.SupplierPurchasing.Update",
"App.Prc.SupplierPurchasing.Delete",
"App.Prc.SupplierPurchasing.Export",
"App.Prc.SupplierPurchasing.Import",
"App.Prc.SupplierPurchasing.Note"
"App.Definitions.ContactPurchasing",
"App.Definitions.ContactPurchasing.Create",
"App.Definitions.ContactPurchasing.Update",
"App.Definitions.ContactPurchasing.Delete",
"App.Definitions.ContactPurchasing.Export",
"App.Definitions.ContactPurchasing.Import",
"App.Definitions.ContactPurchasing.Note"
],
"MenuCodes": [],
"DataSourceCodes": [],

View file

@ -1,40 +1,40 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierSales",
"WizardCode": "App.Prc.SupplierSales",
"WizardName": "ContactSales",
"WizardCode": "App.Definitions.ContactSales",
"SeededAt": "2026-10-05T20:19:57.374139Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"CreateMenu": false,
"MenuCode": "App.Prc.SupplierSales",
"MenuCode": "App.Definitions.ContactSales",
"MenuOrder": 0,
"MenuUrl": "/admin/list/App.Prc.SupplierSales",
"MenuUrl": "/admin/list/App.Definitions.ContactSales",
"MenuIcon": "FcSalesPerformance"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Supplier Sales",
"MenuTr": "Tedarikçi Satış",
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contact Sales",
"MenuTr": "Kontak Satış",
"TitleEn": "Sales",
"TitleTr": "Satış",
"DescEn": "Supplier Sales — the sales-side commercial terms of the supplier card.\nWhere: Purchasing › Definitions › Suppliers › Sales tab (no menu of its own; edits the supplier record itself).\nFields: sales representative, price list currency, payment term and method (sales), delivery method, Incoterm and Incoterm location (sales).\nLookups come from Payment Terms, Payment Methods, Delivery Methods and Incoterms.",
"DescTr": "Tedarikçi Satış — tedarikçi kartının satış tarafındaki ticari koşulları.\nNerede: Satınalma › Tanımlamalar › Tedarikçiler › Satış sekmesi (kendi menüsü yoktur; tedarikçi kaydının kendisini düzenler).\nAlanlar: satış temsilcisi, fiyat listesi para birimi, ödeme koşulu ve yöntemi (satış), teslim yöntemi, teslimat koşulu ve konumu (satış).\nSeçenekler Ödeme Koşulları, Ödeme Yöntemleri, Teslim Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
"DescEn": "Contact Sales — the sales-side commercial terms of the contact card.\nWhere: Administration › Definitions › Contacts › Sales tab (no menu of its own; edits the contact record itself).\nFields: sales representative, price list currency, payment term and method (sales), delivery method, Incoterm and Incoterm location (sales).\nLookups come from Purchasing › Definitions: Payment Terms, Payment Methods, Delivery Methods and Incoterms.",
"DescTr": "Kontak Satış — kontak kartının satış tarafındaki ticari koşulları.\nNerede: Yönetim › Tanımlamalar › Kontaklar › Satış sekmesi (kendi menüsü yoktur; kontak kaydının kendisini düzenler).\nAlanlar: satış temsilcisi, fiyat listesi para birimi, ödeme koşulu ve yöntemi (satış), teslim yöntemi, teslimat koşulu ve konumu (satış).\nSeçenekler Satınalma › Tanımlamalar altındaki Ödeme Koşulları, Ödeme Yöntemleri, Teslim Yöntemleri ve Teslimat Koşulları ekranlarından gelir."
},
"Groups": [
{
@ -97,14 +97,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_Supplier",
"SelectCommand": "Adm_T_Contact",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": null,
"SeedSyncInsert": false,
"SeedSyncUpdate": false,
"SeedSyncDelete": false,
"DeleteCommand": "UPDATE \"Prc_T_Supplier\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_Contact\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -163,17 +163,17 @@
"FormFieldsDefaultValueDto": [],
"WidgetsDto": [],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"CultureName": "en",
"Name": "App.Prc.SupplierSales",
"Name": "App.Definitions.ContactSales",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierSales.Title",
"Title": "App.Definitions.ContactSales.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierSales.Desc",
"Description": "App.Definitions.ContactSales.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -344,7 +344,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierSales.Title",
"Title": "App.Definitions.ContactSales.Title",
"ShowTitle": true,
"Width": 1000,
"Height": 500,
@ -370,19 +370,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"D": "App.Prc.SupplierSales.Delete",
"E": "App.Prc.SupplierSales.Export",
"I": "App.Prc.SupplierSales.Import",
"N": "App.Prc.SupplierSales.Note"
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"D": "App.Definitions.ContactSales.Delete",
"E": "App.Definitions.ContactSales.Export",
"I": "App.Definitions.ContactSales.Import",
"N": "App.Definitions.ContactSales.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierSales",
"StorageKey": "listFormGridStorage-App.Definitions.ContactSales",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -680,7 +680,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -765,9 +765,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -806,7 +806,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -891,9 +891,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -932,7 +932,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1017,9 +1017,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -1058,7 +1058,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1143,9 +1143,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -1184,7 +1184,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1269,9 +1269,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -1310,7 +1310,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1395,9 +1395,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -1436,7 +1436,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1521,9 +1521,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -1562,7 +1562,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierSales",
"ListFormCode": "App.Definitions.ContactSales",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1647,9 +1647,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierSales.Create",
"R": "App.Prc.SupplierSales",
"U": "App.Prc.SupplierSales.Update",
"C": "App.Definitions.ContactSales.Create",
"R": "App.Definitions.ContactSales",
"U": "App.Definitions.ContactSales.Update",
"E": true,
"I": true
},
@ -1691,9 +1691,9 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierSales",
"App.Prc.SupplierSales.Title",
"App.Prc.SupplierSales.Desc",
"App.Definitions.ContactSales",
"App.Definitions.ContactSales.Title",
"App.Definitions.ContactSales.Desc",
"App.Listform.ListformField.SalesUserId",
"App.Listform.ListformField.PriceListCurrency",
"App.Listform.ListformField.SalesPaymentTermId",
@ -1704,13 +1704,13 @@
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierSales",
"App.Prc.SupplierSales.Create",
"App.Prc.SupplierSales.Update",
"App.Prc.SupplierSales.Delete",
"App.Prc.SupplierSales.Export",
"App.Prc.SupplierSales.Import",
"App.Prc.SupplierSales.Note"
"App.Definitions.ContactSales",
"App.Definitions.ContactSales.Create",
"App.Definitions.ContactSales.Update",
"App.Definitions.ContactSales.Delete",
"App.Definitions.ContactSales.Export",
"App.Definitions.ContactSales.Import",
"App.Definitions.ContactSales.Note"
],
"MenuCodes": [],
"DataSourceCodes": [],

View file

@ -1,39 +1,39 @@
{
"Wizard": {
"ComponentKind": 0,
"WizardName": "SupplierTag",
"WizardCode": "App.Prc.SupplierTag",
"WizardName": "ContactTag",
"WizardCode": "App.Definitions.ContactTag",
"SeededAt": "2026-10-05T19:15:39.8972752Z",
"CustomComponentName": null,
"PermissionGroupName": "App.Prc",
"ModuleId": "Prc",
"PermissionGroupName": "App.Administration",
"ModuleId": "Adm",
"Menu": {
"MenuParentPath": [
{
"Code": "App.Prc",
"Icon": "FcShop",
"En": "Purchasing",
"Tr": "Satınalma"
"Code": "App.Administration",
"Icon": "FcOrganization",
"En": "Administration",
"Tr": "Yönetim"
}
],
"MenuParentCode": "App.Prc.Definitions",
"MenuParentIcon": "FcSettings",
"MenuCode": "App.Prc.SupplierTag",
"MenuOrder": 5,
"MenuUrl": "/admin/list/App.Prc.SupplierTag",
"MenuParentCode": "App.Administration.Definitions",
"MenuParentIcon": "FcFilingCabinet",
"MenuCode": "App.Definitions.ContactTag",
"MenuOrder": 3,
"MenuUrl": "/admin/list/App.Definitions.ContactTag",
"MenuIcon": "FcBookmark"
},
"Language": {
"MenuParentEn": "Definitions",
"MenuParentTr": "Tanımlamalar",
"PermissionGroupEn": "Purchasing",
"PermissionGroupTr": "Satınalma",
"MenuEn": "Supplier Tags",
"MenuTr": "Tedarikçi Etiketleri",
"TitleEn": "Supplier Tags",
"TitleTr": "Tedarikçi Etiketleri",
"DescEn": "Supplier Tags — labels used to classify suppliers (Vendor, Desk Manufacturers, Office Supplies…).\nWhere: Purchasing › Definitions › Supplier Tags.\nFields: name, color, active.\nUsed by: Suppliers › Tags field (multi-select tag box); tags can be used to filter and group suppliers.",
"DescTr": "Tedarikçi Etiketleri — tedarikçileri sınıflandırmak için kullanılan etiketler (Vendor, Desk Manufacturers, Ofis Malzemeleri…).\nNerede: Satınalma › Tanımlamalar › Tedarikçi Etiketleri.\nAlanlar: ad, renk, aktif.\nKullanıldığı yer: Tedarikçiler ekranındaki Etiketler alanında çoklu seçilir; tedarikçileri süzmek ve gruplamak için kullanılır."
"MenuParentEn": null,
"MenuParentTr": null,
"PermissionGroupEn": "Administration",
"PermissionGroupTr": "Yönetim",
"MenuEn": "Contact Tags",
"MenuTr": "Kontak Etiketleri",
"TitleEn": "Contact Tags",
"TitleTr": "Kontak Etiketleri",
"DescEn": "Contact Tags — labels used to classify contacts (Vendor, Customer, Desk Manufacturers, Office Supplies…).\nWhere: Administration › Definitions › Contact Tags.\nFields: name, color, active.\nUsed by: Contacts › Tags field (multi-select tag box); tags can be used to filter and group contacts.",
"DescTr": "Kontak Etiketleri — kontakları sınıflandırmak için kullanılan etiketler (Vendor, Müşteri, Desk Manufacturers, Ofis Malzemeleri…).\nNerede: Yönetim › Tanımlamalar › Kontak Etiketleri.\nAlanlar: ad, renk, aktif.\nKullanıldığı yer: Kontaklar ekranındaki Etiketler alanında çoklu seçilir; kontakları süzmek ve gruplamak için kullanılır."
},
"Groups": [
{
@ -72,14 +72,14 @@
"KeyFieldDbSourceType": 9,
"TableName": null,
"DefaultFilter": "\"IsDeleted\" = 'false'",
"SelectCommand": "Prc_T_SupplierTag",
"SelectCommand": "Adm_T_ContactTag",
"SelectCommandType": 1,
"SelectFieldsDefaultValueDto": [],
"SeedFilePath": "data/App.Prc.SupplierTag.json",
"SeedFilePath": "data/App.Definitions.ContactTag.json",
"SeedSyncInsert": true,
"SeedSyncUpdate": true,
"SeedSyncDelete": true,
"DeleteCommand": "UPDATE \"Prc_T_SupplierTag\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteCommand": "UPDATE \"Adm_T_ContactTag\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\" IN @Id",
"DeleteBeforeCommand": null,
"DeleteAfterCommand": null,
"DeleteFieldsDefaultValueDto": [
@ -140,7 +140,7 @@
{
"ColGap": 3,
"ColSpan": 4,
"SqlQuery": "SELECT 'App.Widget.Total' AS \"Title\", CAST(COUNT(*) AS VARCHAR(32)) AS \"Value\", 'blue' AS \"Color\", 'App.Prc.SupplierTag' AS \"SubTitle\", 'FaList' AS \"Icon\" FROM \"Prc_T_SupplierTag\" WHERE \"TenantId\" = '@TENANTID' UNION ALL SELECT 'App.Widget.Active', CAST(COUNT(*) AS VARCHAR(32)), 'green', 'App.Prc.SupplierTag', 'FaCheckCircle' FROM \"Prc_T_SupplierTag\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 1 UNION ALL SELECT 'App.Widget.Passive', CAST(COUNT(*) AS VARCHAR(32)), 'gray', 'App.Prc.SupplierTag', 'FaTimesCircle' FROM \"Prc_T_SupplierTag\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 0",
"SqlQuery": "SELECT 'App.Widget.Total' AS \"Title\", CAST(COUNT(*) AS VARCHAR(32)) AS \"Value\", 'blue' AS \"Color\", 'App.Definitions.ContactTag' AS \"SubTitle\", 'FaList' AS \"Icon\" FROM \"Adm_T_ContactTag\" WHERE \"TenantId\" = '@TENANTID' UNION ALL SELECT 'App.Widget.Active', CAST(COUNT(*) AS VARCHAR(32)), 'green', 'App.Definitions.ContactTag', 'FaCheckCircle' FROM \"Adm_T_ContactTag\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 1 UNION ALL SELECT 'App.Widget.Passive', CAST(COUNT(*) AS VARCHAR(32)), 'gray', 'App.Definitions.ContactTag', 'FaTimesCircle' FROM \"Adm_T_ContactTag\" WHERE \"TenantId\" = '@TENANTID' AND \"IsActive\" = 0",
"Title": "Title",
"Value": "Value",
"ValueClassName": "text-3xl",
@ -153,17 +153,17 @@
}
],
"ExtraFilterEditDto": [],
"ListFormCode": "App.Prc.SupplierTag",
"ListFormCode": "App.Definitions.ContactTag",
"CultureName": "en",
"Name": "App.Prc.SupplierTag",
"Name": "App.Definitions.ContactTag",
"KeyFieldName": "Id",
"Title": "App.Prc.SupplierTag.Title",
"Title": "App.Definitions.ContactTag.Title",
"SortMode": "single",
"PageSize": 10,
"Width": 0,
"Height": 0,
"FullHeight": false,
"Description": "App.Prc.SupplierTag.Desc",
"Description": "App.Definitions.ContactTag.Desc",
"FilterRowDto": {
"Visible": true,
"ApplyFilter": "auto",
@ -334,7 +334,7 @@
"StartEditAction": "click",
"EditColumnName": null,
"Popup": {
"Title": "App.Prc.SupplierTag.Title",
"Title": "App.Definitions.ContactTag.Title",
"ShowTitle": true,
"Width": 800,
"Height": 275,
@ -360,19 +360,19 @@
}
],
"PermissionDto": {
"C": "App.Prc.SupplierTag.Create",
"R": "App.Prc.SupplierTag",
"U": "App.Prc.SupplierTag.Update",
"D": "App.Prc.SupplierTag.Delete",
"E": "App.Prc.SupplierTag.Export",
"I": "App.Prc.SupplierTag.Import",
"N": "App.Prc.SupplierTag.Note"
"C": "App.Definitions.ContactTag.Create",
"R": "App.Definitions.ContactTag",
"U": "App.Definitions.ContactTag.Update",
"D": "App.Definitions.ContactTag.Delete",
"E": "App.Definitions.ContactTag.Export",
"I": "App.Definitions.ContactTag.Import",
"N": "App.Definitions.ContactTag.Note"
},
"CommandColumnDto": [],
"StateStoringDto": {
"Enabled": true,
"Type": "custom",
"StorageKey": "listFormGridStorage-App.Prc.SupplierTag",
"StorageKey": "listFormGridStorage-App.Definitions.ContactTag",
"SavingTimeout": 5000
},
"CustomJsSources": [],
@ -670,7 +670,7 @@
"Fields": [
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierTag",
"ListFormCode": "App.Definitions.ContactTag",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -755,9 +755,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierTag.Create",
"R": "App.Prc.SupplierTag",
"U": "App.Prc.SupplierTag.Update",
"C": "App.Definitions.ContactTag.Create",
"R": "App.Definitions.ContactTag",
"U": "App.Definitions.ContactTag.Update",
"E": true,
"I": true
},
@ -796,7 +796,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierTag",
"ListFormCode": "App.Definitions.ContactTag",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -893,9 +893,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierTag.Create",
"R": "App.Prc.SupplierTag",
"U": "App.Prc.SupplierTag.Update",
"C": "App.Definitions.ContactTag.Create",
"R": "App.Definitions.ContactTag",
"U": "App.Definitions.ContactTag.Update",
"E": true,
"I": true
},
@ -934,7 +934,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierTag",
"ListFormCode": "App.Definitions.ContactTag",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1019,9 +1019,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierTag.Create",
"R": "App.Prc.SupplierTag",
"U": "App.Prc.SupplierTag.Update",
"C": "App.Definitions.ContactTag.Create",
"R": "App.Definitions.ContactTag",
"U": "App.Definitions.ContactTag.Update",
"E": true,
"I": true
},
@ -1060,7 +1060,7 @@
},
{
"EditType": null,
"ListFormCode": "App.Prc.SupplierTag",
"ListFormCode": "App.Definitions.ContactTag",
"RoleId": null,
"UserId": null,
"ColumnJoinTableDto": {
@ -1157,9 +1157,9 @@
"ColumnStylingDto": [],
"PermissionDto": {
"Deny": false,
"C": "App.Prc.SupplierTag.Create",
"R": "App.Prc.SupplierTag",
"U": "App.Prc.SupplierTag.Update",
"C": "App.Definitions.ContactTag.Create",
"R": "App.Definitions.ContactTag",
"U": "App.Definitions.ContactTag.Update",
"E": true,
"I": true
},
@ -1201,22 +1201,22 @@
"IsCreatedField": true,
"InsertedRecords": {
"LanguageKeys": [
"App.Prc.SupplierTag",
"App.Prc.SupplierTag.Title",
"App.Prc.SupplierTag.Desc"
"App.Definitions.ContactTag",
"App.Definitions.ContactTag.Title",
"App.Definitions.ContactTag.Desc"
],
"PermissionGroupNames": [],
"PermissionNames": [
"App.Prc.SupplierTag",
"App.Prc.SupplierTag.Create",
"App.Prc.SupplierTag.Update",
"App.Prc.SupplierTag.Delete",
"App.Prc.SupplierTag.Export",
"App.Prc.SupplierTag.Import",
"App.Prc.SupplierTag.Note"
"App.Definitions.ContactTag",
"App.Definitions.ContactTag.Create",
"App.Definitions.ContactTag.Update",
"App.Definitions.ContactTag.Delete",
"App.Definitions.ContactTag.Export",
"App.Definitions.ContactTag.Import",
"App.Definitions.ContactTag.Note"
],
"MenuCodes": [
"App.Prc.SupplierTag"
"App.Definitions.ContactTag"
],
"DataSourceCodes": [],
"ModuleIds": []

View file

@ -4,16 +4,18 @@ import PageTitle from '@/components/shared/PageTitle'
import Button from '@/components/ui/Button'
import { APP_NAME } from '@/constants/app.constant'
import { ROUTES_ENUM } from '@/routes/route.constant'
import { pollUntilServerReady } from '@/services/setup.service'
import { getSetupStatus, pollUntilServerReady } from '@/services/setup.service'
import { useStoreState } from '@/store'
const SETUP_STATUS_RETRY_MS = 5000
/**
* Uygulama konfigürasyonu alınamadığında gösterilir (tipik olarak veritabanı erişilemez
* durumdayken).
*
* Kullanıcı bilinçli olarak kurulum sihirbazına yönlendirilmez — çalışan bir sistemde
* geçici bir arıza kimseyi kurulum ekranına düşürmemeli. Bunun yerine durum açıkça
* belirtilir, sunucu arka planda izlenir ve toparlandığı anda sayfa kendini yeniler.
* Kurulum sihirbazına yalnızca sunucu kendisi kurulum modunda olduğunu bildirdiğinde
* yönlendirilir — çalışan bir sistemde geçici bir arıza kimseyi kurulum ekranına düşürmemeli.
* Diğer durumlarda sunucu arka planda izlenir ve toparlandığı anda sayfa kendini yeniler.
*
* Metinler bilinçli olarak `translate` ile lokalize EDİLMEZ: bu ekran yalnızca
* konfigürasyon (ve onunla gelen lokalizasyon sözlüğü) yüklenemediğinde render edilir,
@ -33,6 +35,32 @@ const ServiceUnavailable = () => {
return cancel
}, [])
// Açılıştaki tek kurulum kontrolü sunucu henüz ayağa kalkmadan yapılmış olabilir; sunucu
// sonradan kurulum moduna geçerse config ucu hep 503 döner ve yukarıdaki poll hiç bitmez.
useEffect(() => {
let cancelled = false
let timerId: ReturnType<typeof setTimeout> | null = null
const check = async () => {
try {
const { data } = await getSetupStatus()
if (!cancelled && data.setupMode) {
window.location.assign(ROUTES_ENUM.setup)
return
}
} catch {
/* sunucu henüz ayakta değil */
}
if (!cancelled) timerId = setTimeout(check, SETUP_STATUS_RETRY_MS)
}
check()
return () => {
cancelled = true
if (timerId) clearTimeout(timerId)
}
}, [])
return (
<div
className={classNames(