Crm içindeki customers, customer_parts ve customer_part_revisions için başvuru; bir tarafın müşteri rolü, parça numarası eşlemesi ve revizyon yaşam döngüsü.
Bu sayfa src/cluster_erp/modules/crm/ içindeki üç alt modülü anlatır. customers/, bir tarafın müşteri rol kaydı olan müşteri rolünü (Customer) tutar. customer_parts/ bir müşterinin parça numarasını şirketin ürünlerinden birine eşler, customer_part_revisions/ ise o parçanın revizyonlarını tutar. Tarafların rol modeli taraf birleştirme sayfasında anlatılır.
Tanımlandığı yer: üç alt modülün models.py, services.py, routes.py ve metadata.py dosyaları ile src/cluster_erp/modules/crm/module.py:115-138 ve src/cluster_erp/modules/crm/module.py:271-297 içindeki taraf işleyicileri.
Sayım: 3 tablo; 6 müşteri ucu, 6 müşteri parçası ucu ve 7 revizyon ucu (@router. dekoratörleri); revizyonlarda 2 ActionMeta girdisi.
Düz anlatımla: bir taslak yalnızca parçanın başka etkin revizyonu yoksa etkin olur. Etkin bir revizyonun yerine yenisi geçirilebilir. Yalnızca taslak düzenlenebilir veya silinebilir (src/cluster_erp/modules/crm/customer_part_revisions/services.py:84-109).
Oluşturmada, tarafı olan bir müşteri legal_name ve tax_no değerlerini GetPartyById üzerinden alır. Bir taraf müşteri rolünü bir kez oynar: aynı taraf için ikinci oluşturma mevcut rolü günceller (src/cluster_erp/modules/crm/customers/services.py:75-107).
Oluşturma CustomerCreated ve active=True ile PartyRoleSet yayar; silme deleted_at alanını doldurur ve active=False ile PartyRoleSet yayar (src/cluster_erp/modules/crm/customers/services.py:118-145, src/cluster_erp/modules/crm/customers/services.py:196-215).
PartyUpdated değişen görünen adı ve vergi numarasını canlı rollere kopyalar; PartyDeleted onlarda is_active değerini false yapar (src/cluster_erp/modules/crm/module.py:115-138, src/cluster_erp/modules/crm/module.py:271-297).
Bir müşteri parça numarası canlı satırlar arasında müşteri başına benzersizdir (src/cluster_erp/modules/crm/customer_parts/models.py:15-22, src/cluster_erp/modules/crm/customer_parts/services.py:139-155).
Bireysel bir tarafın rolündeki kişisel değerler privacy_handlers.py tarafından toplanır ve anonimleştirilir (src/cluster_erp/modules/crm/privacy_handlers.py:1-12).