fix(sticker): drop SO-line sequence suffix + bump Notes type

SO sticker (report_fp_so_sticker):
  Was: "SO-30019 / 10"  (the "/ 10" was line.sequence — Odoo's
       default increment-by-10 — meaningless to the operator)
  Now: "SO-30019"
Multi-line SOs are disambiguated by the body fields (Part #,
Customer, etc.) which already differ per sticker, so the
suffix wasn't earning its keep.

Notes column size bumps:
- Label 44pt -> 48pt
- Content 30pt -> 36pt (+20%) — easier to read from across
  the line. Line-height tightened 1.15 -> 1.1 to keep the
  multi-paragraph wrap inside the body band.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-13 07:21:09 -04:00
parent 64c61dcca8
commit c7b794f604
2 changed files with 11 additions and 10 deletions

View File

@@ -3,7 +3,7 @@
# License OPL-1 (Odoo Proprietary License v1.0)
{
'name': 'Fusion Plating — Reports',
'version': '19.0.10.8.0',
'version': '19.0.10.9.0',
'category': 'Manufacturing/Plating',
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
'depends': [

View File

@@ -224,12 +224,12 @@
/* Notes column on the right side of the body. */
.fp-notes-label {
font-weight: 700;
font-size: 44pt;
font-size: 48pt;
margin: 0 0 10px 0;
}
.fp-notes-content {
font-size: 30pt;
line-height: 1.15;
font-size: 36pt;
line-height: 1.1;
white-space: pre-line;
word-wrap: break-word;
overflow: hidden;
@@ -414,18 +414,19 @@
skipped — they don't go through plating so they don't need a
box sticker.
The "WO #" header shows "<SO>/<line seq>" so the sticker
remains identifiable before the fp.job is generated. The QR
encodes /fp/so-line/<line.id> — the controller can decide
whether to land on the parent SO, the line, or (later) the
spawned job. -->
The "WO#" header shows the SO name (e.g. SO-30019). The body
carries the part-specific fields (Part #, Customer, etc.) which
disambiguate multi-line SOs without needing a sequence suffix.
The QR encodes /fp/so-line/<line.id> — the controller can
decide whether to land on the parent SO, the line, or (later)
the spawned job. -->
<template id="report_fp_so_sticker">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="so">
<t t-foreach="so.order_line.filtered(lambda l: l.x_fc_part_catalog_id)"
t-as="line">
<t t-call="fusion_plating_reports.report_fp_wo_sticker_defaults"/>
<t t-set="_order_id" t-value="so.name + ' / ' + str(line.sequence or line.id)"/>
<t t-set="_order_id" t-value="so.name"/>
<t t-set="_scan_id" t-value="line.id"/>
<t t-set="_scan_path" t-value="'/fp/so-line/'"/>
<t t-set="_mo" t-value="False"/>