82 lines
3.1 KiB
Markdown
82 lines
3.1 KiB
Markdown
# Fusion Plating — Quality Bridge (EE)
|
|
|
|
Part of the Fusion Plating product family by Nexa Systems Inc.
|
|
|
|
One-way sync from Fusion Plating NCRs to Odoo Enterprise `quality.alert`
|
|
records. Lets plating shops running Odoo EE keep using the Fusion Plating
|
|
QMS (CE + EE compatible) while getting the benefit of EE's native quality
|
|
dashboards on the same data.
|
|
|
|
## Status
|
|
|
|
| Item | Value |
|
|
| --- | --- |
|
|
| Odoo version | 19.0 |
|
|
| License | OPL-1 |
|
|
| Auto-install | Yes — when `fusion_plating_quality` AND EE `quality` are both installed |
|
|
| Sync direction | One-way: NCR → quality.alert |
|
|
|
|
## How it works
|
|
|
|
1. Creating or updating a `fusion.plating.ncr` record triggers
|
|
`_sync_to_quality_alert()` in `models/fp_ncr.py`.
|
|
2. The bridge builds a vals dict from the NCR and creates (or updates) the
|
|
linked `quality.alert` record under a dedicated **Plating Quality** team.
|
|
3. The bridge is defensive: every field write is gated on the live
|
|
`quality.alert` schema so a minor EE release that renames or drops a
|
|
field does not break NCR saves.
|
|
4. If `quality.alert` is not available for any reason, the sync silently
|
|
no-ops — NCRs continue to work normally in the base QMS module.
|
|
|
|
## Field mapping
|
|
|
|
| Fusion Plating NCR | Odoo EE quality.alert |
|
|
| --- | --- |
|
|
| `description` (first line) | `name` / `title` |
|
|
| `description` (full html) | `description` (if html) or stripped text |
|
|
| `containment` | `action_corrective` (if present) |
|
|
| `root_cause` | `action_preventive` (if present) |
|
|
| `severity` | `priority` (0/1/2/3 star) |
|
|
| `state` | `stage_id` (best-effort name match) |
|
|
| `customer_partner_id` | `partner_id` |
|
|
| `company_id` | `company_id` |
|
|
| — | `team_id` (always "Plating Quality") |
|
|
|
|
## Per-record controls
|
|
|
|
Each NCR gains three `x_fc_*` fields (visible under the **Quality Alert
|
|
Sync** notebook page on the NCR form):
|
|
|
|
- `x_fc_auto_sync` — toggle per-record sync; set to False to freeze the
|
|
mirror on a specific NCR
|
|
- `x_fc_quality_alert_id` — read-only pointer to the mirrored alert
|
|
- `x_fc_quality_alert_synced` — read-only "has been synced at least once"
|
|
flag
|
|
|
|
## Manual sync
|
|
|
|
Use the **Sync to Quality** header button on the NCR form to push the
|
|
latest values on demand. The mirrored alert's **Quality Alert** smart
|
|
button jumps straight to the linked EE record.
|
|
|
|
## What the bridge does NOT do
|
|
|
|
- **No write-back.** Edits to the EE `quality.alert` record are not
|
|
propagated back into Fusion Plating. NCR is the source of truth.
|
|
- **No CAPA mirroring.** Fusion Plating CAPAs remain in
|
|
`fusion.plating.capa`; they are not copied into `quality.point` or
|
|
`quality.check`.
|
|
- **No historical backfill.** Existing NCRs created before this module was
|
|
installed are not synced automatically — run the **Sync to Quality**
|
|
button manually on the ones you want mirrored.
|
|
|
|
## Notes for deployment
|
|
|
|
- If your EE release uses `quality.team` instead of `quality.alert.team`,
|
|
edit `data/quality_alert_team_data.xml` to match and reinstall the
|
|
module. No Python changes required.
|
|
- The sync runs with `sudo()` so shop operators without direct write
|
|
access to the EE quality module still produce mirrored alerts cleanly.
|
|
|
|
Copyright (c) 2026 Nexa Systems Inc. All rights reserved.
|