Satınalma Talepleri
This commit is contained in:
parent
f44308756c
commit
6f472b15f0
13 changed files with 27 additions and 3347 deletions
|
|
@ -16824,76 +16824,6 @@
|
||||||
"MultiTenancySide": 3,
|
"MultiTenancySide": 3,
|
||||||
"Modules": "Prc"
|
"Modules": "Prc"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"GroupName": "App.Prc",
|
|
||||||
"Name": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"ParentName": "App.Prc.MaterialRequests",
|
|
||||||
"DisplayName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"Order": 4,
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"Modules": "Prc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.Prc",
|
|
||||||
"Name": "App.Prc.MaterialRequestPlanning.Create",
|
|
||||||
"ParentName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"DisplayName": "App.Platform.Create",
|
|
||||||
"Order": 1,
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"Modules": "Prc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.Prc",
|
|
||||||
"Name": "App.Prc.MaterialRequestPlanning.Update",
|
|
||||||
"ParentName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"DisplayName": "App.Platform.Update",
|
|
||||||
"Order": 2,
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"Modules": "Prc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.Prc",
|
|
||||||
"Name": "App.Prc.MaterialRequestPlanning.Delete",
|
|
||||||
"ParentName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"DisplayName": "App.Platform.Delete",
|
|
||||||
"Order": 3,
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"Modules": "Prc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.Prc",
|
|
||||||
"Name": "App.Prc.MaterialRequestPlanning.Export",
|
|
||||||
"ParentName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"DisplayName": "App.Platform.Export",
|
|
||||||
"Order": 4,
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"Modules": "Prc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.Prc",
|
|
||||||
"Name": "App.Prc.MaterialRequestPlanning.Import",
|
|
||||||
"ParentName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"DisplayName": "App.Platform.Import",
|
|
||||||
"Order": 5,
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"Modules": "Prc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.Prc",
|
|
||||||
"Name": "App.Prc.MaterialRequestPlanning.Note",
|
|
||||||
"ParentName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"DisplayName": "App.Platform.Note",
|
|
||||||
"Order": 6,
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"Modules": "Prc"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"GroupName": "App.Prc",
|
"GroupName": "App.Prc",
|
||||||
"Name": "App.Prc.MaterialRequest",
|
"Name": "App.Prc.MaterialRequest",
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,13 @@
|
||||||
"ApprovalArea": "Purchase",
|
"ApprovalArea": "Purchase",
|
||||||
"ApproverUserId": "77dc76f8-c567-974c-4bc6-3a2433f9216e",
|
"ApproverUserId": "77dc76f8-c567-974c-4bc6-3a2433f9216e",
|
||||||
"IsActive": true
|
"IsActive": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "db014b58-ec8b-4a65-b406-078f66323b7c",
|
||||||
|
"DepartmentId": "8f14e45f-ea2d-4d9f-9f1d-1a2b3c4d5e6f",
|
||||||
|
"ApprovalArea": "Purchase",
|
||||||
|
"ApproverUserId": "e065080e-be54-c62c-a272-3a243467aa16",
|
||||||
|
"IsActive": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36698,20 +36698,6 @@
|
||||||
"Key": "App.Listform.ListformField.PlannedEndDate",
|
"Key": "App.Listform.ListformField.PlannedEndDate",
|
||||||
"Value": "Planlanan Bitiş Tarihi"
|
"Value": "Planlanan Bitiş Tarihi"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Id": "71f44b99-33da-5adf-bc0f-02467329fdb2",
|
|
||||||
"CultureName": "en",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Listform.ListformField.PlannedQuantity",
|
|
||||||
"Value": "Planned Quantity"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": "5b1bb98c-dab7-5af3-a255-1b310ac206dd",
|
|
||||||
"CultureName": "tr",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Listform.ListformField.PlannedQuantity",
|
|
||||||
"Value": "Planlanan Miktar"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Id": "62dd0d52-6cd4-5f98-b670-50d57bde028f",
|
"Id": "62dd0d52-6cd4-5f98-b670-50d57bde028f",
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
|
|
@ -93216,20 +93202,6 @@
|
||||||
"Key": "App.Prc.MaterialRequest.LineStatus.Waiting",
|
"Key": "App.Prc.MaterialRequest.LineStatus.Waiting",
|
||||||
"Value": "Bekliyor"
|
"Value": "Bekliyor"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Id": "dbb37c7a-6cc4-5357-9c5f-f5d519f216bb",
|
|
||||||
"CultureName": "en",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequest.LineStatus.Planned",
|
|
||||||
"Value": "Planned"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": "d6f9b304-674f-53d7-82d6-b8df5c44e4de",
|
|
||||||
"CultureName": "tr",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequest.LineStatus.Planned",
|
|
||||||
"Value": "Planlandı"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Id": "d09ac050-b969-5106-9199-e1e08c021126",
|
"Id": "d09ac050-b969-5106-9199-e1e08c021126",
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
|
|
@ -93874,48 +93846,6 @@
|
||||||
"Key": "App.Prc.MaterialRequestPurchaseApproval.Desc",
|
"Key": "App.Prc.MaterialRequestPurchaseApproval.Desc",
|
||||||
"Value": "Satınalma Onayı Bekleyenler — departmanca onaylanmış ve satınalmanın kararını bekleyen malzeme talepleri.\nNerede: Satınalma › Satınalma Talepleri › Satınalma Onayı Bekleyenler.\nKim: Yönetim › Tanımlamalar › Onaycılar'da Satınalma Masası onay yerinde tanımlı onaycılar (departmandan bağımsız); her onaycı yalnız kendisine düşen talepleri görür.\nNe yapılır: talebi ve satırlarını inceleyip Onayla (talep Onaylandı olur, Planlama Bekleyenler'e düşer, talep edene bilgi gider) ya da not ve red nedeniyle Reddet.\nİlişkili: Departman Onayı Bekleyenler, Planlama Bekleyenler, Tüm Talepler."
|
"Value": "Satınalma Onayı Bekleyenler — departmanca onaylanmış ve satınalmanın kararını bekleyen malzeme talepleri.\nNerede: Satınalma › Satınalma Talepleri › Satınalma Onayı Bekleyenler.\nKim: Yönetim › Tanımlamalar › Onaycılar'da Satınalma Masası onay yerinde tanımlı onaycılar (departmandan bağımsız); her onaycı yalnız kendisine düşen talepleri görür.\nNe yapılır: talebi ve satırlarını inceleyip Onayla (talep Onaylandı olur, Planlama Bekleyenler'e düşer, talep edene bilgi gider) ya da not ve red nedeniyle Reddet.\nİlişkili: Departman Onayı Bekleyenler, Planlama Bekleyenler, Tüm Talepler."
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Id": "9e5e455f-ecc8-5066-8fb4-63884166647d",
|
|
||||||
"CultureName": "en",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"Value": "Awaiting Planning"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": "14c03915-e459-560b-b860-60547e1601a7",
|
|
||||||
"CultureName": "tr",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"Value": "Planlama Bekleyenler"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": "95fbb1fd-77cb-58f7-a493-e8b65c7c2d7a",
|
|
||||||
"CultureName": "en",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequestPlanning.Title",
|
|
||||||
"Value": "Awaiting Planning"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": "46910333-c5f6-59a3-a23f-c1492f1601d4",
|
|
||||||
"CultureName": "tr",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequestPlanning.Title",
|
|
||||||
"Value": "Planlama Bekleyenler"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": "2891afab-5548-5940-9e42-2bbba6f98611",
|
|
||||||
"CultureName": "en",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequestPlanning.Desc",
|
|
||||||
"Value": "Awaiting Planning — approved material requests whose lines are not all completed yet; the purchasing team's work list.\nWhere: Purchasing › Material Requests › Awaiting Planning.\nWhat to do: open the request and, on the Request Lines tab, set the purchasing responsible, the quantity to plan and the line status (Waiting / Planned / Done / Cancelled). The request status follows the lines: any line Planned → In Progress, some lines Done → Partially Done, all lines Done or Cancelled → Done (the request then leaves this list). This list is the starting point of the quotation process.\nRelated: Awaiting Purchasing Approval, All Requests."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": "93219adb-c4b3-5455-a59b-4d08b8a39e6b",
|
|
||||||
"CultureName": "tr",
|
|
||||||
"ResourceName": "Platform",
|
|
||||||
"Key": "App.Prc.MaterialRequestPlanning.Desc",
|
|
||||||
"Value": "Planlama Bekleyenler — onaylanmış ve satırları henüz tamamlanmamış malzeme talepleri; satınalma ekibinin iş listesi.\nNerede: Satınalma › Satınalma Talepleri › Planlama Bekleyenler.\nNe yapılır: talebi açıp Talep Satırları sekmesinde satınalma sorumlusunu, planlanacak miktarı ve satır durumunu (Bekliyor / Planlandı / Tamamlandı / İptal) girin. Talebin durumu satırları izler: bir satır Planlandı → İşlemde, satırların bir kısmı Tamamlandı → Kısmi Tamamlandı, tüm satırlar Tamamlandı ya da İptal → Tamamlandı (talep bu listeden çıkar). Teklif toplama sürecinin giriş noktasıdır.\nİlişkili: Satınalma Onayı Bekleyenler, Tüm Talepler."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Id": "04e8c193-a841-520d-b338-0d4a73ca066b",
|
"Id": "04e8c193-a841-520d-b338-0d4a73ca066b",
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
|
|
|
||||||
|
|
@ -2905,7 +2905,7 @@
|
||||||
"DisplayName": "App.Prc.MaterialRequestPurchaseApproval",
|
"DisplayName": "App.Prc.MaterialRequestPurchaseApproval",
|
||||||
"Order": 3,
|
"Order": 3,
|
||||||
"Url": "/admin/list/App.Prc.MaterialRequestPurchaseApproval",
|
"Url": "/admin/list/App.Prc.MaterialRequestPurchaseApproval",
|
||||||
"Icon": "FcApproval",
|
"Icon": "FcApprove",
|
||||||
"ParentCode": "App.Prc.MaterialRequests",
|
"ParentCode": "App.Prc.MaterialRequests",
|
||||||
"RequiredPermissionName": "App.Prc.MaterialRequestPurchaseApproval",
|
"RequiredPermissionName": "App.Prc.MaterialRequestPurchaseApproval",
|
||||||
"CssClass": null,
|
"CssClass": null,
|
||||||
|
|
@ -2914,21 +2914,6 @@
|
||||||
"ElementId": null,
|
"ElementId": null,
|
||||||
"ModuleId": "Prc"
|
"ModuleId": "Prc"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Id": "893db5a1-88bb-4116-be3c-54ffb800b61c",
|
|
||||||
"Code": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"DisplayName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"Order": 4,
|
|
||||||
"Url": "/admin/list/App.Prc.MaterialRequestPlanning",
|
|
||||||
"Icon": "FcPlanner",
|
|
||||||
"ParentCode": "App.Prc.MaterialRequests",
|
|
||||||
"RequiredPermissionName": "App.Prc.MaterialRequestPlanning",
|
|
||||||
"CssClass": null,
|
|
||||||
"Target": null,
|
|
||||||
"IsDisabled": false,
|
|
||||||
"ElementId": null,
|
|
||||||
"ModuleId": "Prc"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Id": "99ab4ed0-b594-4492-817e-a091fb7c3080",
|
"Id": "99ab4ed0-b594-4492-817e-a091fb7c3080",
|
||||||
"Code": "App.Prc.MaterialRequest",
|
"Code": "App.Prc.MaterialRequest",
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ Yok. Tanımlar Yönetim › Tanımlamalar › Kontaklar'ın Satış ve Satınalm
|
||||||
|
|
||||||
### 1. Amaç ve kapsam
|
### 1. Amaç ve kapsam
|
||||||
|
|
||||||
Departmanların iç ve dış ihtiyaç duydukları malzemeleri satınalmaya iletmesi. Talep eden personel talebi ve satırlarını girer, onaya gönderir; talep önce talep edenin departman onaycısına, sonra satınalmaya (Satınalma Masası) düşer. Onaylanan talep Planlama Bekleyenler listesine geçer ve satınalma ekibi satırları planlar; teklif toplama süreci bu listeden başlar. Teklif, sipariş, transfer ve stok miktarı bu dalın kapsamında değildir.
|
Departmanların iç ve dış ihtiyaç duydukları malzemeleri satınalmaya iletmesi. Talep eden personel talebi ve satırlarını girer, onaya gönderir; talep önce talep edenin departman onaycısına, sonra satınalmaya (Satınalma Masası) düşer. Onaylanan talep Tüm Talepler listesinde satınalma ekibinin işine düşer; teklif toplama süreci buradan başlar. Teklif, sipariş, transfer ve stok miktarı bu dalın kapsamında değildir.
|
||||||
|
|
||||||
### 2. Analiz ve kararlar
|
### 2. Analiz ve kararlar
|
||||||
|
|
||||||
|
|
@ -83,7 +83,8 @@ Departmanların iç ve dış ihtiyaç duydukları malzemeleri satınalmaya iletm
|
||||||
- Karşılama Şekli: Satınalma / Depodan Transfer.
|
- Karşılama Şekli: Satınalma / Depodan Transfer.
|
||||||
- Onay akışının "onaylayan" alanı platformda kullanıcı adı (metin) yazdığı için akışa bağlanmadı (`ApprovalUserFieldName` boş); departman/satınalma onaylayanı kayıt sonrası prosedürde kaydı son güncelleyen kullanıcıdan yazılır. `ApproverId` kolonu kullanılmaz.
|
- Onay akışının "onaylayan" alanı platformda kullanıcı adı (metin) yazdığı için akışa bağlanmadı (`ApprovalUserFieldName` boş); departman/satınalma onaylayanı kayıt sonrası prosedürde kaydı son güncelleyen kullanıcıdan yazılır. `ApproverId` kolonu kullanılmaz.
|
||||||
- Satır tablosu `Prc_T_MaterialRequestItem` adıyla açıldı (birim kolonu `Adm_T_Uom.Id` ile aynı tipte, nvarchar). İlk açılan `Prc_T_MaterialRequestLine` scripti (UomId uniqueidentifier) kullanılmıyor.
|
- Satır tablosu `Prc_T_MaterialRequestItem` adıyla açıldı (birim kolonu `Adm_T_Uom.Id` ile aynı tipte, nvarchar). İlk açılan `Prc_T_MaterialRequestLine` scripti (UomId uniqueidentifier) kullanılmıyor.
|
||||||
- Talep durumu satırlardan türetilir; ayrı İşlemde / Tamamlandı butonu yerine satır durumu (Bekliyor / Planlandı / Tamamlandı / İptal) kullanılır.
|
- Talep durumu satırlardan türetilir; ayrı Tamamlandı butonu yerine satır durumu (Bekliyor / Tamamlandı / İptal) kullanılır.
|
||||||
|
- Planlama aşaması kaldırıldı (Planlama Bekleyenler listesi, satırdaki Planlandı durumu ve Planlanacak Miktar). İşlemde (`InProgress`) durumu korunur: talep depoya girdiğinde kullanılacak, şimdilik hiçbir kural yazmaz.
|
||||||
|
|
||||||
### 3. Menü ve ekranlar
|
### 3. Menü ve ekranlar
|
||||||
|
|
||||||
|
|
@ -94,7 +95,6 @@ Satınalma (`App.Prc`) › Satınalma Talepleri (`App.Prc.MaterialRequests`):
|
||||||
| Taleplerim | `App.Prc.MyMaterialRequest` | talep eden = oturumdaki kullanıcı; ekle/sil açık, akış |
|
| Taleplerim | `App.Prc.MyMaterialRequest` | talep eden = oturumdaki kullanıcı; ekle/sil açık, akış |
|
||||||
| Departman Onayı Bekleyenler | `App.Prc.MaterialRequestDeptApproval` | ApprovalStatus = Departman Onayı; yalnız kendine düşenler |
|
| Departman Onayı Bekleyenler | `App.Prc.MaterialRequestDeptApproval` | ApprovalStatus = Departman Onayı; yalnız kendine düşenler |
|
||||||
| Satınalma Onayı Bekleyenler | `App.Prc.MaterialRequestPurchaseApproval` | ApprovalStatus = Satınalma Onayı; yalnız kendine düşenler |
|
| Satınalma Onayı Bekleyenler | `App.Prc.MaterialRequestPurchaseApproval` | ApprovalStatus = Satınalma Onayı; yalnız kendine düşenler |
|
||||||
| Planlama Bekleyenler | `App.Prc.MaterialRequestPlanning` | ApprovalStatus = Onaylandı ve Status ≠ Done; akış yok |
|
|
||||||
| Tüm Talepler | `App.Prc.MaterialRequest` | filtresiz; ekle/sil açık, akış |
|
| Tüm Talepler | `App.Prc.MaterialRequest` | filtresiz; ekle/sil açık, akış |
|
||||||
|
|
||||||
Talep Satırları (`App.Prc.MaterialRequestLine`) menüsüz alt formdur; beş listenin hepsinde sekmedir. Red Nedenleri (`App.Prc.RejectReason`) Satınalma › Tanımlamalar altındadır (bkz. Tanımlamalar).
|
Talep Satırları (`App.Prc.MaterialRequestLine`) menüsüz alt formdur; beş listenin hepsinde sekmedir. Red Nedenleri (`App.Prc.RejectReason`) Satınalma › Tanımlamalar altındadır (bkz. Tanımlamalar).
|
||||||
|
|
@ -104,13 +104,13 @@ Talep Satırları (`App.Prc.MaterialRequestLine`) menüsüz alt formdur; beş li
|
||||||
Tüm tablolar kiracı + tam audit + soft delete taşır.
|
Tüm tablolar kiracı + tam audit + soft delete taşır.
|
||||||
|
|
||||||
- `Prc_T_MaterialRequest`: RequestNo, Priority (0–3), RequesterUserId, DepartmentId, WarehouseId, LocationId, RequestDate, Description, Status (Draft / DeptApproval / PurchaseApproval / Approved / InProgress / PartiallyDone / Done / Rejected), ApprovalStatus, ApprovalDate, ApprovalNote (akış), DeptApproverUserNames / PurchaseApproverUserNames (`|` ayrılmış kullanıcı adları), DeptApprovedBy/Date/Note, PurchaseApprovedBy/Date/Note, RejectReasonId, ApproverId (kullanılmaz).
|
- `Prc_T_MaterialRequest`: RequestNo, Priority (0–3), RequesterUserId, DepartmentId, WarehouseId, LocationId, RequestDate, Description, Status (Draft / DeptApproval / PurchaseApproval / Approved / InProgress / PartiallyDone / Done / Rejected), ApprovalStatus, ApprovalDate, ApprovalNote (akış), DeptApproverUserNames / PurchaseApproverUserNames (`|` ayrılmış kullanıcı adları), DeptApprovedBy/Date/Note, PurchaseApprovedBy/Date/Note, RejectReasonId, ApproverId (kullanılmaz).
|
||||||
- `Prc_T_MaterialRequestItem`: MaterialRequestId (FK, cascade), ProductId, Quantity, UomId (nvarchar, `Adm_T_Uom`), FulfillmentMethod (Purchase / Transfer), DueDate, RequestReason, DeliveredQuantity, PlannedQuantity, PurchaseResponsibleUserId, LineStatus (Waiting / Planned / Done / Cancelled).
|
- `Prc_T_MaterialRequestItem`: MaterialRequestId (FK, cascade), ProductId, Quantity, UomId (nvarchar, `Adm_T_Uom`), FulfillmentMethod (Purchase / Transfer), DueDate, RequestReason, DeliveredQuantity, PurchaseResponsibleUserId, LineStatus (Waiting / Done / Cancelled).
|
||||||
- `Prc_T_RejectReason`: Name, SortOrder, IsActive.
|
- `Prc_T_RejectReason`: Name, SortOrder, IsActive.
|
||||||
- Prosedür `Prc_P_MaterialRequestAfterSave(@Id, @UserId)`.
|
- Prosedür `Prc_P_MaterialRequestAfterSave(@Id, @UserId)`.
|
||||||
|
|
||||||
### 5. İş kuralları ve hesaplar
|
### 5. İş kuralları ve hesaplar
|
||||||
|
|
||||||
- `Prc_P_MaterialRequestAfterSave` talep kaydı/güncellemesi ve satır ekleme/güncelleme/silme sonrasında çalışır: boş planlanacak miktarı talep miktarıyla doldurur; onaycı kullanıcı listelerini Onaycılar'dan yeniden yazar; ApprovalStatus departman adımını geçince departman onay bilgilerini, Onaylandı/Reddedildi olunca satınalma onay bilgilerini (onaylayan, tarih, not) kopyalar; Status'u türetir: Departman Onayı → DeptApproval, Satınalma Onayı → PurchaseApproval, Reddedildi → Rejected, Onaylandı → satırlara göre (tümü Tamamlandı/İptal → Done, bir kısmı Tamamlandı → PartiallyDone, Planlandı varsa → InProgress, değilse Approved), boş → Draft.
|
- `Prc_P_MaterialRequestAfterSave` talep kaydı/güncellemesi ve satır ekleme/güncelleme/silme sonrasında çalışır: onaycı kullanıcı listelerini Onaycılar'dan yeniden yazar; ApprovalStatus departman adımını geçince departman onay bilgilerini, Onaylandı/Reddedildi olunca satınalma onay bilgilerini (onaylayan, tarih, not) kopyalar; Status'u türetir: Departman Onayı → DeptApproval, Satınalma Onayı → PurchaseApproval, Reddedildi → Rejected, Onaylandı → satırlara göre (tümü Tamamlandı/İptal → Done, bir kısmı Tamamlandı → PartiallyDone, değilse Approved), boş → Draft.
|
||||||
- Onaya gönderilmiş talebe satır eklenemez ve satır silinemez (alt form Insert/Delete Before komutu). Onay sürecindeki ya da onaylanmış talep silinemez; reddedilen talep silinebilir.
|
- Onaya gönderilmiş talebe satır eklenemez ve satır silinemez (alt form Insert/Delete Before komutu). Onay sürecindeki ya da onaylanmış talep silinemez; reddedilen talep silinebilir.
|
||||||
- Ürün listesi yalnız aktif ve satın alınabilir ürünleri gösterir; birim ürünün satınalma biriminden (yoksa biriminden) kopyalanır, salt okunurdur.
|
- Ürün listesi yalnız aktif ve satın alınabilir ürünleri gösterir; birim ürünün satınalma biriminden (yoksa biriminden) kopyalanır, salt okunurdur.
|
||||||
- Depo değişince konum temizlenir; konum listesi depoya göre süzülür. Talep eden değişince departmanı kullanıcı kartından gelir; yeni kayıtta departman oturumdaki kullanıcının departmanıdır.
|
- Depo değişince konum temizlenir; konum listesi depoya göre süzülür. Talep eden değişince departmanı kullanıcı kartından gelir; yeni kayıtta departman oturumdaki kullanıcının departmanıdır.
|
||||||
|
|
@ -118,7 +118,7 @@ Tüm tablolar kiracı + tam audit + soft delete taşır.
|
||||||
|
|
||||||
### 6. Yetki ve görünürlük
|
### 6. Yetki ve görünürlük
|
||||||
|
|
||||||
Yetki ağacı: `App.Prc` › `App.Prc.MaterialRequests` › her liste (+ Create/Update/Delete/Export/Import/Note); alt form `App.Prc.MaterialRequestLine` listenin altında. Talep edenlere Taleplerim (+Create, +Update), onaycılara ilgili onay listesi (+Update), satınalma ekibine Planlama Bekleyenler ve Tüm Talepler verilir; satır alt formunun yetkisi de role verilmelidir. Onay listeleri yalnız kullanıcının onayına düşen kayıtları gösterir. Kiracı kapsamlı, şube filtresi yok.
|
Yetki ağacı: `App.Prc` › `App.Prc.MaterialRequests` › her liste (+ Create/Update/Delete/Export/Import/Note); alt form `App.Prc.MaterialRequestLine` listenin altında. Talep edenlere Taleplerim (+Create, +Update), onaycılara ilgili onay listesi (+Update), satınalma ekibine Tüm Talepler verilir; satır alt formunun yetkisi de role verilmelidir. Onay listeleri yalnız kullanıcının onayına düşen kayıtları gösterir. Kiracı kapsamlı, şube filtresi yok.
|
||||||
|
|
||||||
### 7. Entegrasyonlar
|
### 7. Entegrasyonlar
|
||||||
|
|
||||||
|
|
@ -129,8 +129,8 @@ Yönetim › Tanımlamalar › Onaycılar (onay yerleri Satınalma ve Satınalma
|
||||||
1. Onaycılar'da BT departmanı için Satınalma yerinde Ayşe, Satınalma Masası yerinde Mehmet tanımlıdır.
|
1. Onaycılar'da BT departmanı için Satınalma yerinde Ayşe, Satınalma Masası yerinde Mehmet tanımlıdır.
|
||||||
2. BT'den Ali Taleplerim'de yeni talep açar (MT-2026-00001), depo/konum seçer, Talep Satırları'na 10 adet ürün, termin ve neden girer; Onaya Gönder der.
|
2. BT'den Ali Taleplerim'de yeni talep açar (MT-2026-00001), depo/konum seçer, Talep Satırları'na 10 adet ürün, termin ve neden girer; Onaya Gönder der.
|
||||||
3. Ayşe Departman Onayı Bekleyenler'de talebi onaylar; talep Satınalma Onayı Bekleyenler'e geçer.
|
3. Ayşe Departman Onayı Bekleyenler'de talebi onaylar; talep Satınalma Onayı Bekleyenler'e geçer.
|
||||||
4. Mehmet onaylar; talep Onaylandı olur, Ali'ye bilgi gider, talep Planlama Bekleyenler'de görünür.
|
4. Mehmet onaylar; talep Onaylandı olur, Ali'ye bilgi gider.
|
||||||
5. Satınalma satırda sorumluyu atar, satırı Planlandı yapar (talep İşlemde), sonra Tamamlandı yapar (talep Tamamlandı, listeden çıkar).
|
5. Satınalma Tüm Talepler'de satıra sorumluyu atar ve satırı Tamamlandı yapar (talep Tamamlandı).
|
||||||
|
|
||||||
### 9. Sık sorulanlar
|
### 9. Sık sorulanlar
|
||||||
|
|
||||||
|
|
@ -143,7 +143,7 @@ Yönetim › Tanımlamalar › Onaycılar (onay yerleri Satınalma ve Satınalma
|
||||||
|
|
||||||
- Tablolar: `sql/object/Prc_T_MaterialRequest.sql`, `Prc_T_MaterialRequestItem.sql`, `Prc_T_RejectReason.sql` (+ postgres eşleri); kullanılmayan `Prc_T_MaterialRequestLine.sql`.
|
- Tablolar: `sql/object/Prc_T_MaterialRequest.sql`, `Prc_T_MaterialRequestItem.sql`, `Prc_T_RejectReason.sql` (+ postgres eşleri); kullanılmayan `Prc_T_MaterialRequestLine.sql`.
|
||||||
- Prosedür: `sql/object/Prc_P_MaterialRequestAfterSave.sql` (+ postgres).
|
- Prosedür: `sql/object/Prc_P_MaterialRequestAfterSave.sql` (+ postgres).
|
||||||
- Wizard'lar: `Prc_MaterialRequestLine.json`, `Prc_MyMaterialRequest.json`, `Prc_MaterialRequestDeptApproval.json`, `Prc_MaterialRequestPurchaseApproval.json`, `Prc_MaterialRequestPlanning.json`, `Prc_MaterialRequest.json`, `Prc_RejectReason.json`; güncellenen `Adm_Approver.json`.
|
- Wizard'lar: `Prc_MaterialRequestLine.json`, `Prc_MyMaterialRequest.json`, `Prc_MaterialRequestDeptApproval.json`, `Prc_MaterialRequestPurchaseApproval.json`, `Prc_MaterialRequest.json`, `Prc_RejectReason.json`; güncellenen `Adm_Approver.json`.
|
||||||
- Numaratör: `App.Definitions.Sequence` › `MaterialRequest`.
|
- Numaratör: `App.Definitions.Sequence` › `MaterialRequest`.
|
||||||
- Geri alma: Wizard Manager'da talep bazlı silme (alt form en son değil, önce listeler); tablolar yalnız açık onayla düşürülür.
|
- Geri alma: Wizard Manager'da talep bazlı silme (alt form en son değil, önce listeler); tablolar yalnız açık onayla düşürülür.
|
||||||
|
|
||||||
|
|
@ -396,43 +396,6 @@ Yönetim › Tanımlamalar › Onaycılar (onay yerleri Satınalma ve Satınalma
|
||||||
| `DeptApprovalDate` | Departman Onay Tarihi | dxDateBox | | ✓ | |
|
| `DeptApprovalDate` | Departman Onay Tarihi | dxDateBox | | ✓ | |
|
||||||
| `DeptApprovalNote` | Departman Onay Notu | dxTextArea | | ✓ | |
|
| `DeptApprovalNote` | Departman Onay Notu | dxTextArea | | ✓ | |
|
||||||
|
|
||||||
#### Planlama Bekleyenler — `App.Prc.MaterialRequestPlanning`
|
|
||||||
|
|
||||||
| Özellik | Değer |
|
|
||||||
| --- | --- |
|
|
||||||
| Wizard | `wizard/Prc_MaterialRequestPlanning.json` |
|
|
||||||
| Yol | Liste (Wizard) |
|
|
||||||
| Menü | `App.Prc.MaterialRequests` › `App.Prc.MaterialRequestPlanning` (sıra 4) |
|
|
||||||
| Yetki | `App.Prc.MaterialRequestPlanning` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
|
||||||
| Açıklama | Planlama Bekleyenler — onaylanmış ve satırları henüz tamamlanmamış malzeme talepleri; satınalma ekibinin iş listesi. |
|
|
||||||
| Geliştirme talebi | Satınalma -> Satınalma Talepleri |
|
|
||||||
| Kaynak | `Prc_T_MaterialRequest` · filtre `"IsDeleted" = 'false' AND "ApprovalStatus" = N'Onaylandı' AND "Status" <> 'Done'` |
|
|
||||||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
|
||||||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
|
||||||
| Kapsam | Kiracı |
|
|
||||||
| Alt formlar | `App.Prc.MaterialRequestLine` (Id → MaterialRequestId) |
|
|
||||||
| Widget'lar | `App.Prc.MaterialRequest.Status.Approved`, `App.Prc.MaterialRequest.Status.InProgress`, `App.Prc.MaterialRequest.Status.PartiallyDone` |
|
|
||||||
| Komutlar | UpdateAfter: `Prc_P_MaterialRequestAfterSave` |
|
|
||||||
| Form varsayılanları | Priority=0, Status=Draft |
|
|
||||||
|
|
||||||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
|
||||||
| --- | --- | --- | --- | --- | --- |
|
|
||||||
| `RequestNo` | Talep No | dxTextBox | | ✓ | |
|
|
||||||
| `Priority` | Öncelik (0-3) | dxRating | ✓ | ✓ | |
|
|
||||||
| `RequesterUserId` | Talep Eden | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
|
||||||
| `DepartmentId` | Departman | dxSelectBox | ✓ | ✓ | sorgu: Hr_T_Department |
|
|
||||||
| `WarehouseId` | Depo | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Warehouse |
|
|
||||||
| `LocationId` | Konum | dxSelectBox | ✓ | ✓ | sorgu: Inv_T_Location |
|
|
||||||
| `RequestDate` | Talep Tarihi | dxDateBox | ✓ | ✓ | |
|
|
||||||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, DeptApproval, PurchaseApproval, Approved, InProgress, PartiallyDone, Done, Rejected |
|
|
||||||
| `Description` | Genel Açıklama | dxTextArea | | ✓ | |
|
|
||||||
| `DeptApprovedBy` | Departman Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
|
||||||
| `PurchaseApprovedBy` | Satınalma Onaylayan | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
|
||||||
| `DeptApprovalDate` | Departman Onay Tarihi | dxDateBox | | ✓ | |
|
|
||||||
| `PurchaseApprovalDate` | Satınalma Onay Tarihi | dxDateBox | | ✓ | |
|
|
||||||
| `DeptApprovalNote` | Departman Onay Notu | dxTextArea | | ✓ | |
|
|
||||||
| `PurchaseApprovalNote` | Satınalma Onay Notu | dxTextArea | | ✓ | |
|
|
||||||
|
|
||||||
#### Tüm Talepler — `App.Prc.MaterialRequest`
|
#### Tüm Talepler — `App.Prc.MaterialRequest`
|
||||||
|
|
||||||
| Özellik | Değer |
|
| Özellik | Değer |
|
||||||
|
|
@ -505,8 +468,7 @@ Yönetim › Tanımlamalar › Onaycılar (onay yerleri Satınalma ve Satınalma
|
||||||
| `DueDate` | Termin Tarihi | dxDateBox | ✓ | ✓ | |
|
| `DueDate` | Termin Tarihi | dxDateBox | ✓ | ✓ | |
|
||||||
| `RequestReason` | Talep Nedeni | dxTextBox | ✓ | ✓ | |
|
| `RequestReason` | Talep Nedeni | dxTextBox | ✓ | ✓ | |
|
||||||
| `DeliveredQuantity` | Teslim | dxNumberBox | | ✓ | |
|
| `DeliveredQuantity` | Teslim | dxNumberBox | | ✓ | |
|
||||||
| `PlannedQuantity` | Planlanacak Miktar | dxNumberBox | | ✓ | |
|
|
||||||
| `PurchaseResponsibleUserId` | Satınalma Sorumlusu | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
| `PurchaseResponsibleUserId` | Satınalma Sorumlusu | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||||||
| `LineStatus` | Satır Durumu | dxSelectBox | ✓ | ✓ | liste: Waiting, Planned, Done, Cancelled |
|
| `LineStatus` | Satır Durumu | dxSelectBox | ✓ | ✓ | liste: Waiting, Done, Cancelled |
|
||||||
|
|
||||||
<!-- module-doc:auto:end -->
|
<!-- module-doc:auto:end -->
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,6 @@ AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF "p_Id" IS NULL THEN RETURN; END IF;
|
IF "p_Id" IS NULL THEN RETURN; END IF;
|
||||||
|
|
||||||
UPDATE "Prc_T_MaterialRequestItem" l SET "PlannedQuantity" = l."Quantity"
|
|
||||||
WHERE l."MaterialRequestId" = "p_Id" AND l."IsDeleted" = false AND l."PlannedQuantity" IS NULL;
|
|
||||||
|
|
||||||
UPDATE "Prc_T_MaterialRequest" r SET
|
UPDATE "Prc_T_MaterialRequest" r SET
|
||||||
"DeptApproverUserNames" = (
|
"DeptApproverUserNames" = (
|
||||||
SELECT string_agg(u."UserName", '|')
|
SELECT string_agg(u."UserName", '|')
|
||||||
|
|
@ -49,15 +46,13 @@ BEGIN
|
||||||
CASE
|
CASE
|
||||||
WHEN s."Total" > 0 AND s."Closed" = s."Total" THEN 'Done'
|
WHEN s."Total" > 0 AND s."Closed" = s."Total" THEN 'Done'
|
||||||
WHEN s."Closed" > 0 THEN 'PartiallyDone'
|
WHEN s."Closed" > 0 THEN 'PartiallyDone'
|
||||||
WHEN s."Planned" > 0 THEN 'InProgress'
|
|
||||||
ELSE 'Approved'
|
ELSE 'Approved'
|
||||||
END
|
END
|
||||||
ELSE 'Draft'
|
ELSE 'Draft'
|
||||||
END
|
END
|
||||||
FROM (
|
FROM (
|
||||||
SELECT COUNT(*) AS "Total",
|
SELECT COUNT(*) AS "Total",
|
||||||
COALESCE(SUM(CASE WHEN l."LineStatus" IN ('Done', 'Cancelled') THEN 1 ELSE 0 END), 0) AS "Closed",
|
COALESCE(SUM(CASE WHEN l."LineStatus" IN ('Done', 'Cancelled') THEN 1 ELSE 0 END), 0) AS "Closed"
|
||||||
COALESCE(SUM(CASE WHEN l."LineStatus" IN ('Planned', 'Done') THEN 1 ELSE 0 END), 0) AS "Planned"
|
|
||||||
FROM "Prc_T_MaterialRequestItem" l
|
FROM "Prc_T_MaterialRequestItem" l
|
||||||
WHERE l."MaterialRequestId" = "p_Id" AND l."IsDeleted" = false
|
WHERE l."MaterialRequestId" = "p_Id" AND l."IsDeleted" = false
|
||||||
) s
|
) s
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ CREATE TABLE IF NOT EXISTS public."Prc_T_MaterialRequestItem"
|
||||||
"DueDate" date NOT NULL,
|
"DueDate" date NOT NULL,
|
||||||
"RequestReason" varchar(256) NOT NULL,
|
"RequestReason" varchar(256) NOT NULL,
|
||||||
"DeliveredQuantity" numeric(18, 4) NOT NULL DEFAULT 0,
|
"DeliveredQuantity" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||||
"PlannedQuantity" numeric(18, 4) NULL,
|
|
||||||
"PurchaseResponsibleUserId" uuid NULL,
|
"PurchaseResponsibleUserId" uuid NULL,
|
||||||
"LineStatus" varchar(16) NOT NULL DEFAULT 'Waiting',
|
"LineStatus" varchar(16) NOT NULL DEFAULT 'Waiting',
|
||||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ CREATE TABLE IF NOT EXISTS public."Prc_T_MaterialRequestLine"
|
||||||
"DueDate" date NOT NULL,
|
"DueDate" date NOT NULL,
|
||||||
"RequestReason" varchar(256) NOT NULL,
|
"RequestReason" varchar(256) NOT NULL,
|
||||||
"DeliveredQuantity" numeric(18, 4) NOT NULL DEFAULT 0,
|
"DeliveredQuantity" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||||
"PlannedQuantity" numeric(18, 4) NULL,
|
|
||||||
"PurchaseResponsibleUserId" uuid NULL,
|
"PurchaseResponsibleUserId" uuid NULL,
|
||||||
"LineStatus" varchar(16) NOT NULL DEFAULT 'Waiting',
|
"LineStatus" varchar(16) NOT NULL DEFAULT 'Waiting',
|
||||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,6 @@ BEGIN
|
||||||
SET NOCOUNT ON;
|
SET NOCOUNT ON;
|
||||||
IF @Id IS NULL RETURN;
|
IF @Id IS NULL RETURN;
|
||||||
|
|
||||||
-- Satır planlanan miktarı boşsa talep miktarıyla doldur
|
|
||||||
UPDATE l SET PlannedQuantity = l.Quantity
|
|
||||||
FROM Prc_T_MaterialRequestItem l
|
|
||||||
WHERE l.MaterialRequestId = @Id AND l.IsDeleted = 0 AND l.PlannedQuantity IS NULL;
|
|
||||||
|
|
||||||
-- Onaycılar (Adm_T_Approver): departman onayı = Purchase + talebin departmanı, satınalma onayı = PurchaseDesk
|
-- Onaycılar (Adm_T_Approver): departman onayı = Purchase + talebin departmanı, satınalma onayı = PurchaseDesk
|
||||||
UPDATE r SET
|
UPDATE r SET
|
||||||
DeptApproverUserNames = (
|
DeptApproverUserNames = (
|
||||||
|
|
@ -57,7 +52,6 @@ BEGIN
|
||||||
CASE
|
CASE
|
||||||
WHEN s.Total > 0 AND s.Closed = s.Total THEN 'Done'
|
WHEN s.Total > 0 AND s.Closed = s.Total THEN 'Done'
|
||||||
WHEN s.Closed > 0 THEN 'PartiallyDone'
|
WHEN s.Closed > 0 THEN 'PartiallyDone'
|
||||||
WHEN s.Planned > 0 THEN 'InProgress'
|
|
||||||
ELSE 'Approved'
|
ELSE 'Approved'
|
||||||
END
|
END
|
||||||
ELSE 'Draft'
|
ELSE 'Draft'
|
||||||
|
|
@ -65,8 +59,7 @@ BEGIN
|
||||||
FROM Prc_T_MaterialRequest r
|
FROM Prc_T_MaterialRequest r
|
||||||
CROSS APPLY (
|
CROSS APPLY (
|
||||||
SELECT COUNT(*) AS Total,
|
SELECT COUNT(*) AS Total,
|
||||||
ISNULL(SUM(CASE WHEN l.LineStatus IN ('Done', 'Cancelled') THEN 1 ELSE 0 END), 0) AS Closed,
|
ISNULL(SUM(CASE WHEN l.LineStatus IN ('Done', 'Cancelled') THEN 1 ELSE 0 END), 0) AS Closed
|
||||||
ISNULL(SUM(CASE WHEN l.LineStatus IN ('Planned', 'Done') THEN 1 ELSE 0 END), 0) AS Planned
|
|
||||||
FROM Prc_T_MaterialRequestItem l
|
FROM Prc_T_MaterialRequestItem l
|
||||||
WHERE l.MaterialRequestId = r.Id AND l.IsDeleted = 0
|
WHERE l.MaterialRequestId = r.Id AND l.IsDeleted = 0
|
||||||
) s
|
) s
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ BEGIN
|
||||||
[DueDate] date NOT NULL,
|
[DueDate] date NOT NULL,
|
||||||
[RequestReason] nvarchar(256) NOT NULL,
|
[RequestReason] nvarchar(256) NOT NULL,
|
||||||
[DeliveredQuantity] decimal(18, 4) NOT NULL DEFAULT 0,
|
[DeliveredQuantity] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||||
[PlannedQuantity] decimal(18, 4) NULL,
|
|
||||||
[PurchaseResponsibleUserId] uniqueidentifier NULL,
|
[PurchaseResponsibleUserId] uniqueidentifier NULL,
|
||||||
[LineStatus] nvarchar(16) NOT NULL DEFAULT 'Waiting',
|
[LineStatus] nvarchar(16) NOT NULL DEFAULT 'Waiting',
|
||||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ BEGIN
|
||||||
[DueDate] date NOT NULL,
|
[DueDate] date NOT NULL,
|
||||||
[RequestReason] nvarchar(256) NOT NULL,
|
[RequestReason] nvarchar(256) NOT NULL,
|
||||||
[DeliveredQuantity] decimal(18, 4) NOT NULL DEFAULT 0,
|
[DeliveredQuantity] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||||
[PlannedQuantity] decimal(18, 4) NULL,
|
|
||||||
[PurchaseResponsibleUserId] uniqueidentifier NULL,
|
[PurchaseResponsibleUserId] uniqueidentifier NULL,
|
||||||
[LineStatus] nvarchar(16) NOT NULL DEFAULT 'Waiting',
|
[LineStatus] nvarchar(16) NOT NULL DEFAULT 'Waiting',
|
||||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@
|
||||||
"MenuTr": "Talep Satırları",
|
"MenuTr": "Talep Satırları",
|
||||||
"TitleEn": "Request Lines",
|
"TitleEn": "Request Lines",
|
||||||
"TitleTr": "Talep Satırları",
|
"TitleTr": "Talep Satırları",
|
||||||
"DescEn": "Request Lines — the products requested in a material request.\nWhere: Purchasing › Material Requests › any list › Request Lines tab (no menu of its own).\nFields: product (active, purchasable products), quantity, unit (copied from the product's purchase unit, read-only), fulfilment (Purchasing / Warehouse Transfer), due date, request reason, delivered quantity (read-only), planned quantity (defaults to quantity), purchasing responsible, line status (Waiting / Planned / Done / Cancelled).\nRules: lines can be added or deleted only while the request has not been sent for approval. Changing line statuses recalculates the request status (In Progress / Partially Done / Done).",
|
"DescEn": "Request Lines — the products requested in a material request.\nWhere: Purchasing › Material Requests › any list › Request Lines tab (no menu of its own).\nFields: product (active, purchasable products), quantity, unit (copied from the product's purchase unit, read-only), fulfilment (Purchasing / Warehouse Transfer), due date, request reason, delivered quantity (read-only), purchasing responsible, line status (Waiting / Done / Cancelled).\nRules: lines can be added or deleted only while the request has not been sent for approval. Changing line statuses recalculates the request status (Partially Done / Done).",
|
||||||
"DescTr": "Talep Satırları — malzeme talebinde istenen ürünler.\nNerede: Satınalma › Satınalma Talepleri › herhangi bir liste › Talep Satırları sekmesi (kendi menüsü yoktur).\nAlanlar: ürün (aktif ve satın alınabilir ürünler), miktar, birim (ürünün satınalma biriminden gelir, salt okunur), karşılama şekli (Satınalma / Depodan Transfer), termin tarihi, talep nedeni, teslim edilen miktar (salt okunur), planlanacak miktar (boşsa miktar), satınalma sorumlusu, satır durumu (Bekliyor / Planlandı / Tamamlandı / İptal).\nKurallar: satır yalnız talep onaya gönderilmeden eklenip silinebilir. Satır durumları değişince talebin durumu yeniden hesaplanır (İşlemde / Kısmi Tamamlandı / Tamamlandı).",
|
"DescTr": "Talep Satırları — malzeme talebinde istenen ürünler.\nNerede: Satınalma › Satınalma Talepleri › herhangi bir liste › Talep Satırları sekmesi (kendi menüsü yoktur).\nAlanlar: ürün (aktif ve satın alınabilir ürünler), miktar, birim (ürünün satınalma biriminden gelir, salt okunur), karşılama şekli (Satınalma / Depodan Transfer), termin tarihi, talep nedeni, teslim edilen miktar (salt okunur), satınalma sorumlusu, satır durumu (Bekliyor / Tamamlandı / İptal).\nKurallar: satır yalnız talep onaya gönderilmeden eklenip silinebilir. Satır durumları değişince talebin durumu yeniden hesaplanır (Kısmi Tamamlandı / Tamamlandı).",
|
||||||
"Texts": [
|
"Texts": [
|
||||||
{
|
{
|
||||||
"Key": "App.StaticLookup.Purchase",
|
"Key": "App.StaticLookup.Purchase",
|
||||||
|
|
@ -51,11 +51,6 @@
|
||||||
"En": "Waiting",
|
"En": "Waiting",
|
||||||
"Tr": "Bekliyor"
|
"Tr": "Bekliyor"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"Key": "App.Prc.MaterialRequest.LineStatus.Planned",
|
|
||||||
"En": "Planned",
|
|
||||||
"Tr": "Planlandı"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"Key": "App.Prc.MaterialRequest.LineStatus.Done",
|
"Key": "App.Prc.MaterialRequest.LineStatus.Done",
|
||||||
"En": "Done",
|
"En": "Done",
|
||||||
|
|
@ -125,12 +120,6 @@
|
||||||
"En": "Delivered",
|
"En": "Delivered",
|
||||||
"Tr": "Teslim"
|
"Tr": "Teslim"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"FieldName": "PlannedQuantity",
|
|
||||||
"CaptionName": "App.Listform.ListformField.PlannedQuantity",
|
|
||||||
"En": "Quantity to Plan",
|
|
||||||
"Tr": "Planlanacak Miktar"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"FieldName": "PurchaseResponsibleUserId",
|
"FieldName": "PurchaseResponsibleUserId",
|
||||||
"CaptionName": "App.Listform.ListformField.PurchaseResponsibleUserId",
|
"CaptionName": "App.Listform.ListformField.PurchaseResponsibleUserId",
|
||||||
|
|
@ -1991,132 +1980,6 @@
|
||||||
"CreatorId": null,
|
"CreatorId": null,
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
"Id": "00000000-0000-0000-0000-000000000000"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"EditType": null,
|
|
||||||
"ListFormCode": "App.Prc.MaterialRequestLine",
|
|
||||||
"RoleId": null,
|
|
||||||
"UserId": null,
|
|
||||||
"ColumnJoinTableDto": {
|
|
||||||
"JoinType": null,
|
|
||||||
"TableName": null,
|
|
||||||
"JoinFieldName": null,
|
|
||||||
"BaseTableJoinFieldName": null,
|
|
||||||
"SelectFieldName": null,
|
|
||||||
"FieldNameAlias": null,
|
|
||||||
"JoinCondition2": "AND",
|
|
||||||
"JoinFieldName2": null,
|
|
||||||
"BaseTableJoinFieldName2_OrValue": null
|
|
||||||
},
|
|
||||||
"FieldName": "PlannedQuantity",
|
|
||||||
"CaptionName": "App.Listform.ListformField.PlannedQuantity",
|
|
||||||
"PlaceHolder": null,
|
|
||||||
"ReadOnly": false,
|
|
||||||
"Visible": true,
|
|
||||||
"IsActive": true,
|
|
||||||
"Width": 0,
|
|
||||||
"ListOrderNo": 10,
|
|
||||||
"SourceDbType": 7,
|
|
||||||
"CultureName": "en",
|
|
||||||
"DataType": "number",
|
|
||||||
"SortIndex": 0,
|
|
||||||
"SortDirection": null,
|
|
||||||
"AllowSearch": true,
|
|
||||||
"AllowEditing": true,
|
|
||||||
"AllowAdding": true,
|
|
||||||
"ColumnCssClass": null,
|
|
||||||
"ColumnCssValue": null,
|
|
||||||
"BandName": null,
|
|
||||||
"ColumnFilterDto": {
|
|
||||||
"AllowFiltering": true,
|
|
||||||
"FilterOperations": null,
|
|
||||||
"SelectedFilterOperation": null,
|
|
||||||
"FilterValue": null
|
|
||||||
},
|
|
||||||
"ColumnHeaderDto": {
|
|
||||||
"AllowHeaderFiltering": true,
|
|
||||||
"AllowSearch": false,
|
|
||||||
"DataSource": null,
|
|
||||||
"DataSourceString": ""
|
|
||||||
},
|
|
||||||
"ColumnGroupingDto": {
|
|
||||||
"AllowGrouping": true,
|
|
||||||
"GroupIndex": null,
|
|
||||||
"AutoExpandGroup": false
|
|
||||||
},
|
|
||||||
"ColumnCustomizationDto": {
|
|
||||||
"Fixed": false,
|
|
||||||
"FixedPosition": "left",
|
|
||||||
"AllowReordering": true
|
|
||||||
},
|
|
||||||
"ColumnTotalSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"ColumnGroupSummaryDto": {
|
|
||||||
"SummaryType": null,
|
|
||||||
"ValueFormat": null,
|
|
||||||
"ShowInGroupFooter": false,
|
|
||||||
"AlignByColumn": false,
|
|
||||||
"DisplayFormat": null,
|
|
||||||
"ShowInColumn": null
|
|
||||||
},
|
|
||||||
"LookupDto": {
|
|
||||||
"DataSourceType": 0,
|
|
||||||
"ValueExpr": "Key",
|
|
||||||
"DisplayExpr": "Name",
|
|
||||||
"CascadeRelationField": null,
|
|
||||||
"CascadeFilterOperator": "=",
|
|
||||||
"CascadeParentFields": null,
|
|
||||||
"CascadeEmptyFields": null,
|
|
||||||
"LookupQuery": null
|
|
||||||
},
|
|
||||||
"ValidationRuleDto": [],
|
|
||||||
"ColumnStylingDto": [],
|
|
||||||
"PermissionDto": {
|
|
||||||
"Deny": false,
|
|
||||||
"C": "App.Prc.MaterialRequestLine.Create",
|
|
||||||
"R": "App.Prc.MaterialRequestLine",
|
|
||||||
"U": "App.Prc.MaterialRequestLine.Update",
|
|
||||||
"E": true,
|
|
||||||
"I": true
|
|
||||||
},
|
|
||||||
"CanRead": false,
|
|
||||||
"CanCreate": false,
|
|
||||||
"CanUpdate": false,
|
|
||||||
"CanExport": false,
|
|
||||||
"DefaultValue": null,
|
|
||||||
"DefaultValueType": 0,
|
|
||||||
"PivotSettingsDto": {
|
|
||||||
"IsPivot": true,
|
|
||||||
"Expanded": false,
|
|
||||||
"SortOrder": "asc",
|
|
||||||
"Area": "filter",
|
|
||||||
"Format": null,
|
|
||||||
"SummaryType": null,
|
|
||||||
"GroupInterval": "",
|
|
||||||
"WordWrapEnabled": false
|
|
||||||
},
|
|
||||||
"Alignment": "left",
|
|
||||||
"Format": null,
|
|
||||||
"EditOrderNo": 8,
|
|
||||||
"EditGroupOrderNo": 1,
|
|
||||||
"EditorType2": "dxNumberBox",
|
|
||||||
"ColSpan": 1,
|
|
||||||
"EditorOptions": "{\"format\":\"#,##0.##\",\"min\":0}",
|
|
||||||
"GridBoxOptions": null,
|
|
||||||
"TagBoxOptions": null,
|
|
||||||
"ImageUploadOptions": null,
|
|
||||||
"EditorScript": null,
|
|
||||||
"LastModificationTime": null,
|
|
||||||
"LastModifierId": null,
|
|
||||||
"CreationTime": "0001-01-01T00:00:00",
|
|
||||||
"CreatorId": null,
|
|
||||||
"Id": "00000000-0000-0000-0000-000000000000"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"EditType": null,
|
"EditType": null,
|
||||||
"ListFormCode": "App.Prc.MaterialRequestLine",
|
"ListFormCode": "App.Prc.MaterialRequestLine",
|
||||||
|
|
@ -2140,7 +2003,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 11,
|
"ListOrderNo": 10,
|
||||||
"SourceDbType": 9,
|
"SourceDbType": 9,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2228,7 +2091,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 9,
|
"EditOrderNo": 8,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -2266,7 +2129,7 @@
|
||||||
"Visible": true,
|
"Visible": true,
|
||||||
"IsActive": true,
|
"IsActive": true,
|
||||||
"Width": 0,
|
"Width": 0,
|
||||||
"ListOrderNo": 12,
|
"ListOrderNo": 11,
|
||||||
"SourceDbType": 16,
|
"SourceDbType": 16,
|
||||||
"CultureName": "en",
|
"CultureName": "en",
|
||||||
"DataType": "string",
|
"DataType": "string",
|
||||||
|
|
@ -2324,7 +2187,7 @@
|
||||||
"CascadeFilterOperator": "=",
|
"CascadeFilterOperator": "=",
|
||||||
"CascadeParentFields": null,
|
"CascadeParentFields": null,
|
||||||
"CascadeEmptyFields": null,
|
"CascadeEmptyFields": null,
|
||||||
"LookupQuery": "[{\"key\":\"Waiting\",\"name\":\"App.Prc.MaterialRequest.LineStatus.Waiting\"},{\"key\":\"Planned\",\"name\":\"App.Prc.MaterialRequest.LineStatus.Planned\"},{\"key\":\"Done\",\"name\":\"App.Prc.MaterialRequest.LineStatus.Done\"},{\"key\":\"Cancelled\",\"name\":\"App.Prc.MaterialRequest.LineStatus.Cancelled\"}]"
|
"LookupQuery": "[{\"key\":\"Waiting\",\"name\":\"App.Prc.MaterialRequest.LineStatus.Waiting\"},{\"key\":\"Done\",\"name\":\"App.Prc.MaterialRequest.LineStatus.Done\"},{\"key\":\"Cancelled\",\"name\":\"App.Prc.MaterialRequest.LineStatus.Cancelled\"}]"
|
||||||
},
|
},
|
||||||
"ValidationRuleDto": [
|
"ValidationRuleDto": [
|
||||||
{
|
{
|
||||||
|
|
@ -2366,7 +2229,7 @@
|
||||||
},
|
},
|
||||||
"Alignment": "left",
|
"Alignment": "left",
|
||||||
"Format": null,
|
"Format": null,
|
||||||
"EditOrderNo": 10,
|
"EditOrderNo": 9,
|
||||||
"EditGroupOrderNo": 1,
|
"EditGroupOrderNo": 1,
|
||||||
"EditorType2": "dxSelectBox",
|
"EditorType2": "dxSelectBox",
|
||||||
"ColSpan": 1,
|
"ColSpan": 1,
|
||||||
|
|
@ -2391,7 +2254,6 @@
|
||||||
"App.Prc.MaterialRequestLine.Desc",
|
"App.Prc.MaterialRequestLine.Desc",
|
||||||
"App.StaticLookup.WarehouseTransfer",
|
"App.StaticLookup.WarehouseTransfer",
|
||||||
"App.Prc.MaterialRequest.LineStatus.Waiting",
|
"App.Prc.MaterialRequest.LineStatus.Waiting",
|
||||||
"App.Prc.MaterialRequest.LineStatus.Planned",
|
|
||||||
"App.Prc.MaterialRequest.LineStatus.Done",
|
"App.Prc.MaterialRequest.LineStatus.Done",
|
||||||
"App.Prc.MaterialRequest.LineStatus.Cancelled",
|
"App.Prc.MaterialRequest.LineStatus.Cancelled",
|
||||||
"App.Listform.ListformField.MaterialRequestId",
|
"App.Listform.ListformField.MaterialRequestId",
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue