first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

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,12 @@
# 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.exceptions import UserWarning
class BlanketAgreementQuantityWarning(UserWarning):
pass
class BlanketAgreementClosingWarning(UserWarning):
pass

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,272 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr "Import"
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr "Moneda"
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr "Client"
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr "Descripció"
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr "Des de la data"
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr "Línies"
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr "Referència"
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr "Estat"
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr "Fins a la data"
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr "Acord"
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr "Línies"
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr "Estat acord"
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr "Import"
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr "Acord general"
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr "Moneda"
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr "Quantitat procesada"
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Categoria UdM del producte"
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr "Quantitat"
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr "Quantitat restant"
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr "Línies de venda"
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr "Unitat"
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr "Preu unitari"
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Seqüència acord general"
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Seqüència acord general"
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr "Línia d'acord general"
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr "Acords generals"
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "La categoria de la unitat de mesura del producte."
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Acords generals"
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr "Vendes"
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr "Línies de venda"
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr "Crea una venda"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr "Tot"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr "Esborrany"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr "En execució"
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
"El acord \"%(agreement)s\" que es vol tancar encara té quantitats pendents."
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
"Per canviar la unitat de la línia d'acord \"%(line)s\", heu d'escollir una "
"compatible amb les línies de venda existents."
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
"La quantitat de la línia \"%(line)s\" és superior a la quantitat restant "
"(%(remaining)s\") de l'acord \"%(agreement)s\"."
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr "Cancel·la"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr "Tanca"
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr "Crea una venda"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr "Esborrany"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr "Executa"
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr "Acords generals de venda"
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Acord general de venda"
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Acord general de venda"
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Acords generals"
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Acord general de venda"
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr "Acord general de venda"
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr "Inici crear venta desde l'acord general de vendes"
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr "Línia d'acord general de venda"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr "Cancel·lat"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr "Tancat"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr "Esborrany"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr "En execució"
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr "General"
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr "Acord"
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr "Informació addicional"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr "Crea"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr "Cancel·la"

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,274 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr "Betrag"
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr "Währung"
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr "Kunde"
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr "Beschreibung"
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr "Von Datum"
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr "Positionen"
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr "Referenz"
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr "Status"
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr "Bis Datum"
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr "Rahmenvertrag"
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr "Positionen"
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr "Rahmenvertragsstatus"
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr "Betrag"
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr "Rahmenvertrag"
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr "Währung"
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr "Abgerufene Menge"
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Maßeinheitenkategorie"
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr "Menge"
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr "Verbleibende Menge"
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr "Verkaufspositionen"
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr "Einheit"
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr "Einzelpreis"
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Nummernkreis Rahmenvertrag"
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Nummernkreis Rahmenvertrag"
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr "Rahmenvertragsposition"
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr "Rahmenverträge"
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "Die Kategorie der Maßeinheit des Artikels."
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Rahmenverträge"
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr "Verkäufe"
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr "Verkaufspositionen"
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr "Verkauf Erstellen"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr "Alle"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr "Entwurf"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr "In Ausführung"
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
"Der zu schließende Rahmenvertrag \"%(agreement)s\" verfügt noch über "
"Restmengen."
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
"Um die Maßeinheit der Rahmenvertragsposition \"%(line)s\" zu ändern, müssen "
"Sie eine auswählen, die mit den vorhandenen Verkaufspositionen kompatibel "
"ist."
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
"Die Menge der Position \"%(line)s\" ist größer als die verbleibende Menge "
"(%(remaining)s) des Rahmenvertrags \"%(agreement)s\"."
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr "Annullieren"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr "Beenden"
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr "Verkauf Erstellen"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr "Entwurf"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr "Ausführen"
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr "Verkaufsrahmenvertrag"
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Verkaufsrahmenvertrag"
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Verkaufsrahmenvertrag"
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Rahmenverträge"
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Verkaufsrahmenvertrag"
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr "Verkauf Rahmenvertrag"
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr "Verkauf Rahmenvertrag Verkauf erstellen Start"
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr "Verkauf Rahmenvertragsposition"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr "Annulliert"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr "Beendet"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr "Entwurf"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr "In Ausführung"
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr "Allgemein"
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr "Vertragliches"
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr "Sonstiges"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr "Erstellen"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr "Abbrechen"

View File

@@ -0,0 +1,273 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr "Importe"
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr "Moneda"
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr "Cliente"
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr "Descripción"
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr "Desde la fecha"
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr "Líneas"
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr "Referencia"
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr "Estado"
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr "Hasta la fecha"
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr "Acuerdo"
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr "Líneas"
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr "Estado acuerdo"
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr "Importe"
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr "Acuerdo general"
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr "Moneda"
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr "Cantidad procesada"
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Categoría UdM del producto"
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr "Cantidad"
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr "Cantidad restante"
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr "Líneas de venta"
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr "Unidad"
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr "Precio unitario"
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Sequencia acuerdo general"
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Sequencia acuerdo general"
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr "Linea de acuerdo general"
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr "Acuerdos generales"
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "La categoría de la unidad de medida del producto."
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Acuerdos generales"
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr "Ventas"
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr "Líneas de venta"
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr "Crear una venta"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr "Todo"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr "Borrador"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr "En ejecución"
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
"El acuerdo \"%(agreement)s\" que se quiere cerrar todavia tiene cantidades "
"pendientes."
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
"Para cambiar la unidad de la linea de acuerdo \"%(line)s\", tenéis que "
"seleccionar una comptabile con las lineas de compra existentes."
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
"La cantidad de la linea \"%(line)s\" es mas grande que la cantidad restante "
"(%(remaining)s) del acuerdo \"%(agreement)s\"."
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr "Cerrar"
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr "Crear una venta"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr "Borrador"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr "Ejecutar"
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr "Acuerdos generales de ventas"
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Acuerdo general de ventas"
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Acuerdo general de ventas"
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Acuerdos generales"
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Acuerdo general de ventas"
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr "Acuerdo general de ventas"
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr "Inicio creare venta desde acuerdo general de ventas"
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr "Linea de acuerdo general de ventas"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr "Cancelado"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr "Cerrado"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr "Borrador"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr "En ejecución"
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr "General"
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr "Acuerdo"
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr "Información adicional"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr "Crear"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr "Cancelar"

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,272 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr "Montant"
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr "Devise"
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr "Client"
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr "Description"
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr "Date de début"
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr "Lignes"
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr "Numéro"
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr "Référence"
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr "État"
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr "Date de fin"
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr "Contrat"
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr "Lignes"
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr "État du contrat"
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr "Montant"
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr "Contrat-cadre"
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr "Devise"
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr "Quantité traitée"
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Catégorie d'UDM du produit"
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr "Quantité"
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr "Quantité restante"
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr "Lignes de vente"
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr "Unité"
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr "Prix unitaire"
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Séquence de contrat-cadre"
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Séquence de contrat-cadre"
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr "Ligne de contrat-cadre"
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr "Contrats-cadres"
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "La catégorie d'Unité De Mesure pour le produit."
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Contrats-cadres"
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr "Ventes"
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr "Lignes de vente"
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr "Créer une vente"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr "Tous"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr "Brouillon"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr "En cours"
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
"Le contrat « %(agreement)s » à clôturer a encore des quantités restantes."
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
"Pour changer l'unité de la ligne contrat « %(line)s », vous devez en choisir"
" une compatible avec les lignes de vente existantes."
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
"La quantité de la ligne « %(line)s » est supérieure à la quantité restante "
"(%(remaining)s) du contrat « %(agreement)s »."
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr "Annuler"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr "Clôturer"
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr "Créer une vente"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr "Brouillon"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr "Lancer"
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr "Contrat-cadre de ventes"
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Contrat-cadre de vente"
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Contrat-cadre de vente"
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Contrats-cadres"
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Contrat-cadre de vente"
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr "Contrat-cadre de vente"
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr "Contrat-cadre de vente Créer une vente Début"
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr "Ligne de contrat-cadre de vente"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr "Annulés"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr "Clôturés"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr "Brouillon"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr "En cours"
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr "Général"
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr "Contrat"
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr "Autre information"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr "Créer"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr "Annuler"

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr "Valuta"
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr "Valuta"
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr "Prodotto"
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr "Quantità"
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr "Annullato"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,273 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr "Bedrag"
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr "Valuta"
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr "Klant"
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr "Omschrijving"
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr "Vanaf datum"
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr "Regels"
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr "Referentie"
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr "Status"
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr "Tot datum"
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr "Overeenkomst"
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr "Regels"
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr "Status overeenkomst"
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr "Bedrag"
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr "Algemene overeenkomst"
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr "Valuta"
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr "Verwerkte hoeveelheid"
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr "Maateenheid categorie product"
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr "Hoeveelheid"
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr "Resterende hoeveelheid"
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr "Verkoop regels"
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr "Eenheid"
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr "Eenheidsprijs"
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Algemene overeenkomst reeks"
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr "Algemene overeenkomst reeks"
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr "Algemene overeenkomst regel"
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr "Algemene overeenkomsten"
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr "De categorie van de maateenheid van het product."
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Algemene overeenkomsten"
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr "Verkopen"
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr "Verkoop Regels"
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr "Verkooporder maken"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr "Alles"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr "Concept"
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr "In uitvoering"
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
"De af te ronden overeenkomst \"%(agreement)s\" heeft nog resterende "
"hoeveelheden."
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
"Om de eenheid van de overeenkomst regel \"%(line)s\" te wijzigen, moet u een"
" eenheid kiezen die aansluit bij de bestaande verkoop regels."
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
"De hoeveelheid van regel \"%(line)s\" is groter dan de resterende "
"hoeveelheid (%(remaining)s) van overeenkomst \"%(agreement)s\"."
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr "Annuleer"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr "Afronden"
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr "Verkooporder maken"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr "Concept"
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr "Uitvoeren"
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr "Algemene verkoopovereenkomsten"
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Algemene verkoopovereenkomst"
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Algemene verkoopovereenkomst"
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr "Algemene overeenkomsten"
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr "Algemene verkoopovereenkomst"
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr "Verkoop afroeporder"
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr "Verkoop afroeporder aanmaken start"
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr "Verkoop afroeporder regel"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr "Geannuleerd"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr "Gesloten"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr "Concept"
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr "In uitvoering"
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr "Algemeen"
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr "Overeenkomst"
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr "Overige informatie"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr "Aanmaken"
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr "Annuleer"

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,267 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:sale.blanket_agreement,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement,customer:"
msgid "Customer"
msgstr ""
msgctxt "field:sale.blanket_agreement,description:"
msgid "Description"
msgstr ""
msgctxt "field:sale.blanket_agreement,from_date:"
msgid "From Date"
msgstr ""
msgctxt "field:sale.blanket_agreement,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement,number:"
msgid "Number"
msgstr ""
msgctxt "field:sale.blanket_agreement,reference:"
msgid "Reference"
msgstr ""
msgctxt "field:sale.blanket_agreement,state:"
msgid "State"
msgstr ""
msgctxt "field:sale.blanket_agreement,to_date:"
msgid "To Date"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.create_sale.start,lines:"
msgid "Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,agreement_state:"
msgid "Agreement State"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,blanket_agreement:"
msgid "Blanket Agreement"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,company:"
msgid "Company"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,processed_quantity:"
msgid "Processed quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product:"
msgid "Product"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,product_uom_category:"
msgid "Product UoM Category"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,quantity:"
msgid "Quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,remaining_quantity:"
msgid "Remaining quantity"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,sale_lines:"
msgid "Sale Lines"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit:"
msgid "Unit"
msgstr ""
msgctxt "field:sale.blanket_agreement.line,unit_price:"
msgid "Unit Price"
msgstr ""
msgctxt "field:sale.configuration,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.configuration.sequence,blanket_agreement_sequence:"
msgid "Blanket Agreement Sequence"
msgstr ""
msgctxt "field:sale.line,blanket_agreement_line:"
msgid "Blanket Agreement Line"
msgstr ""
msgctxt "field:sale.sale,blanket_agreements:"
msgid "Blanket Agreements"
msgstr ""
msgctxt "help:sale.blanket_agreement.line,product_uom_category:"
msgid "The category of Unit of Measure for the product."
msgstr ""
msgctxt "model:ir.action,name:act_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:ir.action,name:act_sale_form_blanket_agreement"
msgid "Sales"
msgstr ""
msgctxt "model:ir.action,name:act_sale_line_form_blanket_agreement"
msgid "Sale Lines"
msgstr ""
msgctxt "model:ir.action,name:sale_blanket_agreement_create_sale_wizard"
msgid "Create a Sale"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_sale_blanket_agreement_domain_running"
msgid "Running"
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_closed_remaining_quantity"
msgid ""
"The agreement \"%(agreement)s\" to be closed has still remaining quantities."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_agreement_line_incompatible_unit"
msgid ""
"To change the unit of agreement line \"%(line)s\", you must choose one "
"compatible with the existing sale lines."
msgstr ""
#, python-format
msgctxt "model:ir.message,text:msg_quantity_greater_remaining"
msgid ""
"The quantity of line \"%(line)s\" is greater than the remaining quantity "
"(%(remaining)s) of agreement \"%(agreement)s\"."
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_cancel_button"
msgid "Cancel"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_close_button"
msgid "Close"
msgstr ""
msgctxt ""
"model:ir.model.button,string:sale_blanket_agreement_create_sale_button"
msgid "Create a sale"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_draft_button"
msgid "Draft"
msgstr ""
msgctxt "model:ir.model.button,string:sale_blanket_agreement_run_button"
msgid "Run"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_sale_blanket_agreement_companies"
msgid "Sales Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence,name:sequence_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.sequence.type,name:sequence_type_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_sale_blanket_agreement"
msgid "Blanket Agreements"
msgstr ""
msgctxt "model:res.group,name:group_sale_blanket_agreement"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement,string:"
msgid "Sale Blanket Agreement"
msgstr ""
msgctxt "model:sale.blanket_agreement.create_sale.start,string:"
msgid "Sale Blanket Agreement Create Sale Start"
msgstr ""
msgctxt "model:sale.blanket_agreement.line,string:"
msgid "Sale Blanket Agreement Line"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Cancelled"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Closed"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:sale.blanket_agreement,state:"
msgid "Running"
msgstr ""
msgctxt "view:sale.blanket_agreement.line:"
msgid "General"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Agreement"
msgstr ""
msgctxt "view:sale.blanket_agreement:"
msgid "Other Info"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,create_sale:"
msgid "Create"
msgstr ""
msgctxt "wizard_button:sale.blanket_agreement.create_sale,start,end:"
msgid "Cancel"
msgstr ""

View File

@@ -0,0 +1,16 @@
<?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 grouped="1">
<record model="ir.message" id="msg_agreement_closed_remaining_quantity">
<field name="text">The agreement "%(agreement)s" to be closed has still remaining quantities.</field>
</record>
<record model="ir.message" id="msg_quantity_greater_remaining">
<field name="text">The quantity of line "%(line)s" is greater than the remaining quantity (%(remaining)s) of agreement "%(agreement)s".</field>
</record>
<record model="ir.message" id="msg_agreement_line_incompatible_unit">
<field name="text">To change the unit of agreement line "%(line)s", you must choose one compatible with the existing sale lines.</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,13 @@
<?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.view" id="product_view_list_agreement_line">
<field name="model">product.product</field>
<field name="type">tree</field>
<field name="priority" eval="20"/>
<field name="name">product_list_agreement_line</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,826 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import functools
from decimal import Decimal
from itertools import groupby
from sql import Null
from sql.functions import CharLength
from trytond.i18n import gettext
from trytond.model import (
ChatMixin, Index, ModelSQL, ModelView, Workflow, fields)
from trytond.modules.currency.fields import Monetary
from trytond.modules.product import price_digits, round_price
from trytond.modules.product.exceptions import UOMValidationError
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Bool, Date, Eval, Id, If
from trytond.transaction import Transaction
from trytond.wizard import Button, StateAction, StateView, Wizard
from .exceptions import (
BlanketAgreementClosingWarning, BlanketAgreementQuantityWarning)
def blanket_agreement_quantity_warning():
def decorator(func):
@functools.wraps(func)
def wrapper(cls, sales, *args, **kwargs):
pool = Pool()
Warning = pool.get('res.user.warning')
Lang = pool.get('ir.lang')
for sale in sales:
for line in sale.lines:
agreement_line = line.blanket_agreement_line
if not agreement_line:
continue
remaining_quantity = (
agreement_line.remainig_quantity_for_sale(line))
if (remaining_quantity is not None
and line.quantity > remaining_quantity):
warning_key = Warning.format(
'blanket_agreement_quantity_greater_remaining',
[line])
if Warning.check(warning_key):
lang = Lang.get()
raise BlanketAgreementQuantityWarning(
warning_key,
gettext('sale_blanket_agreement'
'.msg_quantity_greater_remaining',
line=line.rec_name,
remaining=lang.format_number_symbol(
remaining_quantity, line.unit),
agreement=agreement_line.rec_name))
return func(cls, sales, *args, **kwargs)
return wrapper
return decorator
class Configuration(metaclass=PoolMeta):
__name__ = 'sale.configuration'
blanket_agreement_sequence = fields.MultiValue(fields.Many2One(
'ir.sequence', "Blanket Agreement Sequence",
required=True,
domain=[
('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('sequence_type', '=',
Id('sale_blanket_agreement',
'sequence_type_blanket_agreement')),
]))
@classmethod
def multivalue_model(cls, field):
pool = Pool()
if field == 'blanket_agreement_sequence':
return pool.get('sale.configuration.sequence')
return super().multivalue_model(field)
@classmethod
def default_blanket_agreement_sequence(cls, **pattern):
return cls.multivalue_model(
'blanket_agreement_sequence'
).default_blanket_agreement_sequence()
class ConfigurationSequence(metaclass=PoolMeta):
__name__ = 'sale.configuration.sequence'
blanket_agreement_sequence = fields.Many2One(
'ir.sequence', "Blanket Agreement Sequence", required=True,
domain=[
('company', 'in', [Eval('company', -1), None]),
('sequence_type', '=',
Id('sale_blanket_agreement',
'sequence_type_blanket_agreement')),
])
@classmethod
def default_blanket_agreement_sequence(cls):
pool = Pool()
ModelData = pool.get('ir.model.data')
try:
return ModelData.get_id(
'sale_blanket_agreement', 'sequence_blanket_agreement')
except KeyError:
return None
class BlanketAgreement(Workflow, ModelSQL, ModelView, ChatMixin):
__name__ = 'sale.blanket_agreement'
_rec_name = 'number'
company = fields.Many2One(
'company.company', "Company", required=True,
states={
'readonly': (
(Eval('state') != 'draft')
| Eval('lines', [0])
| Eval('customer', True)),
})
number = fields.Char("Number", readonly=True)
reference = fields.Char("Reference")
description = fields.Char(
"Description",
states={
'readonly': Eval('state') != 'draft',
})
customer = fields.Many2One(
'party.party', "Customer", required=True,
states={
'readonly': (
(Eval('state') != 'draft')
| (Eval('lines', [0]) & Eval('customer'))),
},
context={
'company': Eval('company', -1),
},
depends=['company'])
from_date = fields.Date(
"From Date",
domain=[
If(Eval('to_date') & Eval('from_date'),
('from_date', '<=', Eval('to_date')),
()),
],
states={
'readonly': Eval('state') != 'draft',
'required': ~Eval('state').in_(['draft', 'cancelled']),
})
to_date = fields.Date(
"To Date",
domain=[
If(Eval('from_date') & Eval('to_date'),
('to_date', '>=', Eval('from_date')),
()),
],
states={
'readonly': ~Eval('state').in_(['draft', 'running']),
'required': Eval('state') == 'closed',
})
currency = fields.Many2One(
'currency.currency', "Currency", required=True,
states={
'readonly': (
(Eval('state') != 'draft')
| (Eval('lines', [0]) & Eval('currency', 0))),
})
lines = fields.One2Many(
'sale.blanket_agreement.line', 'blanket_agreement', "Lines",
states={
'readonly': (
(Eval('state') != 'draft')
| ~Eval('customer'))
})
amount = fields.Function(Monetary(
"Amount", currency='currency', digits='currency'),
'on_change_with_amount')
state = fields.Selection([
('draft', "Draft"),
('running', "Running"),
('closed', "Closed"),
('cancelled', "Cancelled"),
], "State", readonly=True, required=True)
@classmethod
def __setup__(cls):
cls.number.search_unaccented = False
cls.reference.search_unaccented = False
super().__setup__()
t = cls.__table__()
cls._sql_indexes.update({
Index(t, (t.reference, Index.Similarity())),
Index(
t, (t.state, Index.Equality(cardinality='low')),
where=t.state.in_(['draft', 'running'])),
})
cls._order = [
('from_date', 'DESC NULLS FIRST'),
('id', 'DESC'),
]
cls._transitions |= set((
('draft', 'running'),
('draft', 'cancelled'),
('running', 'draft'),
('running', 'closed'),
('closed', 'running'),
('cancelled', 'draft'),
))
cls._buttons.update({
'cancel': {
'invisible': Eval('state') != 'draft',
'depends': ['state'],
},
'draft': {
'invisible': ~Eval('state').in_(['cancelled', 'running']),
'icon': 'tryton-undo',
'depends': ['state'],
},
'run': {
'invisible': (
(Eval('state') != 'draft')
& ~(Id('sale', 'group_sale_admin').in_(
Eval('context', {}).get('groups', []))
& (Eval('state') == 'closed'))),
'readonly': (~Eval('lines')
| (Eval('from_date', Date()) > Date())),
'icon': If(Eval('state') == 'closed',
'tryton-back',
'tryton-forward'),
'depends': ['state'],
},
'create_sale': {
'invisible': Eval('state') != 'running',
'depends': ['state'],
},
'close': {
'invisible': Eval('state') != 'running',
'depends': ['state'],
},
})
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def order_number(cls, tables):
table, _ = tables[None]
return [
~((table.state == 'cancelled') & (table.number == Null)),
CharLength(table.number), table.number]
@classmethod
def default_currency(cls, **pattern):
pool = Pool()
Company = pool.get('company.company')
company = pattern.get('company')
if not company:
company = cls.default_company()
if company is not None and company >= 0:
return Company(company).currency.id
@fields.depends('company', 'customer', 'lines')
def on_change_customer(self):
if not self.lines:
self.currency = self.default_currency(
company=self.company.id if self.company else None)
if self.customer and self.customer.customer_currency:
self.currency = self.customer.customer_currency
@fields.depends('lines', 'currency')
def on_change_with_amount(self, name=None):
amount = sum(
(line.amount or Decimal(0) for line in self.lines),
Decimal(0))
if self.currency:
amount = self.currency.round(amount)
return amount
@classmethod
def default_state(cls):
return 'draft'
@property
def full_number(self):
return self.number
def get_rec_name(self, name):
items = []
if self.full_number:
items.append(self.full_number)
if self.reference:
items.append('[%s]' % self.reference)
if not items:
items.append('(%s)' % self.id)
return ' '.join(items)
@classmethod
def search_rec_name(cls, name, clause):
_, operator, value = clause
if operator.startswith('!') or operator.startswith('not '):
bool_op = 'AND'
else:
bool_op = 'OR'
return [bool_op,
('number', operator, value),
('reference', operator, value),
]
def chat_language(self, audience='internal'):
language = super().chat_language(audience=audience)
if audience == 'public':
language = self.customer.lang.code if self.customer.lang else None
return language
@classmethod
def copy(cls, agreements, default=None):
default = default.copy() if default is not None else {}
default.setdefault('number', None)
default.setdefault('reference')
default.setdefault('from_date', None)
default.setdefault('to_date', None)
return super().copy(agreements, default=default)
@classmethod
def set_number(cls, agreements):
'''
Fill the number field with the blanket agreement sequence
'''
pool = Pool()
Config = pool.get('sale.configuration')
config = Config(1)
for company, c_agreements in groupby(
agreements, key=lambda a: a.company):
c_agreements = [a for a in c_agreements if not a.number]
if c_agreements:
sequence = config.get_multivalue(
'blanket_agreement_sequence', company=company.id)
for agreement, number in zip(
c_agreements, sequence.get_many(len(c_agreements))):
agreement.number = number
cls.save(agreements)
@classmethod
def set_date(cls, agreements, field):
pool = Pool()
Date = pool.get('ir.date')
for company, agreements in groupby(
agreements, key=lambda p: p.company):
with Transaction().set_context(company=company.id):
today = Date.today()
cls.write([a for a in agreements if not getattr(a, field)], {
field: today,
})
@classmethod
def view_attributes(cls):
return super().view_attributes() + [
('/tree', 'visual',
If(Eval('state').in_(['cancelled', 'closed']),
'muted',
If(Eval('to_date', Date()) < Date(),
'warning',
''))),
]
def get_sale(self, lines=None):
pool = Pool()
Sale = pool.get('sale.sale')
sale = Sale(
company=self.company,
party=self.customer,
)
sale.on_change_party()
self.currency = self.currency
if lines:
sale_lines = []
for line in lines:
assert line.blanket_agreement == self
sale_line = line.get_sale_line(sale)
sale_lines.append(sale_line)
sale.lines = sale_lines
return sale
@classmethod
@ModelView.button
@Workflow.transition('cancelled')
def cancel(cls, agreements):
pass
@classmethod
@ModelView.button
@Workflow.transition('draft')
def draft(cls, agreements):
pass
@classmethod
@ModelView.button
@Workflow.transition('running')
def run(cls, agreements):
cls.set_number(agreements)
cls.set_date(agreements, 'from_date')
@classmethod
@ModelView.button_action(
'sale_blanket_agreement'
'.sale_blanket_agreement_create_sale_wizard')
def create_sale(cls, agreements):
pass
@classmethod
@ModelView.button
@Workflow.transition('closed')
def close(cls, agreements):
pool = Pool()
Warning = pool.get('res.user.warning')
Date = pool.get('ir.date')
today = Date.today()
cls.set_date(agreements, 'to_date')
for agreement in agreements:
if agreement.to_date > today:
if any(l.remaining_quantity > 0 for l in agreement.lines):
warning_key = Warning.format(
'closed_remaining_quantity', [agreement])
if Warning.check(warning_key):
raise BlanketAgreementClosingWarning(
warning_key,
gettext('sale_blanket_agreement'
'.msg_agreement_closed_remaining_quantity',
agreement=agreement.rec_name))
class BlanketAgreementLine(ModelSQL, ModelView):
__name__ = 'sale.blanket_agreement.line'
_states = {
'readonly': Eval('agreement_state') != 'draft'
}
blanket_agreement = fields.Many2One(
'sale.blanket_agreement', "Blanket Agreement",
ondelete='CASCADE', required=True,
states={
'readonly': (
_states['readonly'] & Bool(Eval('blanket_agreement'))),
})
product = fields.Many2One(
'product.product', "Product", ondelete='RESTRICT', required=True,
domain=[
If(Eval('agreement_state') == 'draft',
('salable', '=', True),
()),
],
states=_states,
context={
'company': Eval('company', None),
},
search_context={
'currency': Eval('_parent_agreement', {}).get('currency'),
'customer': Eval('_parent_agreement', {}).get('customer'),
'quantity': Eval('quantity'),
'uom': Eval('unit'),
},
depends=['company', 'unit', 'quantity'])
product_uom_category = fields.Function(
fields.Many2One(
'product.uom.category', "Product UoM Category",
help="The category of Unit of Measure for the product."),
'on_change_with_product_uom_category')
quantity = fields.Float("Quantity", digits='unit', states=_states)
unit = fields.Many2One(
'product.uom', "Unit", ondelete='RESTRICT', required=True,
states=_states)
unit_price = Monetary(
"Unit Price", digits=price_digits, currency='currency', required=True,
states=_states)
amount = fields.Function(
Monetary("Amount", digits='currency', currency='currency'),
'on_change_with_amount')
processed_quantity = fields.Function(
fields.Float("Processed quantity", digits='unit'),
'get_processed_quantity')
remaining_quantity = fields.Function(
fields.Float(
"Remaining quantity", digits='unit',
states={
'invisible': ~Eval('quantity'),
}),
'on_change_with_remaining_quantity')
sale_lines = fields.One2Many(
'sale.line', 'blanket_agreement_line', "Sale Lines", readonly=True)
agreement_state = fields.Function(
fields.Selection(
'get_sale_blanket_agreement_states', "Agreement State"),
'on_change_with_agreement_state')
company = fields.Function(
fields.Many2One('company.company', "Company"),
'on_change_with_company')
currency = fields.Function(
fields.Many2One('currency.currency', "Currency"),
'on_change_with_currency')
del _states
@classmethod
def __setup__(cls):
super().__setup__()
cls.__access__.add('blanket_agreement')
unit_categories = cls._unit_categories()
cls.unit.domain = [
If(Bool(Eval('product_uom_category')),
('category', 'in', [Eval(c) for c in unit_categories]),
('category', '!=', -1)),
]
@fields.depends(
'product', 'unit', 'blanket_agreement',
'_parent_blanket_agreement.customer',
methods=['on_change_with_amount'])
def on_change_product(self):
if not self.product:
return
category = self.product.sale_uom.category
if not self.unit or self.unit.category != category:
self.unit = self.product.sale_uom
@classmethod
def _unit_categories(cls):
return ['product_uom_category']
@fields.depends('product')
def on_change_with_product_uom_category(self, name=None):
return self.product.default_uom_category if self.product else None
@fields.depends(
'quantity', 'unit_price', 'blanket_agreement',
'_parent_blanket_agreement.currency')
def on_change_with_amount(self, name=None):
amount = (
Decimal(str(self.quantity or 0))
* (self.unit_price or Decimal(0)))
if self.blanket_agreement and self.blanket_agreement.currency:
return self.blanket_agreement.currency.round(amount)
return amount
@fields.depends('blanket_agreement', '_parent_blanket_agreement.currency')
def on_change_with_currency(self, name=None):
if self.blanket_agreement:
return self.blanket_agreement.currency
def get_processed_quantity(self, name=None):
processed_quantity = 0.
for line in self.sale_lines:
if line.sale.state in {'confirmed', 'processing', 'done'}:
processed_quantity += line.quantity_for_blanket_agreement(
self, round=False)
return self.unit.round(processed_quantity)
@fields.depends('quantity', 'processed_quantity')
def on_change_with_remaining_quantity(self, name=None):
if self.quantity is not None:
return max(self.quantity - (self.processed_quantity or 0.), 0.)
@classmethod
def get_sale_blanket_agreement_states(cls):
pool = Pool()
Agreement = pool.get('sale.blanket_agreement')
return Agreement.fields_get(['state'])['state']['selection']
@fields.depends('blanket_agreement', '_parent_blanket_agreement.state')
def on_change_with_agreement_state(self, name=None):
if self.blanket_agreement:
return self.blanket_agreement.state
@fields.depends('blanket_agreement', '_parent_blanket_agreement.company')
def on_change_with_company(self, name=None):
if self.blanket_agreement:
return self.blanket_agreement.company
def get_sale_line(self, sale):
pool = Pool()
SaleLine = pool.get('sale.line')
sale_line = SaleLine(
sale=sale,
product=self.product,
blanket_agreement_line=self,
)
sale_line.on_change_product()
self._set_sale_line_quantity(sale_line)
return sale_line
def _set_sale_line_quantity(self, sale_line):
if self.unit.category == self.product.sale_uom.category:
sale_line.quantity = self.remaining_quantity or 0
sale_line.unit = self.unit
sale_line.unit_price = self.unit_price
sale_line.on_change_quantity()
def get_rec_name(self, name):
pool = Pool()
Lang = pool.get('ir.lang')
lang = Lang.get()
name = f'{self.product.rec_name}s @ {self.blanket_agreement.rec_name}'
if self.quantity is not None:
name = '%s %s' % (lang.format_number_symbol(
self.quantity, self.unit, digits=self.unit.digits), name)
return name
@classmethod
def validate_fields(cls, records, field_names):
super().validate_fields(records, field_names)
cls.check_unit(records, field_names)
@classmethod
def check_unit(cls, lines, field_names=None):
if field_names and not (field_names & {'unit'}):
return
for line in lines:
for sale_line in line.sale_lines:
if not line.is_same_uom_category(sale_line):
raise UOMValidationError(
gettext('sale_blanket_agreement'
'.msg_agreement_line_incompatible_unit',
line=line.rec_name))
def is_same_uom_category(self, sale_line):
return self.unit.category == sale_line.product_uom_category
def remainig_quantity_for_sale(self, line, round=True):
pool = Pool()
Uom = pool.get('product.uom')
if (self.remaining_quantity is not None
and self.unit.category == line.unit.category):
return Uom.compute_qty(
self.unit, self.remaining_quantity, line.unit,
round=round)
@classmethod
def copy(cls, lines, default=None):
default = default.copy() if default is not None else {}
default.setdefault('sale_lines', None)
return super().copy(lines, default=default)
class Sale(metaclass=PoolMeta):
__name__ = 'sale.sale'
blanket_agreements = fields.Function(fields.Many2Many(
'sale.blanket_agreement', None, None, "Blanket Agreements"),
'get_blanket_agreements', searcher='search_blanket_agreements')
def get_blanket_agreements(self, name):
return list({
l.blanket_agreement_line.blanket_agreement.id
for l in self.lines
if l.blanket_agreement_line})
@classmethod
def search_blanket_agreements(cls, name, clause):
return [
('lines.blanket_agreement_line.blanket_agreement'
+ clause[0][len(name):], *clause[1:])]
@classmethod
@ModelView.button
@Workflow.transition('quotation')
@blanket_agreement_quantity_warning()
def quote(cls, sales):
super().quote(sales)
@classmethod
@ModelView.button
@Workflow.transition('confirmed')
@blanket_agreement_quantity_warning()
def confirm(cls, sales):
super().confirm(sales)
class Line(metaclass=PoolMeta):
__name__ = 'sale.line'
blanket_agreement_line = fields.Many2One(
'sale.blanket_agreement.line', "Blanket Agreement Line",
ondelete='RESTRICT',
states={
'invisible': ~Eval('product'),
'readonly': Eval('sale_state') != 'draft',
})
@classmethod
def __setup__(cls):
super().__setup__()
sale_date = Eval('_parent_sale', {}).get(
'sale_date', Date())
sale_date = If(sale_date, sale_date, Date())
cls.blanket_agreement_line.domain = [
If(Eval('sale_state').in_(['draft', 'quotation']),
[
('blanket_agreement.state', '=', 'running'),
['OR',
('blanket_agreement.from_date', '<=', sale_date),
('blanket_agreement.from_date', '=', None),
],
['OR',
('blanket_agreement.to_date', '>=', sale_date),
('blanket_agreement.to_date', '=', None),
],
cls._domain_blanket_agreemnt_line_product(),
],
[]),
('blanket_agreement.customer', '=',
Eval('_parent_sale', {}).get('party', -1)),
]
@classmethod
def _domain_blanket_agreemnt_line_product(cls):
return ('product', '=', Eval('product', -1))
@fields.depends(
'blanket_agreement_line', '_parent_blanket_agreement_line.unit',
'_parent_blanket_agreement_line.unit_price', 'unit')
def compute_unit_price(self):
pool = Pool()
Uom = pool.get('product.uom')
unit_price = super().compute_unit_price()
line = self.blanket_agreement_line
if (line
and self.unit
and line.unit
and self.unit.category == line.unit.category):
unit_price = Uom.compute_price(
line.unit, line.unit_price, self.unit)
unit_price = round_price(unit_price)
return unit_price
@fields.depends(
'quantity', 'unit',
'blanket_agreement_line',
'_parent_blanket_agreement_line.unit',
'_parent_blanket_agreement_line.remaining_quantity',
methods=['compute_unit_price', 'on_change_quantity'])
def on_change_blanket_agreement_line(self):
pool = Pool()
Uom = pool.get('product.uom')
if self.blanket_agreement_line:
line = self.blanket_agreement_line
self.unit_price = self.compute_unit_price()
if (self.unit and line.unit
and self.unit.category == line.unit.category):
if line.remaining_quantity is not None:
remaining_quantity = Uom.compute_qty(
line.unit, line.remaining_quantity, self.unit)
if (self.quantity is None
or remaining_quantity < self.quantity):
self.quantity = remaining_quantity
self.on_change_quantity()
@fields.depends(methods=['is_valid_product_for_blanket_agreement'])
def on_change_product(self):
super().on_change_product()
if not self.is_valid_product_for_blanket_agreement():
self.blanket_agreement_line = None
@fields.depends(
'blanket_agreement_line', 'product',
'_parent_blanket_agreement_line.product')
def is_valid_product_for_blanket_agreement(self):
if self.blanket_agreement_line:
return self.product == self.blanket_agreement_line.product
def quantity_for_blanket_agreement(self, line, round=True):
pool = Pool()
Uom = pool.get('product.uom')
if self.unit.category == line.unit.category:
quantity = (
self.actual_quantity if self.actual_quantity is not None
else self.quantity)
return Uom.compute_qty(self.unit, quantity, line.unit, round=round)
return 0
class BlanketAgreementCreateSale(Wizard):
__name__ = 'sale.blanket_agreement.create_sale'
start = StateView(
'sale.blanket_agreement.create_sale.start',
'sale_blanket_agreement'
'.sale_blanket_agreement_create_sale_start_form_view', [
Button("Cancel", 'end', 'tryton-cancel'),
Button("Create", 'create_sale', 'tryton-ok', default=True),
])
create_sale = StateAction('sale.act_sale_form')
def default_start(self, fields):
line_ids = [
line.id for line in self.record.lines
if line.remaining_quantity > 0]
return {
'blanket_agreement': self.record.id,
'lines': line_ids,
}
def do_create_sale(self, action):
if self.start.lines:
sale = self.record.get_sale(self.start.lines)
sale.save()
action['domains'] = []
action['views'].reverse()
return action, {'res_id': [sale.id]}
class BlanketAgreementCreateSaleStart(ModelView):
__name__ = 'sale.blanket_agreement.create_sale.start'
blanket_agreement = fields.Many2One('sale.blanket_agreement', "Agreement")
lines = fields.Many2Many(
'sale.blanket_agreement.line', None, None, "Lines",
domain=[('blanket_agreement', '=', Eval('blanket_agreement', -1))])

View File

@@ -0,0 +1,231 @@
<?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="res.group" id="group_sale_blanket_agreement">
<field name="name">Sale Blanket Agreement</field>
<field name="parent" ref="sale.group_sale"/>
</record>
<record model="res.user-res.group" id="user_admin_group_sale_blanket_agreement">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_sale_blanket_agreement"/>
</record>
<record model="ir.ui.view" id="sale_configuration_view_form">
<field name="model">sale.configuration</field>
<field name="inherit" ref="sale.sale_configuration_view_form"/>
<field name="name">sale_configuration_form</field>
</record>
<record model="ir.sequence.type" id="sequence_type_blanket_agreement">
<field name="name">Sale Blanket Agreement</field>
</record>
<record model="ir.sequence.type-res.group" id="sequence_type_blanket_agreement_group_admin">
<field name="sequence_type" ref="sequence_type_blanket_agreement"/>
<field name="group" ref="res.group_admin"/>
</record>
<record model="ir.sequence.type-res.group" id="sequence_type_group_sale_admin">
<field name="sequence_type" ref="sequence_type_blanket_agreement"/>
<field name="group" ref="sale.group_sale_admin"/>
</record>
<record model="ir.sequence" id="sequence_blanket_agreement">
<field name="name">Sale Blanket Agreement</field>
<field name="sequence_type" ref="sequence_type_blanket_agreement"/>
</record>
<record model="ir.ui.view" id="sale_blanket_agreement_view_form">
<field name="model">sale.blanket_agreement</field>
<field name="type">form</field>
<field name="name">sale_blanket_agreement_form</field>
</record>
<record model="ir.ui.view" id="sale_blanket_agreement_view_list">
<field name="model">sale.blanket_agreement</field>
<field name="type">tree</field>
<field name="name">sale_blanket_agreement_list</field>
</record>
<record model="ir.action.act_window" id="act_sale_blanket_agreement">
<field name="name">Blanket Agreements</field>
<field name="res_model">sale.blanket_agreement</field>
</record>
<record model="ir.action.act_window.view" id="act_sale_blanket_agreement_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="sale_blanket_agreement_view_list"/>
<field name="act_window" ref="act_sale_blanket_agreement"/>
</record>
<record model="ir.action.act_window.view" id="act_sale_blanket_agreement_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="sale_blanket_agreement_view_form"/>
<field name="act_window" ref="act_sale_blanket_agreement"/>
</record>
<record model="ir.action.act_window.domain" id="act_sale_blanket_agreement_domain_draft">
<field name="name">Draft</field>
<field name="sequence" eval="10"/>
<field name="domain" eval="[('state', '=', 'draft')]" pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_sale_blanket_agreement"/>
</record>
<record model="ir.action.act_window.domain" id="act_sale_blanket_agreement_domain_running">
<field name="name">Running</field>
<field name="sequence" eval="20"/>
<field name="domain" eval="[('state', '=', 'running')]" pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_sale_blanket_agreement"/>
</record>
<record model="ir.action.act_window.domain" id="act_sale_blanket_agreement_domain_all">
<field name="name">All</field>
<field name="sequence" eval="9999"/>
<field name="domain"/>
<field name="act_window" ref="act_sale_blanket_agreement"/>
</record>
<menuitem
parent="sale.menu_sale"
action="act_sale_blanket_agreement"
sequence="20"
id="menu_sale_blanket_agreement"/>
<record model="ir.model.button" id="sale_blanket_agreement_cancel_button">
<field name="model">sale.blanket_agreement</field>
<field name="name">cancel</field>
<field name="string">Cancel</field>
</record>
<record model="ir.model.button" id="sale_blanket_agreement_draft_button">
<field name="model">sale.blanket_agreement</field>
<field name="name">draft</field>
<field name="string">Draft</field>
</record>
<record model="ir.model.button" id="sale_blanket_agreement_run_button">
<field name="model">sale.blanket_agreement</field>
<field name="name">run</field>
<field name="string">Run</field>
</record>
<record model="ir.model.button" id="sale_blanket_agreement_create_sale_button">
<field name="model">sale.blanket_agreement</field>
<field name="name">create_sale</field>
<field name="string">Create a sale</field>
</record>
<record model="ir.model.button" id="sale_blanket_agreement_close_button">
<field name="model">sale.blanket_agreement</field>
<field name="name">close</field>
<field name="string">Close</field>
</record>
<record model="ir.model.access" id="access_sale_blanket_agreement">
<field name="model">sale.blanket_agreement</field>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_sale_blanket_agreement_for_group_sale">
<field name="model">sale.blanket_agreement</field>
<field name="group" ref="sale.group_sale"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_sale_blanket_agreement_for_group_sale_blanket_agreement">
<field name="model">sale.blanket_agreement</field>
<field name="group" ref="group_sale_blanket_agreement"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule.group" id="rule_group_sale_blanket_agreement_companies">
<field name="name">Sales Blanket Agreement</field>
<field name="model">sale.blanket_agreement</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_sale_blanket_agreement_companies">
<field name="domain" eval="[('company', 'in', Eval('companies', []))]" pyson="1"/>
<field name="rule_group" ref="rule_group_sale_blanket_agreement_companies"/>
</record>
<record model="ir.ui.view" id="sale_blanket_agreement_line_view_form">
<field name="model">sale.blanket_agreement.line</field>
<field name="type">form</field>
<field name="name">sale_blanket_agreement_line_form</field>
</record>
<record model="ir.ui.view" id="sale_blanket_agreement_line_view_list">
<field name="model">sale.blanket_agreement.line</field>
<field name="type">tree</field>
<field name="name">sale_blanket_agreement_line_list</field>
</record>
<record model="ir.action.act_window" id="act_sale_form_blanket_agreement">
<field name="name">Sales</field>
<field name="res_model">sale.sale</field>
<field name="domain"
eval="[('blanket_agreements', 'in', Eval('active_ids'))]"
pyson="1"/>
<field name="search_value" eval="[('state', 'not in', ['cancelled'])]" pyson="1"/>
</record>
<record model="ir.action.keyword" id="act_sale_form_blanket_agreement_keyword">
<field name="keyword">form_relate</field>
<field name="model">sale.blanket_agreement,-1</field>
<field name="action" ref="act_sale_form_blanket_agreement"/>
</record>
<record model="ir.action.wizard" id="sale_blanket_agreement_create_sale_wizard">
<field name="name">Create a Sale</field>
<field name="wiz_name">sale.blanket_agreement.create_sale</field>
<field name="model">sale.blanket_agreement</field>
</record>
<record model="ir.action-res.group" id="sale_blanket_agreement_create_sale_wizard-group_sale">
<field name="action" ref="sale_blanket_agreement_create_sale_wizard"/>
<field name="group" ref="sale.group_sale"/>
</record>
<record model="ir.ui.view" id="sale_blanket_agreement_create_sale_start_form_view">
<field name="model">sale.blanket_agreement.create_sale.start</field>
<field name="type">form</field>
<field name="name">sale_blanket_agreement_create_sale_start_form</field>
</record>
<record model="ir.ui.view" id="sale_line_form_view">
<field name="model">sale.line</field>
<field name="inherit" ref="sale.sale_line_view_form"/>
<field name="name">sale_line_form</field>
</record>
<record model="ir.ui.view" id="sale_line_list_view">
<field name="model">sale.line</field>
<field name="inherit" ref="sale.sale_line_view_tree"/>
<field name="name">sale_line_list</field>
</record>
<record model="ir.ui.view" id="sale_line_list_view_sequence">
<field name="model">sale.line</field>
<field name="inherit" ref="sale.sale_line_view_tree_sequence"/>
<field name="name">sale_line_list</field>
</record>
<record model="ir.action.act_window" id="act_sale_line_form_blanket_agreement">
<field name="name">Sale Lines</field>
<field name="res_model">sale.line</field>
<field name="domain"
eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('blanket_agreement_line.id', '=', Eval('active_id')), ('blanket_agreement_line.id', 'in', Eval('active_ids')))]"
pyson="1"/>
<field name="search_value" eval="[('sale.state', 'not in', ['cancelled'])]" pyson="1"/>
</record>
<record model="ir.action.keyword" id="act_open_sale_line_form_keyword1">
<field name="keyword">form_relate</field>
<field name="model">sale.blanket_agreement.line,-1</field>
<field name="action" ref="act_sale_line_form_blanket_agreement"/>
</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,177 @@
===============================
Sale Blanket Agreement Scenario
===============================
Imports::
>>> import datetime as dt
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import create_chart, get_accounts
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules, assertEqual
>>> today = dt.date.today()
>>> later = today + dt.timedelta(days=30)
Activate modules::
>>> config = activate_modules(
... 'sale_blanket_agreement', create_company, create_chart)
>>> Party = Model.get('party.party')
>>> ProductCategory = Model.get('product.category')
>>> ProductUom = Model.get('product.uom')
>>> ProductTemplate = Model.get('product.template')
>>> SaleBlanketAgreement = Model.get('sale.blanket_agreement')
>>> Sale = Model.get('sale.sale')
Get accounts::
>>> accounts = get_accounts()
Create customer::
>>> customer = Party(name="Customer")
>>> customer.save()
Create account category::
>>> account_category = ProductCategory(name="Account Category")
>>> account_category.accounting = True
>>> account_category.account_expense = accounts['expense']
>>> account_category.account_revenue = accounts['revenue']
>>> account_category.save()
Create products::
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> kg, = ProductUom.find([('name', '=', 'Kilogram')])
>>> template = ProductTemplate()
>>> template.name = 'Product1'
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.list_price = Decimal('10.000')
>>> template.salable = True
>>> template.account_category = account_category
>>> template.save()
>>> product1, = template.products
>>> product1.cost_price = Decimal('8.000')
>>> product1.save()
>>> template = ProductTemplate()
>>> template.name = 'Product2'
>>> template.default_uom = kg
>>> template.type = 'goods'
>>> template.list_price = Decimal('10.000')
>>> template.salable = True
>>> template.account_category = account_category
>>> template.save()
>>> product2, = template.products
>>> product2.cost_price = Decimal('8.000')
>>> product2.save()
Create sale blanket agreement::
>>> blanket_agreement = SaleBlanketAgreement()
>>> blanket_agreement.customer = customer
>>> blanket_agreement.from_date = today
>>> blanket_agreement.to_date = later
>>> blanket_agreement_line = blanket_agreement.lines.new()
>>> blanket_agreement_line.product = product1
>>> blanket_agreement_line.quantity = 20.0
>>> blanket_agreement_line.unit = unit
>>> blanket_agreement_line.unit_price = Decimal('9.0000')
>>> blanket_agreement.click('run')
>>> blanket_agreement.state
'running'
Create sale from blanket agreement::
>>> create_sale = blanket_agreement.click('create_sale')
>>> len(create_sale.form.lines)
1
>>> create_sale.form.lines[0].remaining_quantity
20.0
>>> create_sale.execute('create_sale')
>>> sale, = create_sale.actions[0]
>>> line, = sale.lines
>>> assertEqual(line.product, product1)
>>> line.quantity
20.0
>>> line.unit_price
Decimal('9.0000')
>>> line.quantity = 5.0
>>> line.save()
>>> blanket_agreement.reload()
>>> blanket_agreement_line, = blanket_agreement.lines
>>> blanket_agreement_line.remaining_quantity
20.0
Confirm sale::
>>> sale.click('quote')
>>> sale.click('confirm')
>>> sale.state
'processing'
>>> blanket_agreement_line.reload()
>>> blanket_agreement_line.remaining_quantity
15.0
Try to change product with incompatible unit::
>>> blanket_agreement.click('draft')
>>> line, = blanket_agreement.lines
>>> line.product = product2
>>> blanket_agreement.save()
Traceback (most recent call last):
...
UOMValidationError: ...
>>> blanket_agreement.reload()
>>> blanket_agreement.click('run')
Try to close blanket agreement with remaining quantity::
>>> blanket_agreement.click('close')
Traceback (most recent call last):
...
BlanketAgreementClosingWarning: ...
Try to sale more than remaining::
>>> sale = Sale(party=customer)
>>> sale_line = sale.lines.new()
>>> sale_line.product = product1
>>> sale_line.unit_price
Decimal('10.0000')
>>> sale_line.blanket_agreement_line = blanket_agreement_line
>>> sale_line.quantity
15.0
>>> sale_line.unit_price
Decimal('9.0000')
>>> sale_line.quantity = 20
>>> sale.click('quote')
Traceback (most recent call last):
...
BlanketAgreementQuantityWarning: ...
Sale remaining quantity::
>>> sale_line, = sale.lines
>>> sale_line.quantity = 15
>>> sale.click('quote')
>>> sale.click('confirm')
>>> sale.state
'processing'
Close blanket agreement::
>>> blanket_agreement.click('close')
>>> blanket_agreement.state
'closed'

View File

@@ -0,0 +1,12 @@
# 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.tests.test_tryton import ModuleTestCase
class SaleBlanketAgreementTestCase(ModuleTestCase):
"Test Sale Blanket Agreement module"
module = 'sale_blanket_agreement'
del ModuleTestCase

View File

@@ -0,0 +1,8 @@
# 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.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

View File

@@ -0,0 +1,25 @@
[tryton]
version=7.8.0
depends:
ir
company
product
party
currency
sale
xml:
message.xml
product.xml
sale.xml
[register]
model:
sale.Configuration
sale.ConfigurationSequence
sale.BlanketAgreement
sale.BlanketAgreementLine
sale.Sale
sale.Line
sale.BlanketAgreementCreateSaleStart
wizard:
sale.BlanketAgreementCreateSale

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. -->
<tree>
<field name="code"/>
<field name="name"/>
<field name="sale_price_uom"/>
<field name="cost_price_uom"/>
<field name="list_price_uom"/>
<field name="default_uom"/>
</tree>

View File

@@ -0,0 +1,6 @@
<?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>
<field colspan="4" name="lines"/>
</form>

View File

@@ -0,0 +1,50 @@
<?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>
<label name="customer"/>
<field name="customer"/>
<label name="number"/>
<field name="number"/>
<label name="description"/>
<field name="description"/>
<label name="reference"/>
<field name="reference"/>
<notebook>
<page string="Agreement" id="agreement">
<label name="from_date"/>
<field name="from_date"/>
<label name="to_date"/>
<field name="to_date"/>
<label name="currency"/>
<field name="currency"/>
<field name="lines" colspan="4"/>
</page>
<page string="Other Info" id="other">
<label name="company"/>
<field name="company"/>
</page>
</notebook>
<label name="state"/>
<field name="state"/>
<group col="2" colspan="2" id="amount" yfill="1">
<label name="amount" xalign="1.0" xexpand="1" xfill="0"/>
<field name="amount" xalign="1.0" xexpand="0"/>
</group>
<group id="links" col="-1" colspan="2">
<link icon="tryton-sale" name="sale_blanket_agreement.act_sale_form_blanket_agreement"/>
</group>
<group col="-1" colspan="2" id="buttons">
<button name="cancel" icon="tryton-cancel"/>
<button name="draft"/>
<button name="run"/>
<button name="create_sale" icon="tryton-launch"/>
<button name="close" icon="tryton-close"/>
</group>
</form>

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. -->
<form>
<label name="blanket_agreement"/>
<field name="blanket_agreement" colspan="3"/>
<notebook colspan="4">
<page string="General" id="general">
<label name="product"/>
<field name="product" view_ids="sale_blanket_agreement.product_view_list_agreement_line"/>
<newline/>
<label name="quantity"/>
<field name="quantity"/>
<label name="unit"/>
<field name="unit"/>
<label name="unit_price"/>
<field name="unit_price"/>
<label name="amount"/>
<field name="amount"/>
<label name="processed_quantity"/>
<field name="processed_quantity" symbol="unit"/>
<label name="remaining_quantity"/>
<field name="remaining_quantity" symbol="unit"/>
</page>
</notebook>
<group id="links" col="-1" colspan="6">
<link icon="tryton-sale" name="sale_blanket_agreement.act_sale_line_form_blanket_agreement"/>
</group>
</form>

View File

@@ -0,0 +1,12 @@
<?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. -->
<tree>
<field name="blanket_agreement" expand="1"/>
<field name="product" expand="1"/>
<field name="quantity" symbol="unit"/>
<field name="processed_quantity" symbol="unit" optional="0"/>
<field name="remaining_quantity" symbol="unit" optional="0"/>
<field name="unit_price"/>
<field name="amount"/>
</tree>

View File

@@ -0,0 +1,12 @@
<?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. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="number" expand="1" optional="1"/>
<field name="reference" expand="1" optional="0"/>
<field name="customer" expand="2"/>
<field name="from_date" optional="0"/>
<field name="to_date" optional="0"/>
<field name="state"/>
</tree>

View File

@@ -0,0 +1,10 @@
<?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="/form" position="inside">
<newline/>
<label name="blanket_agreement_sequence"/>
<field name="blanket_agreement_sequence"/>
</xpath>
</data>

View File

@@ -0,0 +1,10 @@
<?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="//field[@name='product']" position="after">
<label name="blanket_agreement_line"/>
<field name="blanket_agreement_line"/>
<newline/>
</xpath>
</data>

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="//field[@name='product']" position="after">
<field name="blanket_agreement_line" expand="1" optional="1"/>
</xpath>
</data>