Base Sequence Template
base_sequence_template · OCA/server-tools
-
Security25/25No findings
-
Activity25/25Human commit this month
-
Required by5/250 modules depend on it
-
Maturity5/25In 1 Odoo series since 18.0
Heuristic over the facts below, not an audit · How it's computed
Description
This module provides a wizard to generate company-specific sequences from
reusable sequence templates. It is designed for multi-company environments
where each company requires its own ir.sequence records but shares a common
configuration pattern. The wizard allows defining sequence templates that
include dynamic placeholders referencing company fields.
During generation, placeholders of the form %(company_id.<field>)s are
automatically replaced with the corresponding values from each company. Other
placeholders (for example %(year)s) are preserved and evaluated later by the
standard sequence engine. The module also validates that all referenced company
fields exist and checks that required company values are not empty.
Dependencies
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
Code analysis
Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.
Views touched 3
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_generate_company_sequences_wizard_form |
generate.company.sequences.wizard.form | generate.company.sequences.wizard | form | New |
view_ir_sequence_template_form |
view.ir.sequence.template.form | ir.sequence.template | form | New |
view_ir_sequence_template_tree |
view.ir.sequence.template.list | ir.sequence.template | list | New |
HTTP endpoints 0
No HTTP endpoints found for this module.
Models touched 3
-
company_idsMany2many → res.companydomain="[('id', 'in', allowed_company_ids)]"required=Truestring='Companies' args: 'res.company' -
template_idsMany2many → ir.sequence.templaterequired=Truestring='Sequence Templates' args: 'ir.sequence.template'
-
action_generate(self) -
replace_company_placeholders(self, template, company_values)@api.model
-
template_idMany2one → ir.sequence.templateondelete='set null' args: 'ir.sequence.template'
No public methods.
-
activeBooleandefault=True -
codeCharstring='Sequence Code' -
implementationSelectiondefault='standard'required=True args: [('standard', 'Standard'), ('no_gap', 'No gap')] -
nameCharrequired=True -
number_incrementIntegerdefault=1required=Truestring='Step' -
paddingIntegerdefault=0required=Truestring='Sequence Size' -
prefixCharhelp='Prefix value of the record for the sequence'trim=False -
sequence_countIntegercompute='_compute_sequence_count' -
sequence_idsOne2many → ir.sequenceargs: 'ir.sequence', 'template_id' -
suffixCharhelp='Suffix value of the record for the sequence'trim=False
-
action_generate_sequences(self) -
action_view_sequences(self) -
open_generate_sequences_wizard(self)