Masaüstü ekranlarının çoğu metadata'dan genel bileşenlerle üretilir. Bu başvuru, src/cluster_erp/desktop/modules/ altındaki yedi klasörde bulunan elle yazılmış ekranları, bir kenar çubuğu bölümünün her birine nasıl ulaştığını, her birinin çağırdığı sunucu rotalarını ve her birinin ne eklediğini listeler. Rotaların arkasındaki iş kuralları her bölümde bağlantısı verilen modül sayfalarında belgelenir.
Kapsam ve kaynak¶
- Tanım yeri:
src/cluster_erp/desktop/modules/ve_CUSTOM_WIDGET_REGISTRYkaydı (src/cluster_erp/desktop/widgets/main_window.py:501-528). - Sayı: 7 klasör. Boş olmayan
.pydosyaları listelenerek bulunan, kod içeren 13 Python dosyası. 10 kayıt girdisi.purchasing_quotationsklasörü yalnızca boş bir__init__.pyiçerir. - Sunucu rotaları her dosyada bir modül yoluyla başlayan metin sabitleri aranarak toplandı. Yollar API temeline görelidir.
Bir bölümün ekrana ulaşması¶
view_type değeri custom olan bir kenar çubuğu bölümü bir custom_widget adlandırır. MainWindow kayıtta <module>.<custom_widget> arar, sınıfı içe aktarır ve onu API istemcisi, sinyal veri yolu, çevirmen, metadata deposu ve yabancı anahtar önbelleğiyle çağırır (src/cluster_erp/desktop/widgets/main_window.py:530-553). Kenar çubuğu, anahtarı kayıtta olmayan özel bir bölümü gizler (src/cluster_erp/desktop/widgets/sidebar.py:217-221).
| Kayıt anahtarı | Sınıf | Dosya |
|---|---|---|
production.scheduling_board |
SchedulingBoard |
src/cluster_erp/desktop/modules/production/scheduling_board.py:1474 |
procurement.mrp_exception_workbench |
ExceptionWorkbench |
src/cluster_erp/desktop/modules/procurement/mrp/exception_workbench.py:105 |
procurement.mrp_planned_orders |
PlannedOrdersView |
src/cluster_erp/desktop/modules/procurement/mrp/planned_orders.py:67 |
procurement.mrp_dashboard |
MrpDashboard |
src/cluster_erp/desktop/modules/procurement/mrp/dashboard.py:152 |
procurement.mrp_stock_requirements |
StockRequirementsView |
src/cluster_erp/desktop/modules/procurement/mrp/stock_requirements.py:73 |
logs.activity_log_view |
ActivityLogView |
src/cluster_erp/desktop/modules/logs/activity_log_view.py:310 |
logs.error_log_view |
ErrorLogView |
src/cluster_erp/desktop/modules/logs/error_log_view.py:230 |
inventory.warehouse_dashboard |
WarehouseDashboard |
src/cluster_erp/desktop/modules/inventory/warehouse_dashboard.py:258 |
bom.bom_explorer |
BomExplorer |
src/cluster_erp/desktop/modules/bom/bom_explorer.py:1054 |
calendars.global_calendar |
GlobalCalendarView |
src/cluster_erp/desktop/modules/calendars/global_calendar_view.py:55 |
Üç sınıf daha kayıtta değildir. BomBuilderPanel, BomExplorer içine gömülüdür (src/cluster_erp/desktop/modules/bom/bom_explorer.py:1494-1497). TimePhasedDialog ve PeggingDialog, PlannedOrdersView içinden açılır (src/cluster_erp/desktop/modules/procurement/mrp/planned_orders.py:492-519).
Ürün ağacı¶
BomExplorer iki sekmeli bir gezgindir. Belge dizgesi, GET /bom/bom-versions/{id}/tree ile beslenen, alt kırılıma inme ve kullanıldığı yerler görünümü olan bir bileşen ağacını ve satır içi standart süre düzenleme ile girdi atama sunan bir rota operasyon ağacını tanımlar (src/cluster_erp/desktop/modules/bom/bom_explorer.py:1-15). apply_navigation yöntemi vardır; böylece bir kayıt bağlantısı onu tek bir ürün ağacında açabilir (src/cluster_erp/desktop/modules/bom/bom_explorer.py:1846). Ağaç temsilcisi için renk körlüğü kipini okur ve accessibility_changed sinyalini dinler (src/cluster_erp/desktop/modules/bom/bom_explorer.py:1412-1419, src/cluster_erp/desktop/modules/bom/bom_explorer.py:1118).
BomBuilderPanel gezginin düzenleme kipidir: bir ürün paleti, döngü korumalı sürükle bırak ile düzenlenen bir kalem hiyerarşisi ve bir denetçi formu. Yalnızca taslak sürümler düzenlenebilir ve her değişiklik bir bom_item değişiklik sinyali yayar (src/cluster_erp/desktop/modules/bom/bom_builder.py:1-12, src/cluster_erp/desktop/modules/bom/bom_builder.py:838-840).
| Alan | Rotalar | Kaynak |
|---|---|---|
| Gezgin | /bom/boms/, /bom/bom-versions/, /bom/bom-versions/{version_id}/tree, /bom/bom-items/, /bom/bom-items/where-used/{part_id}, /production/routings/, /production/routings/for-product/{product_id}, /production/routings/scaffold-from-bom, /production/routings/scaffold-tree-from-bom, /production/operation-types/, /production/work-centers/, /production/component-allocations/, /products_and_services/products/ |
src/cluster_erp/desktop/modules/bom/bom_explorer.py |
| Oluşturucu | /bom/bom-items/, /bom/bom-items/{bom_item_id}, /bom/bom-items/{item_id}/move ve /products_and_services/ altındaki ürün, model, sürüm, kategori ve birim listeleri |
src/cluster_erp/desktop/modules/bom/bom_builder.py |
İş kuralları: BOM modülü.
Takvimler¶
GlobalCalendarView iki sekmeye sahiptir: grup kipinde WorkingCalendarPanel ile düzenlenen grup takvimi ve her kuruluş takviminin bir tarih aralığındaki genel görünüm ızgarası (src/cluster_erp/desktop/modules/calendars/global_calendar_view.py:1-11, src/cluster_erp/desktop/modules/calendars/global_calendar_view.py:83). Genel görünüm bir çalışan içinde /calendars/calendars, /owned_organisations/organisations/ ve her grup veya kuruluş takvimi için /calendars/calendars/{id}/preview okur (src/cluster_erp/desktop/modules/calendars/global_calendar_view.py:50, src/cluster_erp/desktop/modules/calendars/global_calendar_view.py:136-165). İş kuralları: takvimler modülü ve çalışma zamanı.
Envanter¶
WarehouseDashboard, /inventory/warehouses/dashboard okur ve kartlar ile çubuk grafikler çizer. Bir karta çift tıklamak kartın modülü ve bölümü için navigate_to yayar (src/cluster_erp/desktop/modules/inventory/warehouse_dashboard.py:76-97, src/cluster_erp/desktop/modules/inventory/warehouse_dashboard.py:258). İş kuralları: envanter modülü.
Günlükler¶
| Sınıf | Rotalar | Kaynak |
|---|---|---|
ActivityLogView |
/logs/activities/ |
src/cluster_erp/desktop/modules/logs/activity_log_view.py:310 |
ErrorLogView |
/logs/errors/, /logs/errors/by-trace/{trace_id} |
src/cluster_erp/desktop/modules/logs/error_log_view.py:230 |
İkisi de kendi QAbstractTableModel sınıfını kullanır (src/cluster_erp/desktop/modules/logs/activity_log_view.py:67, src/cluster_erp/desktop/modules/logs/error_log_view.py:61). İş kuralları: günlükler modülü.
Satın alma ve MRP¶
| Sınıf | Rotalar | Kaynak |
|---|---|---|
MrpDashboard |
/procurement/mrp/runs, /procurement/mrp/runs/{run_id}/summary |
src/cluster_erp/desktop/modules/procurement/mrp/dashboard.py:152 |
ExceptionWorkbench |
/procurement/mrp/runs, /procurement/mrp/runs/{run_id}/items, .../items/bulk-action, .../summary |
src/cluster_erp/desktop/modules/procurement/mrp/exception_workbench.py:105 |
PlannedOrdersView |
/procurement/mrp/runs, .../items, .../items/bulk-action, .../items/firm, .../items/unfirm |
src/cluster_erp/desktop/modules/procurement/mrp/planned_orders.py:67 |
StockRequirementsView |
/procurement/mrp/stock-requirements, /products_and_services/products/ |
src/cluster_erp/desktop/modules/procurement/mrp/stock_requirements.py:73 |
TimePhasedDialog |
/procurement/mrp/runs/{run_id}/products/{product_id}/time-phased |
src/cluster_erp/desktop/modules/procurement/mrp/time_phased.py:51 |
PeggingDialog |
/procurement/mrp/runs/{run_id}/products/{product_id}/pegging |
src/cluster_erp/desktop/modules/procurement/mrp/pegging.py:27 |
create_pr toplu aksiyonu seçilen planlı kalemleri .../items/bulk-action ucuna gönderir (src/cluster_erp/desktop/modules/procurement/mrp/planned_orders.py:411-417). MrpDashboard kartları navigate_to yayar (src/cluster_erp/desktop/modules/procurement/mrp/dashboard.py:94). İş kuralları: MRP.
Üretim¶
SchedulingBoard bir Gantt panosudur: satırlar iş merkezleri, eksen zaman, çubuklar çizelgelenmiş iş emirleridir. Belge dizgesi yapışmalı sürüklemeyi, istemcide hesaplanan çakışma renklendirmesini, Esc ile iptali, Ctrl+Z ile geri almayı, ok tuşlarıyla kaydırmayı ve çift tıklamada hassas bir tarih-saat düzenleyicisini tanımlar (src/cluster_erp/desktop/modules/production/scheduling_board.py:1-16). /production/scheduling/board okur ve bir work_order tanımlayıcısıyla /production/scheduling/work-orders/{wo_id}/schedule ve /production/scheduling/work-orders/{wo_id}/auto-schedule yazar (src/cluster_erp/desktop/modules/production/scheduling_board.py:2096-2099, src/cluster_erp/desktop/modules/production/scheduling_board.py:2263-2293). Bir iş emri ya da iş merkezi değiştiğinde yeniden yüklenir (src/cluster_erp/desktop/modules/production/scheduling_board.py:1516-1525) ve kayıtları open_entity ile açar (src/cluster_erp/desktop/modules/production/scheduling_board.py:2220). İş kuralları: çizelgeleme.
Satın alma teklifleri¶
src/cluster_erp/desktop/modules/purchasing_quotations/ paketi yalnızca boş bir __init__.py içerir. Tedarikçi teklifleri, sunucu metadata'sı onları bildirdiğinde masaüstünde genel bileşenlerle görünür. İş kuralları: satın alma teklifleri modülü.
Kısıtlar ve doğrulama¶
- Kayıtlı her sınıf,
_create_custom_widgetişlevinin verdiği beş anahtar sözcük bağımsız değişkenini alır (src/cluster_erp/desktop/widgets/main_window.py:544-553). BomExplorerveSchedulingBoardbelge dizgeleri, ekranların yalnızca REST API'yi kullandığını ve doğrudan modül çağrısı yapmadığını belirtir (src/cluster_erp/desktop/modules/bom/bom_explorer.py:13-14,src/cluster_erp/desktop/modules/production/scheduling_board.py:3-4).
Tutarsızlıklar¶
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| module screen | custom_widget |
custom bir kenar çubuğu bölümü üzerinden ulaşılan elle yazılmış masaüstü ekranı. |
modül ekranı | src/cluster_erp/desktop/widgets/main_window.py:373-376 |
| navigation hook | apply_navigation |
Tek bir kayda odaklanmak için gezinme parametrelerini alan ekran yöntemi. | gezinme kancası | src/cluster_erp/desktop/widgets/main_window.py:213-215 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.