ProjectionSupplier
Local CQRS Read-Model for Suppliers synced from Business-M.
Fields------supplier_id The authoritative Supplier ID from the Business-M core.supplier_name Display name cached from the last sync event.is_active Whether the supplier is still active (soft-deleted guard).last_synced_at UTC timestamp of the most recent projection update.Source: doctype.py
Fields
Section titled “Fields”| Field | Type | Required | Description | Validators |
|---|---|---|---|---|
| supplier_id | str | ✓ | - | - |
| supplier_name | str | - | - | |
| is_active | bool | - | - | |
| last_synced_at | None | - | - |
Configuration
Section titled “Configuration”| Setting | Value |
|---|---|
| Submittable | False |
| Track Changes | True |
Controller
Section titled “Controller”Controller hooks are implemented in *_controller.py files.
Available lifecycle hooks:
validate()- Called before save, raise exceptions for validation errorsbefore_insert()- Called before inserting a new documentafter_insert()- Called after successfully insertingbefore_save()- Called before saving (insert or update)after_save()- Called after savingbefore_delete()- Called before deletingafter_delete()- Called after deleting