Initial import from Docker volume

This commit is contained in:
root
2025-12-26 13:11:43 +00:00
commit 4998dc066a
13336 changed files with 1767801 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool
from . import production
def register():
Pool.register(
production.Production,
production.SplitProductionStart,
module='production_split', type_='model')
Pool.register(
production.SplitProduction,
module='production_split', type_='wizard')

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M14 4l2.29 2.29-2.88 2.88 1.42 1.42 2.88-2.88L20 10V4zm-4 0H4v6l2.29-2.29 4.71 4.7V20h2v-8.41l-5.29-5.3z"/></svg>

After

Width:  |  Height:  |  Size: 242 B

View File

@@ -0,0 +1,52 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Количество"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Категория мер. ед."
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
#, fuzzy
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Отказване"
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Split"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Comptador"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr "Unitat"
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Categoria de la UdM"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "El nombre de produccions límit"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr "La categoria de la unitat de mesura."
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Divideix producció"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Divideix"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Divideix producció"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Cancel·la"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Divideix"

View File

@@ -0,0 +1,49 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr ""
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Split"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Anzahl"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr "Einheit"
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Maßeinheitenkategorie"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Die maximale Zahl der Produktionsaufträge"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr "Die Kategorie der Maßeinheit."
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Produktionsauftrag aufteilen"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Aufteilen"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Produktionsauftrag aufteilen"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Abbrechen"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Aufteilen"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Contador"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr "Unidad"
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Categoría de UdM"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "El número de producciones límite"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr "La categoria de la unidad de medida."
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Dividir producción"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Dividir"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Dividir producción"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Dividir"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "El número límite de producciones"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr ""
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr ""
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr ""
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr ""
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr ""

View File

@@ -0,0 +1,48 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Loend"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Kogus"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Mõõtühiku kategooria"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Tootmiste piirnumber"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Tootmise poolitamine"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Poolitamine"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Tootmise poolitamine"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Tühista"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Poolitamine"

View File

@@ -0,0 +1,48 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "شمارش"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "مقدار/تعداد"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "دسته بندی واحد اندازه گیری"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "تعداد محدود تولیدات"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "تقسیم تولید"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "تقسیم تولید"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "انصراف"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "تقسیم"

View File

@@ -0,0 +1,49 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr ""
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Split"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Décompte"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr "Unité"
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Catégorie d'UDM"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Le nombre limite de productions"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr "La catégorie dunité de mesure."
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Diviser la production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Diviser"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Diviser la production"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Annuler"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Diviser"

View File

@@ -0,0 +1,52 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Mennyiség"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Egység kategória"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
#, fuzzy
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Mégse"
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Beosztás"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr ""
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr ""
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr ""
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Batal"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr ""

View File

@@ -0,0 +1,48 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Conteggio"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Quantità"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Categoria UdM"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Il numero limite di produzioni"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Produzione separata"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Separa"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Dividi produzione"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Annulla"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Dividi"

View File

@@ -0,0 +1,49 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "ນັບ"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "ຈຳນວນ"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "ໝວດຫົວໜ່ວຍ"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "ຈຳນວນຈຳກັດຂອງການຜະລິດ"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "ແຍກການຜະລິດ"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "ຍົກເລີກ"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "ແຍກ"

View File

@@ -0,0 +1,49 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr ""
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Split"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "aantal"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr "Maateenheid"
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Maateenheid categorie"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Het limiet aantal producties"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr "De categorie van de maateenheid."
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Productie opsplitsen"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "opsplitsen"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Productie opsplitsen"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Annuleer"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "opsplitsen"

View File

@@ -0,0 +1,51 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Ilość"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Kategoria jednostki miary"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Anuluj"
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Split"

View File

@@ -0,0 +1,49 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Contagem"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Quantidade"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Categoria da UDM"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Limite para o número de produções"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Dividir Produção"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Dividir"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr ""
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr ""
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr ""
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr ""
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr ""

View File

@@ -0,0 +1,53 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Кол-во"
#, fuzzy
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Кол-во"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Категория ед. измерения"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
#, fuzzy
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Отменить"
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Split"

View File

@@ -0,0 +1,48 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Zgornja meja"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Količina"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Kategorija ME"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Zgornja meja delitve proizvodnje"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Razdelitev proizvodnje"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Razdeli"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Razdelitev proizvodnje"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Prekliči"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Razdeli"

View File

@@ -0,0 +1,49 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr "Adet"
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr "Miktar"
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
#, fuzzy
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr "Ölçü Birimi Kategorisi"
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr "Üretimler sayısı limiti"
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Üretim Bölme"
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "Vazgeç"
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Bölme"

View File

@@ -0,0 +1,47 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr ""
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr ""
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr ""
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr ""
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr ""

View File

@@ -0,0 +1,50 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:production.split.start,count:"
msgid "Count"
msgstr ""
msgctxt "field:production.split.start,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:production.split.start,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:production.split.start,uom_category:"
msgid "UoM Category"
msgstr ""
msgctxt "help:production.split.start,count:"
msgid "The limit number of productions"
msgstr ""
msgctxt "help:production.split.start,uom_category:"
msgid "The category of Unit of Measure."
msgstr ""
msgctxt "model:ir.action,name:wizard_split_production"
msgid "Split Production"
msgstr "Split Production"
msgctxt "model:ir.model.button,string:production_split_wizard_button"
msgid "Split"
msgstr "Split"
#, fuzzy
msgctxt "model:production.split.start,name:"
msgid "Split Production"
msgstr "Split Production"
#, fuzzy
msgctxt "wizard_button:production.split,start,end:"
msgid "Cancel"
msgstr "取消"
#, fuzzy
msgctxt "wizard_button:production.split,start,split:"
msgid "Split"
msgstr "Split"

View File

@@ -0,0 +1,106 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model import ModelView, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.wizard import Button, StateTransition, StateView, Wizard
class Production(metaclass=PoolMeta):
__name__ = 'production'
@classmethod
def __setup__(cls):
super(Production, cls).__setup__()
cls._buttons.update({
'split_wizard': {
'invisible': (~Eval('state').in_(['request', 'draft'])
| ~Eval('bom') | ~Eval('quantity', 0)),
'depends': ['state', 'bom', 'quantity'],
},
})
@classmethod
@ModelView.button_action('production_split.wizard_split_production')
def split_wizard(cls, productions):
pass
def split(self, quantity, unit, count=None):
"""
Split production into productions of quantity.
If count is not defined, the production will be split until remainder
is less than quantity.
Return the split productions
"""
pool = Pool()
Uom = pool.get('product.uom')
productions = [self]
remainder = Uom.compute_qty(self.unit, self.quantity, unit)
if remainder <= quantity:
return productions
self.quantity = quantity
self.unit = unit
self.save()
remainder -= quantity
if count:
count -= 1
while (remainder > quantity
and (count or count is None)):
productions.extend(self.copy([self], {
'quantity': quantity,
'unit': unit.id,
'inputs': None,
'outputs': None,
}))
remainder -= quantity
remainder = unit.round(remainder)
if count:
count -= 1
assert remainder >= 0
if remainder:
productions.extend(self.copy([self], {
'quantity': remainder,
'unit': unit.id,
}))
for production in productions:
production.explode_bom()
self.__class__.save(productions)
return productions
class SplitProduction(Wizard):
'Split Production'
__name__ = 'production.split'
start = StateView('production.split.start',
'production_split.split_start_view_form', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Split', 'split', 'tryton-ok', default=True),
])
split = StateTransition()
def default_start(self, fields):
return {
'unit': self.record.unit.id,
'uom_category': self.record.unit.category.id,
}
def transition_split(self):
self.record.split(
self.start.quantity, self.start.unit, count=self.start.count)
return 'end'
class SplitProductionStart(ModelView):
'Split Production'
__name__ = 'production.split.start'
count = fields.Integer('Count', help='The limit number of productions')
quantity = fields.Float("Quantity", digits='unit', required=True)
unit = fields.Many2One(
'product.uom', "Unit", required=True,
domain=[
('category', '=', Eval('uom_category')),
])
uom_category = fields.Many2One(
'product.uom.category', "UoM Category", readonly=True,
help="The category of Unit of Measure.")

View File

@@ -0,0 +1,34 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.icon" id="production_split_icon">
<field name="name">tryton-production-split</field>
<field name="path">icons/tryton-production-split.svg</field>
</record>
<record model="ir.action.wizard" id="wizard_split_production">
<field name="name">Split Production</field>
<field name="wiz_name">production.split</field>
<field name="model">production</field>
</record>
<record model="ir.ui.view" id="production_view_form">
<field name="model">production</field>
<field name="inherit" ref="production.production_view_form"/>
<field name="name">production_form</field>
</record>
<record model="ir.ui.view" id="split_start_view_form">
<field name="model">production.split.start</field>
<field name="type">form</field>
<field name="name">split_start_form</field>
</record>
<record model="ir.model.button" id="production_split_wizard_button">
<field name="model">production</field>
<field name="name">split_wizard</field>
<field name="string">Split</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,45 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from unittest.mock import patch
from trytond.pool import Pool
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
class ProductionSplitTestCase(ModuleTestCase):
'Test Production Split module'
module = 'production_split'
@with_transaction()
def test_split(self):
'Test split'
pool = Pool()
Uom = pool.get('product.uom')
Production = pool.get('production')
unit, = Uom.search([('name', '=', 'Unit')])
with patch.object(Production, 'save'), \
patch.object(Production, 'explode_bom'), \
patch.object(Production, 'copy') as copy:
copy.side_effect = lambda l, values: [
Production(**values) for r in l]
for quantity, quantity_split, count, quantities in [
(10, 5, None, [5, 5]),
(13, 5, None, [5, 5, 3]),
(7, 8, None, [7]),
(20, 5, 2, [5, 5, 10]),
(20, 5, 4, [5, 5, 5, 5]),
]:
production = Production()
production.quantity = quantity
production.unit = unit
productions = production.split(
quantity_split, unit, count=count)
self.assertEqual(
[p.quantity for p in productions], quantities)
del ModuleTestCase

View File

@@ -0,0 +1,7 @@
[tryton]
version=7.2.1
depends:
ir
production
xml:
production.xml

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//group[@id='buttons']/button[@name='draft']" position="after">
<button name="split_wizard" icon="tryton-production-split"/>
</xpath>
</data>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form col="6">
<label name="count"/>
<field name="count"/>
<label name="quantity"/>
<field name="quantity"/>
<label name="unit"/>
<field name="unit"/>
</form>