Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Modül

CRM modülü (crm)

Bir tarafın müşteri rolü, müşteri parça numaraları ve revizyonları, kalem ve malzemeli müşteri teklif talepleri ve teklif talebi gelen kutusuyla crm modülü sayfası.

src/cluster_erp/modules/crm/ içindeki crm modülü tekliften önceki müşteri tarafını yönetir. Bir tarafın müşteri rolünü tutar, müşteri parça numaralarını şirketin ürünlerine revizyonlarıyla eşler, müşteri teklif taleplerini (RFQ) kalemleri ve malzemeleriyle kaydeder ve teklif talebi e-postalarının bir gelen kutusunu tutar. Teklif taleplerini yanıtlayan teklifler quotations modülü içindedir. Bu sayfa genel bakıştır; alt konuların kendi sayfaları vardır.

Bir bakışta

Öğe Değer Kaynak
Paket src/cluster_erp/modules/crm/ klasör
Modül sınıfı Module src/cluster_erp/modules/crm/module.py:18
name / version crm / 0.1.0 src/cluster_erp/modules/crm/module.py:20-25
API öneki /api/v1/crm (ModuleBase.api_prefix) src/cluster_erp/core/module_base.py:37-38
Alt modüller 7: customers, customer_parts, customer_part_revisions, rfqs, rfq_line_items, rfq_line_materials, inbox klasör listesi
Tablolar 8: crm_customers, crm_customer_parts, crm_customer_part_revisions, crm_rfqs, crm_rfq_packages, crm_rfq_line_items, crm_rfq_line_materials, crm_rfq_inbox_messages yedi models.py dosyasındaki __tablename__
Metadata'daki varlıklar entities içinde 8 anahtar src/cluster_erp/modules/crm/module.py:393-402
Uçlar Pakette 57 uç dekoratörü @...router.get/post/put/patch/delete için grep
Aksiyonlar 12 ActionMeta girdisi pakette grep "ActionMeta("
Göçler 16 dosya metni sekiz tablo adından birini içeren migrations/versions/ dosyaları
Web uygulamasında yeri crm klasöründe liste ekranı olan customer-parts ve rfqs katalog uygulamaları src/cluster_erp/modules/app_store/catalog.json:1002-1018, src/cluster_erp/modules/app_store/catalog.json:1052-1068
Masaüstünde yeri yalnızca genel bileşenler src/cluster_erp/desktop/modules/ içinde crm klasörü yok

Modül ne yapar

  • Taraf başına, kimlik alanları taraftan türetilen bir müşteri rolü tutar (src/cluster_erp/modules/crm/customers/services.py:75-146).
  • Bir müşterinin parça numarasını şirketin ürünlerinden birine eşler ve o parçanın revizyonlarını tutar (src/cluster_erp/modules/crm/customer_parts/models.py:13-52, src/cluster_erp/modules/crm/customer_part_revisions/models.py:13-43).
  • Müşteri teklif taleplerini bir durum makinesi, kalemler, malzemeler ve bir belge paketiyle kaydeder (src/cluster_erp/modules/crm/rfqs/services.py:64-80).
  • Gelen teklif talebi e-postalarını tutar ve teklif taleplerine eşler (src/cluster_erp/modules/crm/inbox/services.py:67-131).

Alt modüller

Alt modül Amaç Ana varlıklar Yönlendirici Kaynak
customers Bir tarafın müşteri rolü Customer /customers src/cluster_erp/modules/crm/customers/routes.py:28-37
customer_parts Müşteri parça numaraları CustomerPart /customer-parts src/cluster_erp/modules/crm/customer_parts/routes.py:27-47
customer_part_revisions Bir müşteri parçasının revizyonları CustomerPartRevision /customer-parts/{id}/revisions, /customer-part-revisions src/cluster_erp/modules/crm/customer_part_revisions/routes.py:21-24
rfqs Müşteri teklif talepleri ve belge paketleri Rfq, RfqPackage /rfqs, /rfq-packages src/cluster_erp/modules/crm/rfqs/routes.py:36-51
rfq_line_items Teklif talebi kalemleri RfqLineItem /rfqs/{rfq_id}/line-items, /line-items src/cluster_erp/modules/crm/rfq_line_items/routes.py:20-23
rfq_line_materials Teklif talebi kalemi başına malzemeler RfqLineMaterial /line-items/{id}/materials, /line-materials src/cluster_erp/modules/crm/rfq_line_materials/routes.py:26-29
inbox Teklif talebi e-postaları RfqInboxMessage /inbox src/cluster_erp/modules/crm/inbox/routes.py:22-25

Tüm yönlendiriciler modül önekinin altına require_app("crm") ile bağlanır (src/cluster_erp/modules/crm/module.py:66-74).

Veri modeli

Alanlar müşteriler ve müşteri parçaları, teklif talepleri ve gelen kutusu sayfalarında listelenir. CustomerPart.part_id yalnızca bir ürünü adlandırır; model veya versiyon taşımaz (src/cluster_erp/modules/crm/customer_parts/models.py:35). Modül para sütunu saklamaz.

Ekranlar ve metadata

get_metadata iki gruplu Müşteri İlişkileri (İngilizce Customer Relations) kenar çubuğunu bildirir: Müşteri Parça Numaraları ile Müşteri Parçaları ve Teklif Talepleri ile Gelen Kutusu içeren Teklif Talebi Yönetimi (src/cluster_erp/modules/crm/module.py:331-390). Müşteri rolünün kendisi taraf kartında gösterilir; bkz. taraf birleştirme.

Durumlar ve aksiyonlar

Teklif talebi durumları ve aksiyonları teklif talepleri, revizyon ve gelen kutusu aksiyonları müşteriler ve müşteri parçaları ile gelen kutusu sayfalarındadır.

İş kuralları

Her alt konu sayfası kendi kurallarını listeler. İş anahtarları customer, request_for_quotation ve rfq_package yıllık dizilerinden gelir (src/cluster_erp/modules/crm/customers/services.py:108, src/cluster_erp/modules/crm/rfqs/services.py:173, src/cluster_erp/modules/crm/rfqs/services.py:583).

Olaylar ve sorgular

Modül 9 sözleşme tüketir ve 14 sözleşme üretir; sayım parties modülü sayfasındaki gibi yapıldı. Tam liste sözleşmeler başvurusu sayfasındadır.

Yön Sözleşme sınıfı İşleyici veya yayan Kaynak
yayar CustomerCreated, CustomerUpdated, PartyRoleSet müşteri servisi src/cluster_erp/modules/crm/customers/services.py:118-207
yayar RfqReceived, RfqUpdated, RfqAssigned, RfqDeclined, RfqExpired, RfqWon, RfqLost, RfqPackageCompleted teklif talebi servisi src/cluster_erp/modules/crm/rfqs/services.py:147-627
sorgular GetPartyById, CountPartyChannels, GetBomMaterials servisler src/cluster_erp/modules/crm/rfqs/services.py:393-417, src/cluster_erp/modules/crm/rfq_line_materials/services.py:116
sorguyu yanıtlar GetCustomerById, GetRfqById, GetRfqIdsByCustomer, GetCustomerPartById, GetCustomerPartsByCustomer module.py içindeki işleyiciler src/cluster_erp/modules/crm/module.py:88-95
abone olur PartyDeleted, PartyUpdated müşteri rolü eşitlemesi src/cluster_erp/modules/crm/module.py:96-99, src/cluster_erp/modules/crm/module.py:115-138, src/cluster_erp/modules/crm/module.py:271-297
abone olur CollectSubjectData, AnonymiseSubject privacy_handlers.py src/cluster_erp/modules/crm/module.py:110-113

Yetkiler

Modül customer.*, customer_part.*, customer_part_revision.*, rfq.*, rfq_package.*, rfq_line_item.*, rfq_line_material.* ve inbox_message.* ailelerini denetler. Her alt konu sayfası uç başına anahtarları listeler.

Gizlilik, saklama ve geçmiş

privacy_handlers.py, bireysel tarafların müşteri rolleri için ilgili kişi taleplerini yanıtlar: CollectSubjectData satırları döndürür, AnonymiseSubject tanımlayıcı değerlerin üzerine yazar ve satırları devre dışı bırakır (src/cluster_erp/modules/crm/privacy_handlers.py:1-12). Gelen kutusu mesajları e-posta adresleri ve gövdeler tutar; bkz. gelen kutusu. Silmeler deleted_at alanını doldurur (src/cluster_erp/modules/crm/customers/services.py:201). Bkz. gizlilik ve ilgili kişi talepleri.

Analitik olguları

Bu modülün analytics_facts.py dosyası yoktur.

Ayarlar ve başvuru verileri

Modülün ayarlar bölümü yoktur. Teklif talebi öncelik eşiği PRIORITY_THRESHOLD_HOURS modül sabitidir, değeri 48'dir (src/cluster_erp/modules/crm/rfqs/services.py:82).

Testler

tests/ içinde modules.crm için ve web-client/_e2e_*.mjs içinde /crm/ yolu için grep ile bulundu.

Tür Dosya Kapsam
pytest tests/test_party_form_contract.py bileşik taraf formundaki müşteri rolü
pytest tests/test_tenant_field_catalog.py CRM varlıklarındaki kiracı alanları
e2e web-client/_e2e_status_actions.mjs aksiyonlar üzerinden durum değişiklikleri
e2e web-client/_e2e_order_shipment_chain.mjs, web-client/_e2e_quote_line_bom.mjs teklif talebinden teklife ve siparişe
e2e web-client/_e2e_party_form_fixes.mjs, web-client/_e2e_fk_labels.mjs müşteri rolü ve etiketler

Tutarsızlıklar

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
customer facet Customer Bir tarafın ticari varsayılanlarıyla müşteri rol kaydı. Müşteri rolü src/cluster_erp/modules/crm/customers/models.py:13
customer RFQ Rfq Henüz teklif yokken bir müşterinin teklif talebi. Teklif talebi src/cluster_erp/modules/crm/rfqs/models.py:14

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13