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:
@@ -3,7 +3,7 @@
|
|||||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||||
{
|
{
|
||||||
'name': 'Fusion Plating — Reports',
|
'name': 'Fusion Plating — Reports',
|
||||||
'version': '19.0.10.8.0',
|
'version': '19.0.10.9.0',
|
||||||
'category': 'Manufacturing/Plating',
|
'category': 'Manufacturing/Plating',
|
||||||
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
|
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
|
||||||
'depends': [
|
'depends': [
|
||||||
|
|||||||
@@ -224,12 +224,12 @@
|
|||||||
/* Notes column on the right side of the body. */
|
/* Notes column on the right side of the body. */
|
||||||
.fp-notes-label {
|
.fp-notes-label {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-size: 44pt;
|
font-size: 48pt;
|
||||||
margin: 0 0 10px 0;
|
margin: 0 0 10px 0;
|
||||||
}
|
}
|
||||||
.fp-notes-content {
|
.fp-notes-content {
|
||||||
font-size: 30pt;
|
font-size: 36pt;
|
||||||
line-height: 1.15;
|
line-height: 1.1;
|
||||||
white-space: pre-line;
|
white-space: pre-line;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -414,18 +414,19 @@
|
|||||||
skipped — they don't go through plating so they don't need a
|
skipped — they don't go through plating so they don't need a
|
||||||
box sticker.
|
box sticker.
|
||||||
|
|
||||||
The "WO #" header shows "<SO>/<line seq>" so the sticker
|
The "WO#" header shows the SO name (e.g. SO-30019). The body
|
||||||
remains identifiable before the fp.job is generated. The QR
|
carries the part-specific fields (Part #, Customer, etc.) which
|
||||||
encodes /fp/so-line/<line.id> — the controller can decide
|
disambiguate multi-line SOs without needing a sequence suffix.
|
||||||
whether to land on the parent SO, the line, or (later) the
|
The QR encodes /fp/so-line/<line.id> — the controller can
|
||||||
spawned job. -->
|
decide whether to land on the parent SO, the line, or (later)
|
||||||
|
the spawned job. -->
|
||||||
<template id="report_fp_so_sticker">
|
<template id="report_fp_so_sticker">
|
||||||
<t t-call="web.html_container">
|
<t t-call="web.html_container">
|
||||||
<t t-foreach="docs" t-as="so">
|
<t t-foreach="docs" t-as="so">
|
||||||
<t t-foreach="so.order_line.filtered(lambda l: l.x_fc_part_catalog_id)"
|
<t t-foreach="so.order_line.filtered(lambda l: l.x_fc_part_catalog_id)"
|
||||||
t-as="line">
|
t-as="line">
|
||||||
<t t-call="fusion_plating_reports.report_fp_wo_sticker_defaults"/>
|
<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_id" t-value="line.id"/>
|
||||||
<t t-set="_scan_path" t-value="'/fp/so-line/'"/>
|
<t t-set="_scan_path" t-value="'/fp/so-line/'"/>
|
||||||
<t t-set="_mo" t-value="False"/>
|
<t t-set="_mo" t-value="False"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user