Author: |
GRAP, La Louve, LasLabs, Odoo Community Association (OCA) |
License: |
AGPL-3 |
Branch: |
14.0-imp-multi_barcodes_generation |
Repository: |
akretion/stock-logistics-barcode |
Dependencies: |
barcodes |
Languages: |
HTML (457, 17.7%),
PO File (1665, 64.5%),
Python (236, 9.1%),
XML (70, 2.7%),
and
reStructuredText (153, 5.9%) |
Other branches: |
10-barcodes_generator-improve,
10-base_gs1_barcode-ak,
10-mig-mobile_app_inventory,
10-mig-mobile_app_inventory_backport_v8,
10-mig-stock_inventory_barcode,
12-mig-stock_inventory_barcode,
14-mig-stock_inventory_barcode,
14.0-copier_upd_barcodes_generator_abstract,
14.0-improve-ui,
14.0-mig-barcodes_generator_abstract,
14.0-mig-product_mult_barcode_2,
14.0-product_multi_barcode-fix-multi-company,
and
16.0-mig-product_barcode_constraint_per_company |
Other repositories: |
AMhadhbi/stock-logistics-barcode,
Abranes/stock-logistics-barcode,
Anon234/stock-logistics-barcode,
Aris7189/stock-logistics-barcode,
ChanFeei/stock-logistics-barcode,
Change2improve/stock-logistics-barcode,
ClearCorp/oca-stock-logistics-barcode,
Darknroses/stock-logistics-barcode,
Deanzou/stock-logistics-barcode,
Dobtor-OCA/stock-logistics-barcode,
Elbagoury/pos,
ForgeFlow/stock-logistics-barcode,
Gabinete-Digital/stock-logistics-barcode,
Gofekra/stock-logistics-barcode,
Guobower/stock-logistics-barcode,
Hasnur/stock-logistics-barcode,
Ingeos/stock-logistics-barcode,
Jarsa/stock-logistics-barcode,
JibenCL/stock-logistics-barcode,
JorgeJuarezM/stock-logistics-barcode,
JuanjoA/stock-logistics-barcode,
JulioSerna/stock-logistics-barcode,
KT-Thanate/stock-logistics-barcode,
LasLabs/stock-logistics-barcode,
LevelPrime/stock-logistics-barcode,
MariajMesa/stock-logistics-barcode,
MeetKD/stock-logistics-barcode,
MindAndGo/stock-logistics-barcode,
NeatNerdPrime/stock-logistics-barcode,
OCA-MUK/stock-logistics-barcode,
OCA/stock-logistics-barcode,
Olageibol/stock-logistics-barcode,
OutillageStEtienne/stock-logistics-barcode,
PESOL/stock-logistics-barcode,
QubiQ/stock-logistics-barcode,
RealSolutionsLux/stock-logistics-barcode,
SSISoftware/stock-logistics-barcode,
SetRac/pos-1,
SeuMarco/stock-logistics-barcode,
SimoRubi/stock-logistics-barcode,
StefanRijnhart/stock-logistics-barcode,
Studio73/stock-logistics-barcode,
TRESCLOUD/stock-logistics-barcode,
Tecnativa/stock-logistics-barcode,
Vauxoo/stock-logistics-barcode,
VisiionSolucionesTecnologicas/stock-logistics-barcode,
aacceess75/stock-logistics-barcode,
aaltinisik/stock-logistics-barcode,
achuthanselvaraj/pos,
acsone/stock-logistics-barcode,
agenterp/stock-logistics-barcode,
amarildogolloshi/stock-logistics-barcode,
amendoncabh/stock-logistics-barcode,
anhvu-sg/stock-logistics-barcode,
ansinaesmejor/stock-logistics-barcode,
aospub/stock-logistics-barcode,
apachesep/stock-logistics-barcode,
apertoso/stock-logistics-barcode,
apetbiz/stock-logistics-barcode,
archeti-org/stock-logistics-barcode,
aurestic/stock-logistics-barcode,
bertontin/stock-logistics-barcode,
bvkl/stock-logistics-barcode,
camptocamp/stock-logistics-barcode,
ck2001/stock-logistics-barcode,
coopiteasy/stock-logistics-barcode,
ctr-subteno-it/stock-logistics-barcode,
cvinh/stock-logistics-barcode,
dani-xtendoo/stock-logistics-barcode,
daramousk/stock-logistics-barcode,
dgrej/stock-logistics-barcode,
diagramsoftware/stock-logistics-barcode,
dion-pci/stock-logistics-barcode,
dong-z/stock-logistics-barcode,
druidoo-dev/stock-logistics-barcode,
eLBati/stock-logistics-barcode,
ecosoft-odoo/stock-logistics-barcode,
ehsu0407/stock-logistics-barcode,
emkayz/stock-logistics-barcode,
eslammohamed13/pos,
factorlibre/stock-logistics-barcode,
fauzi-tsani/stock-logistics-barcode,
fmdl/stock-logistics-barcode,
grap/stock-logistics-barcode,
gurneyalex/stock-logistics-barcode,
haroldtamo/stock-logistics-barcode,
haryoran04/stock-logistics-barcode,
heymanh/stock-logistics-barcode,
hinfo506/stock-logistics-barcode,
imranissufo/stock-logistics-barcode,
infoitservit/stock-logistics-barcode,
initOS/stock-logistics-barcode,
isoscl/stock-logistics-barcode,
izzihector/pos,
jasadmoozhiyan/stock-logistics-barcode,
jchancafe/stock-logistics-barcode,
jimhoefnagels/stock-logistics-barcode,
kevin070982/stock-logistics-barcode,
kos94ok-3D/stock-logistics-barcode,
layounisl/stock-logistics-barcode,
leangjia/stock-logistics-barcode,
legalsylvain/stock-logistics-barcode,
leolandeo/stock-logistics-barcode,
leonidasthe300/stock-logistics-barcode,
lideritjnma/stock-logistics-barcode,
lijielife/stock-logistics-barcode,
lonelyleaves/stock-logistics-barcode,
lulzzz/stock-logistics-barcode,
margibs/stock-logistics-barcode,
marionumza/pos-1,
marionumza/stock-logistics-barcode,
maurochip/stock-logistics-barcode,
mediaengagers/stock-logistics-barcode,
minhhq09/stock-logistics-barcode,
mjadily/stock-logistics-barcode,
nabiforks/stock-logistics-barcode,
nabima/stock-logistics-barcode,
ninh2k/stock-logistics-barcode,
nisheednair/stock-logistics-barcode,
niulinlnc/stock-logistics-barcode,
nuobit/stock-logistics-barcode,
nylon7/stock-logistics-barcode,
ofahd/stock-logistics-barcode,
onurugur/stock-logistics-barcode,
peterxue/stock-logistics-barcode,
phatnguyenuit/stock-logistics-barcode,
pmctire/stock-logistics-barcode,
presenceverte/stock-logistics-barcode,
pscloud/stock-logistics-barcode,
redblow/stock-logistics-barcode,
rkhalil1990/stock-logistics-barcode,
roniap/stock-logistics-barcode,
royalline1/stock-logistics-barcode,
rudisulistyo/stock-logistics-barcode,
rven/stock-logistics-barcode,
sa3m/stock-logistics-barcode,
sanube/stock-logistics-barcode,
seaalliancefood/stock-logistics-barcode,
sebalix/stock-logistics-barcode,
seffalabdelaziz/stock-logistics-barcode,
sendalpegat/stock-logistics-barcode,
sewisoft/stock-logistics-barcode,
shouyejing/stock-logistics-barcode,
simplifysolutions/stock-logistics-barcode,
subteno-it/stock-logistics-barcode,
takobi-online/stock-logistics-barcode,
unitek-solusi/OCA-stock-logistics-barcode,
valmarnet/stock-logistics-barcode,
vdedyukhin/stock-logistics-barcode,
versada/stock-logistics-barcode,
vidtsin/pos,
vidtsin/stock-logistics-barcode,
wader1990/stock-logistics-barcode,
westlyou/stock-logistics-barcode,
x0rzkov/odoo-stock-logistics-barcode,
xtendoo-corporation/stock-logistics-barcode,
xwh123807/stock-logistics-barcode,
yucer/stock-logistics-barcode,
zambee/stock-logistics-barcode,
and
zeroincombenze/stock-logistics-barcode |
<h1 class="title">Generate Barcodes (Abstract)</h1>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/stock-logistics-barcode/tree/14.0/barcodes_generator_abstract"><img alt="OCA/stock-logistics-barcode" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--barcode-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/stock-logistics-barcode-14-0/stock-logistics-barcode-14-0-barcodes_generator_abstract"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/150/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module extends Odoo functionality, allowing user to generate barcode
depending on a given barcode rule for any Model.</p>
<p>For example, if the barcode pattern is "20.....{NNNDD}":</p>
<ul class="simple">
<li>the EAN13 code will begin with '20',</li>
<li>followed by 5 digits (named <em>Barcode Base</em> in this module),</li>
<li>followed by 5 others digits to define the variable price with 2 decimals,</li>
<li>the last digit (the 13rd digit) is the control digit (i.e. the checksum).</li>
</ul>
<p>With this module, it is possible to:</p>
<ul class="simple">
<li>Affect a pattern (barcode.rule) to a model</li>
<li><dl class="first docutils">
<dt>Define a Barcode base:</dt>
<dd><ul class="first last">
<li>manually, if the base of the barcode must be set by a user (typically an
internal code defined in your company).</li>
<li>automatically by a sequence, if you want to let Odoo increment a
sequence (typical case of a customer number incrementation).</li>
</ul>
</dd>
</dl>
</li>
<li>Generate a barcode, based on the defined pattern and the barcode base</li>
</ul>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#installation" id="id1">Installation</a></li>
<li><a class="reference internal" href="#configuration" id="id2">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id3">Usage</a><ul>
<li><a class="reference internal" href="#note" id="id4">Note</a></li>
</ul>
</li>
<li><a class="reference internal" href="#known-issues-roadmap" id="id5">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id6">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id7">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id8">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id9">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="id10">Other credits</a></li>
<li><a class="reference internal" href="#images" id="id11">Images</a></li>
<li><a class="reference internal" href="#maintainers" id="id12">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<a name="installation"></a>
<h2><a class="toc-backref" href="#id1">Installation</a></h2>
<p>This module use an extra python library named 'python-barcode' you should install
to make barcode generation works properly.</p>
<p><code>sudo pip install python-barcode</code></p>
<a name="configuration"></a>
<h2><a class="toc-backref" href="#id2">Configuration</a></h2>
<p>To configure this module, you need to:</p>
<ul class="simple">
<li>Go to Settings / Technical / Sequences & Identifiers / Barcode Nomenclatures</li>
<li>Select a Nomenclature</li>
<li>Create or select a rule</li>
</ul>
<img alt="https://raw.githubusercontent.com/OCA/stock-logistics-barcode/14.0/barcodes_generator_abstract/static/description/barcode_rule_tree.png" src="https://raw.githubusercontent.com/OCA/stock-logistics-barcode/14.0/barcodes_generator_abstract/static/description/barcode_rule_tree.png" />
<ul class="simple">
<li><dl class="first docutils">
<dt>For manual generation, set:</dt>
<dd><ul class="first last">
<li>'Base set Manually' in 'Generate Type'</li>
<li>Set the model</li>
</ul>
</dd>
</dl>
</li>
</ul>
<img alt="https://raw.githubusercontent.com/OCA/stock-logistics-barcode/14.0/barcodes_generator_abstract/static/description/barcode_rule_form_manual.png" src="https://raw.githubusercontent.com/OCA/stock-logistics-barcode/14.0/barcodes_generator_abstract/static/description/barcode_rule_form_manual.png" />
<ul class="simple">
<li><dl class="first docutils">
<dt>For automatic generation, set:</dt>
<dd><ul class="first last">
<li>'Base managed by Sequence' in 'Generate Type'</li>
<li>Set the model</li>
<li>Generate a new sequence by button, or affect a existing one</li>
</ul>
</dd>
</dl>
</li>
</ul>
<img alt="https://raw.githubusercontent.com/OCA/stock-logistics-barcode/14.0/barcodes_generator_abstract/static/description/barcode_rule_form_sequence.png" src="https://raw.githubusercontent.com/OCA/stock-logistics-barcode/14.0/barcodes_generator_abstract/static/description/barcode_rule_form_sequence.png" />
<p>In all cases, padding will be computed automaticaly, based on the number
of '.' in the Barcode Pattern field.</p>
<a name="usage"></a>
<h2><a class="toc-backref" href="#id3">Usage</a></h2>
<p>This module is an abstract module. You can configure Barcode Rule, but to
enable this feature, you need to install an extra module for a given model.
This repository provide 'barcodes_generator_product' and
'barcodes_generator_partner' module to generate barcode for product or partner
model.</p>
<p>Alternatively, you can develop a custom module for a custom model. See
'Inheritance' parts.</p>
<p>If you want to generate barcode for another model, you can create a custom
module that depend on 'barcodes_generator_abstract' and inherit your model
like that:</p>
<pre class="code">
<code class="code">class MyModel(models.Model):
_name = 'my.model'
_inherit = ['my.model', 'barcode.generate.mixin']
class barcode_rule(models.Model):
_inherit = 'barcode.rule'
generate_model = fields.Selection(selection_add=[('my.model', 'My Model')])</code>
</pre>
<p>Eventually, you should inherit your model view adding buttons and fields.</p>
<a name="note"></a>
<h3><a class="toc-backref" href="#id4">Note</a></h3>
<p>Your model should have a field 'barcode' defined.</p>
<a name="known-issues-roadmap"></a>
<h2><a class="toc-backref" href="#id5">Known issues / Roadmap</a></h2>
<ul class="simple">
<li>On barcode.rule model, constraint and domain system could be set between
'type' and 'generate_model' fields.</li>
<li>Cache is being cleared in a constraint in <cite>barcode.rule</cite>. Mutating in a
constraint is bad practice & should be moved somewhere.</li>
</ul>
<a name="bug-tracker"></a>
<h2><a class="toc-backref" href="#id6">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/stock-logistics-barcode/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/stock-logistics-barcode/issues/new?body=module:%20barcodes_generator_abstract%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
<a name="credits"></a>
<h2><a class="toc-backref" href="#id7">Credits</a></h2>
<a name="authors"></a>
<h3><a class="toc-backref" href="#id8">Authors</a></h3>
<ul class="simple">
<li>GRAP</li>
<li>La Louve</li>
<li>LasLabs</li>
</ul>
<a name="contributors"></a>
<h3><a class="toc-backref" href="#id9">Contributors</a></h3>
<ul class="simple">
<li>Sylvain LE GAL (<a class="reference external" href="https://twitter.com/legalsylvain">https://twitter.com/legalsylvain</a>)</li>
<li>Dave Lasley <<a class="reference external" href="mailto:dave@laslabs.com">dave@laslabs.com</a>></li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Carlos Roca</li>
</ul>
</li>
</ul>
<a name="other-credits"></a>
<h3><a class="toc-backref" href="#id10">Other credits</a></h3>
<a name="images"></a>
<h3><a class="toc-backref" href="#id11">Images</a></h3>
<ul class="simple">
<li>Icon of the module is based on the Oxygen Team work and is under LGPL licence:
<a class="reference external" href="http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org.html">http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org.html</a></li>
</ul>
<a name="maintainers"></a>
<h3><a class="toc-backref" href="#id12">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/stock-logistics-barcode/tree/14.0/barcodes_generator_abstract">OCA/stock-logistics-barcode</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>