first commit
This commit is contained in:
11
modules/sale_shipment_cost/__init__.py
Normal file
11
modules/sale_shipment_cost/__init__.py
Normal file
@@ -0,0 +1,11 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
__all__ = ['ShipmentCostSaleMixin']
|
||||
|
||||
|
||||
def __getattr__(name):
|
||||
if name == 'ShipmentCostSaleMixin':
|
||||
from .stock import ShipmentCostSaleMixin
|
||||
return ShipmentCostSaleMixin
|
||||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||
BIN
modules/sale_shipment_cost/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
modules/sale_shipment_cost/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/sale_shipment_cost/__pycache__/account.cpython-311.pyc
Normal file
BIN
modules/sale_shipment_cost/__pycache__/account.cpython-311.pyc
Normal file
Binary file not shown.
Binary file not shown.
BIN
modules/sale_shipment_cost/__pycache__/party.cpython-311.pyc
Normal file
BIN
modules/sale_shipment_cost/__pycache__/party.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/sale_shipment_cost/__pycache__/sale.cpython-311.pyc
Normal file
BIN
modules/sale_shipment_cost/__pycache__/sale.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/sale_shipment_cost/__pycache__/stock.cpython-311.pyc
Normal file
BIN
modules/sale_shipment_cost/__pycache__/stock.cpython-311.pyc
Normal file
Binary file not shown.
19
modules/sale_shipment_cost/account.py
Normal file
19
modules/sale_shipment_cost/account.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.model import fields
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
|
||||
class InvoiceLine(metaclass=PoolMeta):
|
||||
__name__ = 'account.invoice.line'
|
||||
|
||||
cost_sale_shipments = fields.One2Many(
|
||||
'stock.shipment.out', 'cost_sale_invoice_line',
|
||||
"Cost Sale of Shipments",
|
||||
readonly=True)
|
||||
|
||||
@classmethod
|
||||
def copy(cls, lines, default=None):
|
||||
default = default.copy() if default is not None else {}
|
||||
default.setdefault('cost_sale_shipments', None)
|
||||
return super().copy(lines, default=default)
|
||||
8
modules/sale_shipment_cost/exceptions.py
Normal file
8
modules/sale_shipment_cost/exceptions.py
Normal 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.exceptions import UserError
|
||||
|
||||
|
||||
class InvoiceShipmentCostError(UserError):
|
||||
pass
|
||||
161
modules/sale_shipment_cost/locale/bg.po
Normal file
161
modules/sale_shipment_cost/locale/bg.po
Normal file
@@ -0,0 +1,161 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "За пратка"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Начин на остойностяване на доставка"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Начин на остойностяване на доставка на продажба"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Начин на остойностяване на доставка на продажба"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Начин на остойностяване на доставка на продажба"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Стойност на пратка"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Превозвач"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Начин на остойностяване на доставка"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Стойност на пратка"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Валута при разход"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Разход"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "За пратка"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Разход"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Валута при разход"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Валута при разход"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Ред от разход от фактура"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Начин на остойностяване на доставка"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Разход"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Разход"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Начин на остойностяване на доставка"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Стойност на пратка"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "За поръчка"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "За пратка"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Начин на остойностяване на доставка"
|
||||
151
modules/sale_shipment_cost/locale/ca.po
Normal file
151
modules/sale_shipment_cost/locale/ca.po
Normal file
@@ -0,0 +1,151 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Cost de venda dels enviaments"
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Mètode de cost d'enviament"
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Mètode de cost d'enviament de la venda"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Mètode de cost enviament"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Mètode de cost de l'enviament"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Cost d'enviament"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr "Import amb costos d'enviament inclosos"
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Transportistes disponibles"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Transportista"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Mètode de cost enviament"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Costos d'enviament"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Import"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Venda"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Albarà"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Cost de la venda"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moneda de cost de la venda"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moneda de cost de la venda"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Cost de la línia de factura de venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Mètode de cost de la venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Cost de la venda"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Cost de la venda"
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Cost d'enviament només lectura"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
"El mètode de cost d'enviament predeterminat per al client.\n"
|
||||
"Deixar buit per utilitzar el valor per defecte de la configuració."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
"Per obtenir un pressupost de la venda \"%(sale)s\" heu d'introduïr un "
|
||||
"trasnportista."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
"Per confirmar la venda \"%(sale)s\" heu de canviar el transportista "
|
||||
"\"%(carrier)s\"."
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
"Per facturar el cost de l'enviament \"%(shipment)s\" heu de definir un "
|
||||
"compte d'ingressos pel producte \"%(product)s\"."
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Cost de venda dels enviaments"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr "Cap"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "Al processar"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "Al enviar-ho"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr "Client"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Cost d'enviament inclos"
|
||||
143
modules/sale_shipment_cost/locale/cs.po
Normal file
143
modules/sale_shipment_cost/locale/cs.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
151
modules/sale_shipment_cost/locale/de.po
Normal file
151
modules/sale_shipment_cost/locale/de.po
Normal file
@@ -0,0 +1,151 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Lieferkosten Verkauf"
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Lieferkostenmethode"
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Verkauf Lieferkostenmethode"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Verkauf Lieferkostenmethode"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Verkauf Lieferkostenmethode"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Lieferkosten"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr "Betrag inklusive Lieferkosten"
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Verfügbare Versanddienstleister"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Versanddienstleister"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Lieferkostenmethode"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Lieferkosten"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Betrag"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Währung"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Verkauf"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Lieferung"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Kosten Verkauf"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Währung Kosten Verkauf"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Währung Kosten Verkauf"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Rechnungsposition Lieferkosten Verkauf"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Lieferkostenmethode"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Kosten Verkauf"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Kosten Verkauf"
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Lieferkosten Verkauf Schreibgeschützt"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
"Die Standard-Lieferkostenmethode für den Kunden.\n"
|
||||
"Leer lassen, um den Standardwert aus den Einstellungen zu verwenden."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
"Damit der Verkauf \"%(sale)s\" in den Status \"Angebot\" gesetzt werden "
|
||||
"kann, muss zuerst ein Versanddienstleister erfasst werden."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
"Damit der Verkauf \"%(sale)s\" bestätigt werden kann, muss der "
|
||||
"Versanddienstleister \"%(carrier)s\" geändert werden."
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
"Damit die Lieferkosten von \"%(shipment)s\" abgerechnet werden können, muss "
|
||||
"zuerst ein Ertragskonto für Artikel \"%(product)s\" konfiguriert werden."
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Lager Lieferkosten Verkauf"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr "Keine"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "Pro Auftrag"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "Pro Lieferung"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr "Kunde"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Lieferkosten Inklusive"
|
||||
151
modules/sale_shipment_cost/locale/es.po
Normal file
151
modules/sale_shipment_cost/locale/es.po
Normal file
@@ -0,0 +1,151 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Coste de venta de los envíos"
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Método de coste de envío"
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de coste de envío de la venta"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de coste envío"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de coste envío"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Coste de envío"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr "Importe con costes de envío incluidos"
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Transportistas disponibles"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Transportista"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Método de coste envío"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Costes de envío"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Importe"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Venta"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Albarán"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Coste de la venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moneda del coste de la venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moneda del coste de la venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Línea de factura del coste de venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Método de coste de la venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Coste de la venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Coste de la venta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Coste envío solo lectura"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
"El método de costo de envío predeterminado para el cliente.\n"
|
||||
"Dejar en blanco para usar el valor predeterminado de la configuración."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
"Para obtener un presupuesto de la venta \"%(sale)s\" debe introducir un "
|
||||
"transportista."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
"Para confirmar la venta \"%(sale)s\" debe cambiar el transportista "
|
||||
"\"%(carrier)s\"."
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
"Para facturar el coste de envío del albarán %(shipment)s\", debe definir una"
|
||||
" cuenta de ingresos para el producto \"%(product)s\"."
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Costes de venta de los envíos"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr "Ninguno"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "En el pedido"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "En el albarán"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr "Cliente"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Costes de envío incluidos"
|
||||
160
modules/sale_shipment_cost/locale/es_419.po
Normal file
160
modules/sale_shipment_cost/locale/es_419.po
Normal file
@@ -0,0 +1,160 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "En el envío"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Método de costo de envío"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de costo de envío de venta"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de costo de envío de venta"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de costo de envío de venta"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Costo de envío"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Método de costo de envío"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Costo de envío"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda del costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "En el envío"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moneda del costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moneda del costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Línea de factura de costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Método de costo de envío"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Método de costo de envío"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Costo de envío"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "En el envío"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Método de costo de envío"
|
||||
162
modules/sale_shipment_cost/locale/et.po
Normal file
162
modules/sale_shipment_cost/locale/et.po
Normal file
@@ -0,0 +1,162 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Lähetusel"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Saadetise kulu"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Saadaolevad vedajad"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Vedaja"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Saadetise kulu"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Kulu valuuta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Kulu"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Lähetusel"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Kulu"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Kulu valuuta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Kulu valuuta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Kuluarve rida"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Kulu"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Kulu"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr "Müügi \"%(sale)s\" kinnitamiseks tuleb muuta vedaja \"%(carrier)s\"."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr "Müügi \"%(sale)s\" kinnitamiseks tuleb muuta vedaja \"%(carrier)s\"."
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
"Lähetuse \"%(shipment)s\" kulu arveldamiseks tuleb määrata toote "
|
||||
"\"%(product)s\" tulukonto."
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Saadetise kulu"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "Tellimusel"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "Lähetusel"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Saadetise kulu meetod"
|
||||
166
modules/sale_shipment_cost/locale/fa.po
Normal file
166
modules/sale_shipment_cost/locale/fa.po
Normal file
@@ -0,0 +1,166 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "در حمل ونقل"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "متد هزینه حمل و نقل"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "متد هزینه حمل ونقل فروش"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "متد هزینه حمل ونقل فروش"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "متد هزینه حمل ونقل فروش"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "هزینه حمل ونقل"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "حمل کننده های در دسترس"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "حمل کننده"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "متد هزینه حمل و نقل"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "هزینه حمل ونقل"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "واحد پول هزینه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "هزینه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "در حمل ونقل"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "هزینه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "واحد پول هزینه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "واحد پول هزینه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "سطر هزینه صورتحساب"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "متد هزینه حمل و نقل"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "هزینه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "هزینه"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "متد هزینه حمل و نقل"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
"برای تأیید فروش :\"%(sale)s\" شما باید حمل کننده :\"%(carrier)s\" را تغییر "
|
||||
"دهید."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
"برای تأیید فروش :\"%(sale)s\" شما باید حمل کننده :\"%(carrier)s\" را تغییر "
|
||||
"دهید."
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
"برای صورتحساب هزینه حمل و نقل :\"%(shipment)s\"شما باید یک حساب درآمد برای "
|
||||
"محصول :\"%(product)s\" تعریف کنید."
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "هزینه حمل ونقل"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "در دستور"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "در حمل ونقل"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "متد هزینه حمل و نقل"
|
||||
143
modules/sale_shipment_cost/locale/fi.po
Normal file
143
modules/sale_shipment_cost/locale/fi.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
151
modules/sale_shipment_cost/locale/fr.po
Normal file
151
modules/sale_shipment_cost/locale/fr.po
Normal file
@@ -0,0 +1,151 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Coût de vente des expéditions"
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Méthode des frais d'expédition"
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Méthode de vente des frais d'expédition"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Méthode de vente des frais d'expédition"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Méthode de vente des frais d'expédition"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Frais d'expédition"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr "Montant avec frais d'expédition inclus"
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Transporteurs disponibles"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Transporteur"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Méthode de frais d'expédition"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Frais d'expédition"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Montant"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Devise"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Vente"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Expédition"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Coût de la vente"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Devise du coût de la vente"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Devise du coût de la vente"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Ligne de facture de coût de vente"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Méthode de coût de vente"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Coût de la vente"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Coût des ventes"
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Vente des frais d'expédition en lecture seule"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
"La méthode de frais d'expédition par défaut pour le client.\n"
|
||||
"Laissez vide pour utiliser la valeur par défaut de la configuration."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
"Pour obtenir un devis pour la vente « %(sale)s », vous devez entrer un "
|
||||
"transporteur."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
"Pour confirmer la vente « %(sale)s », vous devez changer le transporteur "
|
||||
"« %(carrier)s »."
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
"Pour facturer les frais d'expédition de « %(shipment)s », vous devez définir"
|
||||
" un compte de produits pour le produit « %(product)s »."
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Vente de frais d'expédition de stock"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr "Aucune"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "À la commande"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "À l'expédition"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr "Client"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Frais d'expédition inclus"
|
||||
156
modules/sale_shipment_cost/locale/hu.po
Normal file
156
modules/sale_shipment_cost/locale/hu.po
Normal file
@@ -0,0 +1,156 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "szállítmányonként"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Fuvarozó"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Költség"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Költség"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "szállítmányonként"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Költség"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Költség"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Számlázandó díj"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Költség"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Szállítási díj kiszámlázása"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr "nem lesz továbbszámlázva"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "rendelésenként"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "szállítmányonként"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
143
modules/sale_shipment_cost/locale/id.po
Normal file
143
modules/sale_shipment_cost/locale/id.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
161
modules/sale_shipment_cost/locale/it.po
Normal file
161
modules/sale_shipment_cost/locale/it.po
Normal file
@@ -0,0 +1,161 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "su Spedizione"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Metodo di costo per spedizione"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Metodo costo di spedizione per vendita"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Metodo costo di spedizione per vendita"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Metodo costo di spedizione per vendita"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "costo di spedizione"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Vettori disponibili"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Vettore"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Metodo di costo per spedizione"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "costo di spedizione"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valuta costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "su Spedizione"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Valuta costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Valuta costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Riga fattura costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Metodo di costo per spedizione"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Costo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Metodo di costo per spedizione"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "costo di spedizione"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "su Ordine"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "su Spedizione"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Metodo di costo per spedizione"
|
||||
143
modules/sale_shipment_cost/locale/lo.po
Normal file
143
modules/sale_shipment_cost/locale/lo.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
152
modules/sale_shipment_cost/locale/lt.po
Normal file
152
modules/sale_shipment_cost/locale/lt.po
Normal file
@@ -0,0 +1,152 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Savikainos valiuta"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
151
modules/sale_shipment_cost/locale/nl.po
Normal file
151
modules/sale_shipment_cost/locale/nl.po
Normal file
@@ -0,0 +1,151 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Verkoopkosten van zendingen"
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "verzendingskost methode"
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Verkoop verzendkosten methode"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Verkoop verzendkosten methode"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Verkoop verzendkosten methode"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Verzendkosten"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr "Bedrag inclusief verzendingskosten"
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Beschikbare vervoerders"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Transporteur"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "verzendingskost methode"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Verzendkosten"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Bedrag"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Verkoop"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Zending"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Kosten verkoop"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Valuta kosten verkoop"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Valuta kosten verkoop"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Verkoopkosten factuurregel"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Verkoopkosten methode"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Kosten verkoop"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Kosten verkopen"
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Verzendingskosten Verkoop Alleen Lezen"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
"De standaardverzendkostenmethode voor de klant.\n"
|
||||
"Laat leeg om de standaardwaarde uit de configuratie te gebruiken."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
"Om een offerte voor verkoop \"%(sale)s\" te maken, moet u een koerier "
|
||||
"toevoegen."
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
"Om verkoop \"%(sale)s\" te bevestigen, moet u de vervoerder "
|
||||
"\"%(carrier)s\"wijzigen."
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
"Om verzendingskosten van \"%(shipment)s\" te factureren, moet u een "
|
||||
"omzetrekening definiëren voor product \"%(product)s\"."
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Verzendkosten verkoop"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr "Geen"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "Op bestelling"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "Bij verzending"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr "Klant"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Verzendingskosten inbegrepen"
|
||||
159
modules/sale_shipment_cost/locale/pl.po
Normal file
159
modules/sale_shipment_cost/locale/pl.po
Normal file
@@ -0,0 +1,159 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Koszt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Koszt wysyłki"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Koszt wysyłki"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Koszt wysyłki"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Koszt wysyłki"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Koszt waluty"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Koszt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Koszt wysyłki"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Koszt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Koszt waluty"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Koszt waluty"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Koszt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Koszt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Koszt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Koszt wysyłki"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Koszt wysyłki"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Koszt wysyłki"
|
||||
160
modules/sale_shipment_cost/locale/pt.po
Normal file
160
modules/sale_shipment_cost/locale/pt.po
Normal file
@@ -0,0 +1,160 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Na remessa"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Método de custo de remessa"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de Custo da Remessa ao Cliente"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de Custo da Remessa ao Cliente"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Método de Custo da Remessa de Venda"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Custo de remessa"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Transportadoras disponíveis"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Transportadora"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Método de custo de remessa"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Custo de remessa"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moeda de custo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Custo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Na remessa"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Custo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moeda de custo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Moeda de custo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Linha de custo da fatura"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Método de custo de remessa"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Custo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Custo"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Método de custo de remessa"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Custo de remessa"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "No pedido"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "Na remessa"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Método de custo de remessa"
|
||||
143
modules/sale_shipment_cost/locale/ro.po
Normal file
143
modules/sale_shipment_cost/locale/ro.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
153
modules/sale_shipment_cost/locale/ru.po
Normal file
153
modules/sale_shipment_cost/locale/ru.po
Normal file
@@ -0,0 +1,153 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Стоимость"
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Стоимость"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Стоимость"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Стоимость"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Стоимость"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Стоимость"
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Стоимость"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Стоимость"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Стоимость"
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Стоимость"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
160
modules/sale_shipment_cost/locale/sl.po
Normal file
160
modules/sale_shipment_cost/locale/sl.po
Normal file
@@ -0,0 +1,160 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr "Po odpremi"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Obračun odpreme"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Obračun odpreme"
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Obračun odpreme"
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr "Obračun odpreme"
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr "Strošek dostave"
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr "Razpoložljivi špediterji"
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr "Špediter"
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr "Obračun odpreme"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr "Strošek dostave"
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valuta stroška"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr "Strošek"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr "Po odpremi"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Strošek"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Valuta stroška"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr "Valuta stroška"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr "Postavka stroška"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr "Obračun odpreme"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr "Strošek"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr "Strošek"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr "Obračun odpreme"
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr "Strošek dostave"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr "Po nalogu"
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr "Po odpremi"
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr "Obračun odpreme"
|
||||
143
modules/sale_shipment_cost/locale/tr.po
Normal file
143
modules/sale_shipment_cost/locale/tr.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
143
modules/sale_shipment_cost/locale/uk.po
Normal file
143
modules/sale_shipment_cost/locale/uk.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
143
modules/sale_shipment_cost/locale/zh_CN.po
Normal file
143
modules/sale_shipment_cost/locale/zh_CN.po
Normal file
@@ -0,0 +1,143 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:account.invoice.line,cost_sale_shipments:"
|
||||
msgid "Cost Sale of Shipments"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party,sale_shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:party.party.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.configuration.sale_method,sale_shipment_cost_method:"
|
||||
msgid "Sale Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,shipment_cost:"
|
||||
msgid "Shipment Cost"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount_shipment_cost_included:"
|
||||
msgid "Amount with Shipment Cost Included"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,available_carriers:"
|
||||
msgid "Available Carriers"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,carrier:"
|
||||
msgid "Carrier"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_cost_method:"
|
||||
msgid "Shipment Cost Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,shipment_costs:"
|
||||
msgid "Shipment Costs"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,sale:"
|
||||
msgid "Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_currency_used:"
|
||||
msgid "Cost Sale Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_invoice_line:"
|
||||
msgid "Cost Sale Invoice Line"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_method:"
|
||||
msgid "Cost Sale Method"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sale_used:"
|
||||
msgid "Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,cost_sales:"
|
||||
msgid "Cost Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:stock.shipment.out,shipment_cost_sale_readonly:"
|
||||
msgid "Shipment Cost Sale Read Only"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:party.party,sale_shipment_cost_method:"
|
||||
msgid ""
|
||||
"The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_carrier_required_for_quotation"
|
||||
msgid "To get a quote for sale \"%(sale)s\" you must enter a carrier."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_sale_invalid_carrier"
|
||||
msgid "To confirm sale \"%(sale)s\" you must change the carrier \"%(carrier)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt ""
|
||||
"model:ir.message,text:msg_shipment_cost_invoice_missing_account_revenue"
|
||||
msgid ""
|
||||
"To invoice shipment cost of \"%(shipment)s\", you must define an account "
|
||||
"revenue for product \"%(product)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:stock.shipment.cost_sale,string:"
|
||||
msgid "Stock Shipment Cost Sale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Order"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:sale.sale,shipment_cost_method:"
|
||||
msgid "On Shipment"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "selection:stock.shipment.cost_sale,shipment:"
|
||||
msgid "Customer"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Shipment Cost Included"
|
||||
msgstr ""
|
||||
16
modules/sale_shipment_cost/message.xml
Normal file
16
modules/sale_shipment_cost/message.xml
Normal 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_sale_invalid_carrier">
|
||||
<field name="text">To confirm sale "%(sale)s" you must change the carrier "%(carrier)s".</field>
|
||||
</record>
|
||||
<record model="ir.message" id="msg_sale_carrier_required_for_quotation">
|
||||
<field name="text">To get a quote for sale "%(sale)s" you must enter a carrier.</field>
|
||||
</record>
|
||||
<record model="ir.message" id="msg_shipment_cost_invoice_missing_account_revenue">
|
||||
<field name="text">To invoice shipment cost of "%(shipment)s", you must define an account revenue for product "%(product)s".</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
56
modules/sale_shipment_cost/party.py
Normal file
56
modules/sale_shipment_cost/party.py
Normal file
@@ -0,0 +1,56 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of this
|
||||
# repository contains the full copyright notices and license terms.
|
||||
from trytond.model import fields
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
|
||||
def get_sale_methods(field_name):
|
||||
@classmethod
|
||||
def func(cls):
|
||||
pool = Pool()
|
||||
Sale = pool.get('sale.sale')
|
||||
return Sale.fields_get([field_name])[field_name]['selection'] + [
|
||||
('default', "")]
|
||||
return func
|
||||
|
||||
|
||||
class Party(metaclass=PoolMeta):
|
||||
__name__ = 'party.party'
|
||||
|
||||
sale_shipment_cost_method = fields.MultiValue(fields.Selection(
|
||||
'get_sale_shipment_cost_method', "Shipment Cost Method",
|
||||
help="The default shipment cost method for the customer.\n"
|
||||
"Leave empty to use the default value from the configuration."))
|
||||
|
||||
@classmethod
|
||||
def multivalue_model(cls, field):
|
||||
pool = Pool()
|
||||
if field == 'sale_shipment_cost_method':
|
||||
return pool.get('party.party.sale_method')
|
||||
return super().multivalue_model(field)
|
||||
|
||||
get_sale_shipment_cost_method = get_sale_methods('shipment_cost_method')
|
||||
|
||||
@classmethod
|
||||
def default_sale_shipment_cost_method(cls, **pattern):
|
||||
return 'default'
|
||||
|
||||
@classmethod
|
||||
def copy(cls, parties, default=None):
|
||||
default = default.copy() if default else {}
|
||||
if Transaction().check_access:
|
||||
fields = ['sale_shipment_cost_method']
|
||||
default_values = cls.default_get(fields, with_rec_name=False)
|
||||
for fname in fields:
|
||||
default.setdefault(fname, default_values.get(fname))
|
||||
return super().copy(parties, default=default)
|
||||
|
||||
|
||||
class PartySaleMethod(metaclass=PoolMeta):
|
||||
__name__ = 'party.party.sale_method'
|
||||
|
||||
sale_shipment_cost_method = fields.Selection(
|
||||
'get_sale_shipment_cost_method', "Sale Shipment Cost Method")
|
||||
|
||||
get_sale_shipment_cost_method = get_sale_methods('shipment_cost_method')
|
||||
26
modules/sale_shipment_cost/party.xml
Normal file
26
modules/sale_shipment_cost/party.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?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="party_view_form">
|
||||
<field name="model">party.party</field>
|
||||
<field name="inherit" ref="party.party_view_form"/>
|
||||
<field name="name">party_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.field.access" id="access_party_sale_shipment_cost_method">
|
||||
<field name="model">party.party</field>
|
||||
<field name="field">sale_shipment_cost_method</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.field.access" id="access_party_sale_shipment_cost_method_group_sale">
|
||||
<field name="model">party.party</field>
|
||||
<field name="field">sale_shipment_cost_method</field>
|
||||
<field name="group" ref="sale.group_sale"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
543
modules/sale_shipment_cost/sale.py
Normal file
543
modules/sale_shipment_cost/sale.py
Normal file
@@ -0,0 +1,543 @@
|
||||
# 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 decimal import Decimal
|
||||
|
||||
from sql import Null
|
||||
|
||||
from trytond.i18n import gettext
|
||||
from trytond.model import ModelView, Workflow, fields
|
||||
from trytond.modules.product import price_digits, round_price
|
||||
from trytond.modules.sale.exceptions import (
|
||||
SaleConfirmError, SaleQuotationError)
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Eval, If
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
sale_shipment_cost_method = fields.Selection(
|
||||
'get_sale_shipment_cost_methods', "Sale Shipment Cost Method")
|
||||
|
||||
|
||||
def get_sale_methods(field_name):
|
||||
@classmethod
|
||||
def func(cls):
|
||||
pool = Pool()
|
||||
Sale = pool.get('sale.sale')
|
||||
return Sale.fields_get([field_name])[field_name]['selection']
|
||||
return func
|
||||
|
||||
|
||||
class Configuration(metaclass=PoolMeta):
|
||||
__name__ = 'sale.configuration'
|
||||
sale_shipment_cost_method = fields.MultiValue(sale_shipment_cost_method)
|
||||
get_sale_shipment_cost_methods = get_sale_methods('shipment_cost_method')
|
||||
|
||||
@classmethod
|
||||
def multivalue_model(cls, field):
|
||||
pool = Pool()
|
||||
if field == 'sale_shipment_cost_method':
|
||||
return pool.get('sale.configuration.sale_method')
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def default_sale_shipment_cost_method(cls, **pattern):
|
||||
return cls.multivalue_model(
|
||||
'sale_shipment_cost_method').default_sale_shipment_cost_method()
|
||||
|
||||
|
||||
class ConfigurationSaleMethod(metaclass=PoolMeta):
|
||||
__name__ = 'sale.configuration.sale_method'
|
||||
sale_shipment_cost_method = sale_shipment_cost_method
|
||||
get_sale_shipment_cost_methods = get_sale_methods('shipment_cost_method')
|
||||
|
||||
@classmethod
|
||||
def default_sale_shipment_cost_method(cls):
|
||||
return 'order'
|
||||
|
||||
|
||||
class Sale(metaclass=PoolMeta):
|
||||
__name__ = 'sale.sale'
|
||||
carrier = fields.Many2One('carrier', 'Carrier',
|
||||
domain=[
|
||||
If(Eval('state') == 'draft', [
|
||||
('carrier_product.salable', '=', True),
|
||||
('id', 'in', Eval('available_carriers', [])),
|
||||
],
|
||||
[]),
|
||||
],
|
||||
states={
|
||||
'readonly': Eval('state') != 'draft',
|
||||
},
|
||||
context={
|
||||
'company': Eval('company', -1),
|
||||
},
|
||||
depends={'company'})
|
||||
available_carriers = fields.Function(
|
||||
fields.Many2Many('carrier', None, None, 'Available Carriers'),
|
||||
'on_change_with_available_carriers')
|
||||
shipment_cost_method = fields.Selection([
|
||||
(None, "None"),
|
||||
('order', "On Order"),
|
||||
('shipment', "On Shipment"),
|
||||
], "Shipment Cost Method",
|
||||
domain=[
|
||||
If(~Eval('carrier') & ~Eval('state').in_(['draft', 'cancelled']),
|
||||
('shipment_cost_method', '=', None),
|
||||
()),
|
||||
],
|
||||
states={
|
||||
'readonly': Eval('state') != 'draft',
|
||||
})
|
||||
shipment_costs = fields.One2Many(
|
||||
'stock.shipment.cost_sale', 'sale', "Shipment Costs", readonly=True)
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module):
|
||||
cursor = Transaction().connection.cursor()
|
||||
table = cls.__table__()
|
||||
|
||||
super().__register__(module)
|
||||
|
||||
# Migration from 6.6: shipment_cost_method domain
|
||||
cursor.execute(*table.update(
|
||||
[table.shipment_cost_method],
|
||||
[Null],
|
||||
where=(table.carrier == Null)
|
||||
& (table.state != 'draft')
|
||||
& (table.shipment_cost_method != Null)))
|
||||
|
||||
@classmethod
|
||||
def default_shipment_cost_method(cls, **pattern):
|
||||
Config = Pool().get('sale.configuration')
|
||||
config = Config(1)
|
||||
return config.get_multivalue(
|
||||
'sale_shipment_cost_method', **pattern)
|
||||
|
||||
@fields.depends('company')
|
||||
def on_change_company(self):
|
||||
super().on_change_company()
|
||||
self.shipment_cost_method = self.default_shipment_cost_method(
|
||||
company=self.company.id if self.company else None)
|
||||
|
||||
@fields.depends('warehouse', 'shipment_address')
|
||||
def _get_carrier_selection_pattern(self):
|
||||
pattern = {}
|
||||
if (self.warehouse
|
||||
and self.warehouse.address
|
||||
and self.warehouse.address.country):
|
||||
pattern['from_country'] = self.warehouse.address.country.id
|
||||
else:
|
||||
pattern['from_country'] = None
|
||||
if self.shipment_address and self.shipment_address.country:
|
||||
pattern['to_country'] = self.shipment_address.country.id
|
||||
else:
|
||||
pattern['to_country'] = None
|
||||
return pattern
|
||||
|
||||
@fields.depends(
|
||||
'warehouse', 'shipment_address',
|
||||
methods=['_get_carrier_selection_pattern'])
|
||||
def on_change_with_available_carriers(self, name=None):
|
||||
pool = Pool()
|
||||
CarrierSelection = pool.get('carrier.selection')
|
||||
|
||||
if (self.warehouse
|
||||
and self.shipment_address
|
||||
and self.warehouse.address == self.shipment_address):
|
||||
return []
|
||||
|
||||
pattern = self._get_carrier_selection_pattern()
|
||||
return CarrierSelection.get_carriers(pattern)
|
||||
|
||||
@fields.depends('carrier', methods=['on_change_with_available_carriers'])
|
||||
def on_change_party(self):
|
||||
super().on_change_party()
|
||||
if self.party and self.party.sale_shipment_cost_method != 'default':
|
||||
self.shipment_cost_method = self.party.sale_shipment_cost_method
|
||||
else:
|
||||
self.shipment_cost_method = self.default_shipment_cost_method()
|
||||
self.available_carriers = self.on_change_with_available_carriers()
|
||||
if not self.available_carriers:
|
||||
self.carrier = None
|
||||
elif self.shipment_cost_method:
|
||||
if (not self.carrier
|
||||
or self.carrier not in self.available_carriers):
|
||||
self.carrier = self.available_carriers[0]
|
||||
|
||||
@fields.depends(
|
||||
'carrier', 'shipment_cost_method',
|
||||
methods=['on_change_with_available_carriers'])
|
||||
def on_change_shipment_party(self):
|
||||
super().on_change_shipment_party()
|
||||
self.available_carriers = self.on_change_with_available_carriers()
|
||||
if not self.available_carriers:
|
||||
self.carrier = None
|
||||
elif self.shipment_cost_method:
|
||||
if (not self.carrier
|
||||
or self.carrier not in self.available_carriers):
|
||||
for carrier in self.available_carriers:
|
||||
if carrier.active:
|
||||
self.carrier = carrier
|
||||
break
|
||||
|
||||
@fields.depends(
|
||||
'carrier', 'shipment_cost_method',
|
||||
methods=['on_change_with_available_carriers'])
|
||||
def on_change_shipment_address(self):
|
||||
try:
|
||||
super_on_change = super().on_change_shipment_address
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
super_on_change()
|
||||
|
||||
self.available_carriers = self.on_change_with_available_carriers()
|
||||
if not self.available_carriers:
|
||||
self.carrier = None
|
||||
elif self.shipment_cost_method:
|
||||
if (not self.carrier
|
||||
or self.carrier not in self.available_carriers):
|
||||
self.carrier = self.available_carriers[0]
|
||||
|
||||
def check_for_quotation(self):
|
||||
super().check_for_quotation()
|
||||
if self.shipment_cost_method and self.available_carriers:
|
||||
for line in self.lines:
|
||||
if (line.product
|
||||
and line.product.type != 'service'
|
||||
and line.quantity >= 0
|
||||
and not self.carrier):
|
||||
raise SaleQuotationError(
|
||||
gettext('sale_shipment_cost'
|
||||
'.msg_sale_carrier_required_for_quotation',
|
||||
sale=self.rec_name))
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('quotation')
|
||||
def quote(cls, sales):
|
||||
pool = Pool()
|
||||
Line = pool.get('sale.line')
|
||||
removed = []
|
||||
for sale in sales:
|
||||
removed.extend(sale.set_shipment_cost())
|
||||
Line.delete(removed)
|
||||
cls.save(sales)
|
||||
super().quote(sales)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('confirmed')
|
||||
def confirm(cls, sales):
|
||||
for sale in sales:
|
||||
if sale.carrier and sale.carrier not in sale.available_carriers:
|
||||
raise SaleConfirmError(
|
||||
gettext('sale_shipment_cost.msg_sale_invalid_carrier',
|
||||
sale=sale.rec_name,
|
||||
carrier=sale.carrier.rec_name))
|
||||
super().confirm(sales)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
def process(cls, sales):
|
||||
with Transaction().set_context(_shipment_cost_invoiced=list()):
|
||||
super().process(sales)
|
||||
|
||||
@classmethod
|
||||
def _process_invoice_shipment_states(cls, sales):
|
||||
pool = Pool()
|
||||
ShipmentOut = pool.get('stock.shipment.out')
|
||||
ShipmentCostSale = pool.get('stock.shipment.cost_sale')
|
||||
|
||||
sent, not_sent = [], []
|
||||
for sale in sales:
|
||||
if sale.shipment_cost_method == 'order':
|
||||
if sale.shipment_state == 'sent':
|
||||
sent.append(sale)
|
||||
else:
|
||||
not_sent.append(sale)
|
||||
|
||||
super()._process_invoice_shipment_states(sales)
|
||||
|
||||
to_save, to_delete, shipments = [], [], set()
|
||||
for sale in sent:
|
||||
if sale.shipment_state != 'sent':
|
||||
to_delete.extend(sale.shipment_costs)
|
||||
shipments.update(sale.shipments)
|
||||
for sale in not_sent:
|
||||
if sale.shipment_state == 'sent':
|
||||
to_save.extend(sale._get_shipment_costs())
|
||||
shipments.update(sale.shipments)
|
||||
|
||||
ShipmentCostSale.delete(to_delete)
|
||||
ShipmentCostSale.save(to_save)
|
||||
ShipmentOut.set_shipment_cost(shipments)
|
||||
|
||||
@property
|
||||
def _cost_shipments(self):
|
||||
"Return the shipments to apply cost sale"
|
||||
return [s for s in self.shipments if s.state != 'cancelled']
|
||||
|
||||
def _get_shipment_costs(self):
|
||||
"Yield shipment costs"
|
||||
pool = Pool()
|
||||
ShipmentCostSale = pool.get('stock.shipment.cost_sale')
|
||||
cost = self.shipment_cost_amount
|
||||
shipments = self._cost_shipments
|
||||
sum_ = sum(s.cost_used for s in shipments if s.cost_used)
|
||||
for shipment in shipments:
|
||||
if sum_:
|
||||
factor = (shipment.cost_used or 0) / sum_
|
||||
else:
|
||||
factor = Decimal(1) / len(shipments)
|
||||
yield ShipmentCostSale(
|
||||
shipment=shipment,
|
||||
sale=self,
|
||||
amount=round_price(cost * factor),
|
||||
currency=self.currency)
|
||||
|
||||
def _get_carrier_context(self, carrier):
|
||||
return {}
|
||||
|
||||
def compute_shipment_cost(self, carrier):
|
||||
pool = Pool()
|
||||
Date = pool.get('ir.date')
|
||||
Currency = pool.get('currency.currency')
|
||||
movable = any(
|
||||
line.quantity >= 0 for line in self.lines if line.movable)
|
||||
if movable:
|
||||
with Transaction().set_context(self._get_carrier_context(carrier)):
|
||||
cost, currency_id = carrier.get_sale_price()
|
||||
if cost is not None:
|
||||
with Transaction().set_context(company=self.company.id):
|
||||
today = Date.today()
|
||||
date = self.sale_date or today
|
||||
with Transaction().set_context(date=date):
|
||||
return Currency.compute(
|
||||
Currency(currency_id),
|
||||
cost, self.currency, round=False)
|
||||
|
||||
def set_shipment_cost(self):
|
||||
cost = None
|
||||
if self.carrier and self.shipment_cost_method:
|
||||
cost = self.compute_shipment_cost(self.carrier)
|
||||
removed = []
|
||||
unit_price = None
|
||||
lines = list(self.lines or [])
|
||||
for line in self.lines:
|
||||
if line.type == 'line' and line.shipment_cost is not None:
|
||||
if line.shipment_cost == cost:
|
||||
unit_price = line.unit_price * Decimal(str(line.quantity))
|
||||
lines.remove(line)
|
||||
removed.append(line)
|
||||
if cost is not None:
|
||||
lines.append(self.get_shipment_cost_line(
|
||||
self.carrier, cost, unit_price=unit_price))
|
||||
self.lines = lines
|
||||
return removed
|
||||
|
||||
def get_shipment_cost_line(self, carrier, cost, unit_price=None):
|
||||
pool = Pool()
|
||||
SaleLine = pool.get('sale.line')
|
||||
|
||||
product = carrier.carrier_product
|
||||
|
||||
sequence = None
|
||||
if self.lines:
|
||||
last_line = self.lines[-1]
|
||||
if last_line.sequence is not None:
|
||||
sequence = last_line.sequence + 1
|
||||
|
||||
shipment_cost = round_price(cost)
|
||||
cost_line = SaleLine(
|
||||
sale=self,
|
||||
sequence=sequence,
|
||||
type='line',
|
||||
product=product,
|
||||
quantity=1., # XXX
|
||||
unit=product.sale_uom,
|
||||
shipment_cost=shipment_cost,
|
||||
)
|
||||
cost_line.on_change_product()
|
||||
if unit_price is not None:
|
||||
cost_line.unit_price = round_price(unit_price)
|
||||
else:
|
||||
cost_line.unit_price = round_price(cost)
|
||||
cost_line.amount = cost_line.on_change_with_amount()
|
||||
return cost_line
|
||||
|
||||
def _get_shipment_grouping_fields(self, shipment):
|
||||
pool = Pool()
|
||||
ShipmentOut = pool.get('stock.shipment.out')
|
||||
fields = super()._get_shipment_grouping_fields(shipment)
|
||||
fields.add('carrier')
|
||||
if isinstance(shipment, ShipmentOut):
|
||||
fields.add('cost_sale_method')
|
||||
return fields
|
||||
|
||||
@property
|
||||
def shipment_cost_amount(self):
|
||||
cost = Decimal(0)
|
||||
for line in self.lines:
|
||||
if line.type == 'line' and line.shipment_cost is not None:
|
||||
cost += line.amount
|
||||
return cost
|
||||
|
||||
def _get_shipment_sale(self, Shipment, key):
|
||||
pool = Pool()
|
||||
ShipmentOut = pool.get('stock.shipment.out')
|
||||
shipment = super()._get_shipment_sale(Shipment, key)
|
||||
if isinstance(shipment, ShipmentOut):
|
||||
shipment.cost_sale_method = self.shipment_cost_method
|
||||
shipment.carrier = self.carrier
|
||||
return shipment
|
||||
|
||||
@classmethod
|
||||
def copy(cls, sales, default=None):
|
||||
default = default.copy() if default is not None else {}
|
||||
default.setdefault('shipment_costs', None)
|
||||
return super().copy(sales, default=default)
|
||||
|
||||
|
||||
class Line(metaclass=PoolMeta):
|
||||
__name__ = 'sale.line'
|
||||
shipment_cost = fields.Numeric('Shipment Cost', digits=price_digits)
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
# shipment_cost is needed to compute the unit_price
|
||||
cls.unit_price.depends.add('shipment_cost')
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module):
|
||||
table_h = cls.__table_handler__(module)
|
||||
|
||||
super().__register__(module)
|
||||
|
||||
# Migration from 6.4: drop shipment cost unique
|
||||
table_h.drop_constraint('sale_shipment_cost_unique')
|
||||
|
||||
@fields.depends('shipment_cost', 'unit_price')
|
||||
def compute_unit_price(self):
|
||||
unit_price = super().compute_unit_price()
|
||||
if self.shipment_cost is not None:
|
||||
unit_price = self.unit_price
|
||||
return unit_price
|
||||
|
||||
def get_invoice_line(self):
|
||||
context = Transaction().context
|
||||
shipment_cost_invoiced = context.get('_shipment_cost_invoiced')
|
||||
lines = super().get_invoice_line()
|
||||
if (self.shipment_cost is not None
|
||||
and shipment_cost_invoiced is not None):
|
||||
for shipment in self.sale.shipments:
|
||||
if (shipment.state == 'done'
|
||||
and shipment.id not in shipment_cost_invoiced):
|
||||
invoice_line = shipment.get_cost_sale_invoice_line(
|
||||
self.sale._get_invoice(), origin=self)
|
||||
if invoice_line:
|
||||
lines.append(invoice_line)
|
||||
shipment_cost_invoiced.append(shipment.id)
|
||||
return lines
|
||||
|
||||
@property
|
||||
def _invoice_remaining_quantity(self):
|
||||
quantity = super()._invoice_remaining_quantity
|
||||
if self.shipment_cost is not None:
|
||||
quantity = 0
|
||||
return quantity
|
||||
|
||||
def _get_invoice_line_quantity(self):
|
||||
quantity = super()._get_invoice_line_quantity()
|
||||
if self.shipment_cost is not None:
|
||||
if self.sale.shipment_cost_method == 'shipment':
|
||||
quantity = 0
|
||||
elif (self.sale.shipment_cost_method == 'order'
|
||||
and self.sale.invoice_method == 'shipment'):
|
||||
shipments = [
|
||||
s for s in self.sale.shipments
|
||||
if s.cost_sale_method == 'order']
|
||||
if (not shipments
|
||||
or all(s.state != 'done' for s in shipments)):
|
||||
quantity = 0
|
||||
return quantity
|
||||
|
||||
def _get_invoiced_quantity(self):
|
||||
quantity = super()._get_invoiced_quantity()
|
||||
if self.shipment_cost is not None:
|
||||
if self.sale.shipment_cost_method == 'shipment':
|
||||
quantity = 0
|
||||
return quantity
|
||||
|
||||
|
||||
class HandleInvoiceException(metaclass=PoolMeta):
|
||||
__name__ = 'sale.handle.invoice.exception'
|
||||
|
||||
def transition_handle(self):
|
||||
pool = Pool()
|
||||
Shipment = pool.get('stock.shipment.out')
|
||||
shipment_cost_recreated = set()
|
||||
for invoice in self.ask.domain_invoices:
|
||||
if invoice in self.ask.recreate_invoices:
|
||||
for line in invoice.lines:
|
||||
for shipment in line.cost_sale_shipments:
|
||||
if shipment in self.record.shipments:
|
||||
shipment_cost_recreated.add(shipment)
|
||||
if shipment_cost_recreated:
|
||||
Shipment.write(list(shipment_cost_recreated), {
|
||||
'cost_sale_invoice_line': None,
|
||||
})
|
||||
return super().transition_handle()
|
||||
|
||||
|
||||
class ReturnSale(metaclass=PoolMeta):
|
||||
__name__ = 'sale.return_sale'
|
||||
|
||||
def do_return_(self, action):
|
||||
pool = Pool()
|
||||
Sale = pool.get('sale.sale')
|
||||
SaleLine = pool.get('sale.line')
|
||||
action, data = super().do_return_(action)
|
||||
|
||||
return_sales = Sale.browse(data['res_id'])
|
||||
lines = []
|
||||
for sale in return_sales:
|
||||
for line in sale.lines:
|
||||
# Do not consider return shipment cost as a shipment cost
|
||||
if line.shipment_cost is not None:
|
||||
line.shipment_cost = None
|
||||
lines.append(line)
|
||||
SaleLine.save(lines)
|
||||
return action, data
|
||||
|
||||
|
||||
class Promotion(metaclass=PoolMeta):
|
||||
__name__ = 'sale.promotion'
|
||||
|
||||
amount_shipment_cost_included = fields.Boolean(
|
||||
"Amount with Shipment Cost Included",
|
||||
states={
|
||||
'invisible': ~Eval('amount'),
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def default_amount_shipment_cost_included(cls):
|
||||
return False
|
||||
|
||||
def get_context_formula(self, sale_line):
|
||||
context = super().get_context_formula(sale_line)
|
||||
if sale_line and sale_line.shipment_cost is not None:
|
||||
context['names']['unit_price'] = sale_line.shipment_cost
|
||||
return context
|
||||
|
||||
def get_sale_amount(self, sale):
|
||||
amount = super().get_sale_amount(sale)
|
||||
if not self.amount_shipment_cost_included:
|
||||
amount -= sum(
|
||||
l.amount for l in sale.lines if l.shipment_cost is not None)
|
||||
if not self.untaxed_amount:
|
||||
amount -= sum(
|
||||
t.amount
|
||||
for l in sale.lines if l.shipment_cost is not None
|
||||
for t in l._get_taxes().values())
|
||||
return amount
|
||||
34
modules/sale_shipment_cost/sale.xml
Normal file
34
modules/sale_shipment_cost/sale.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="sale_configuration_view_form">
|
||||
<field name="model">sale.configuration</field>
|
||||
<field name="type" eval="None"/>
|
||||
<field name="inherit" ref="sale.sale_configuration_view_form"/>
|
||||
<field name="name">configuration_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="sale_view_form">
|
||||
<field name="model">sale.sale</field>
|
||||
<field name="type" eval="None"/>
|
||||
<field name="inherit" ref="sale.sale_view_form"/>
|
||||
<field name="name">sale_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="sale_line_view_tree_sequence">
|
||||
<field name="model">sale.line</field>
|
||||
<field name="type" eval="None"/>
|
||||
<field name="inherit" ref="sale.sale_line_view_tree_sequence"/>
|
||||
<field name="name">sale_line_tree_sequence</field>
|
||||
</record>
|
||||
</data>
|
||||
<data depends="sale_promotion">
|
||||
<record model="ir.ui.view" id="promotion_view_form">
|
||||
<field name="model">sale.promotion</field>
|
||||
<field name="inherit" ref="sale_promotion.promotion_view_form"/>
|
||||
<field name="name">promotion_form</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
233
modules/sale_shipment_cost/stock.py
Normal file
233
modules/sale_shipment_cost/stock.py
Normal file
@@ -0,0 +1,233 @@
|
||||
# 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.i18n import gettext
|
||||
from trytond.model import ModelSQL, ModelView, Workflow, fields
|
||||
from trytond.modules.product import price_digits, round_price
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Bool, Eval
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
from .exceptions import InvoiceShipmentCostError
|
||||
|
||||
|
||||
class ShipmentCostSaleMixin:
|
||||
__slots__ = ()
|
||||
|
||||
cost_sale_currency_used = fields.Function(fields.Many2One(
|
||||
'currency.currency', "Cost Sale Currency",
|
||||
states={
|
||||
'invisible': Eval('cost_sale_method') != 'shipment',
|
||||
'readonly': (
|
||||
Eval('shipment_cost_sale_readonly', True)
|
||||
| ~Eval('cost_edit', False)),
|
||||
}),
|
||||
'on_change_with_cost_sale_currency_used', setter='set_cost')
|
||||
cost_sale_currency = fields.Many2One(
|
||||
'currency.currency', "Cost Sale Currency",
|
||||
states={
|
||||
'invisible': Eval('cost_sale_method') != 'shipment',
|
||||
'required': Bool(Eval('cost_sale')),
|
||||
'readonly': Eval('shipment_cost_sale_readonly', True),
|
||||
})
|
||||
cost_sale_used = fields.Function(fields.Numeric(
|
||||
"Cost Sale", digits=price_digits,
|
||||
states={
|
||||
'invisible': Eval('cost_sale_method') != 'shipment',
|
||||
'readonly': (
|
||||
Eval('shipment_cost_sale_readonly', True)
|
||||
| ~Eval('cost_edit', False)),
|
||||
}),
|
||||
'on_change_with_cost_sale_used', setter='set_cost')
|
||||
cost_sale = fields.Numeric(
|
||||
"Cost Sale", digits=price_digits, readonly=True,
|
||||
states={
|
||||
'invisible': Eval('cost_sale_method') != 'shipment',
|
||||
})
|
||||
|
||||
cost_sales = fields.One2Many(
|
||||
'stock.shipment.cost_sale', 'shipment', "Cost Sales", readonly=True)
|
||||
|
||||
cost_sale_invoice_line = fields.Many2One(
|
||||
'account.invoice.line', "Cost Sale Invoice Line", readonly=True)
|
||||
cost_sale_method = fields.Selection(
|
||||
'get_cost_sale_methods', "Cost Sale Method", readonly=True)
|
||||
|
||||
shipment_cost_sale_readonly = fields.Function(
|
||||
fields.Boolean("Shipment Cost Sale Read Only"),
|
||||
'on_change_with_shipment_cost_sale_readonly')
|
||||
|
||||
def on_change_with_shipment_cost_sale_readonly(self, name=None):
|
||||
raise NotImplementedError
|
||||
|
||||
@fields.depends(
|
||||
'carrier', 'cost_sale_method', methods=['_get_carrier_context'])
|
||||
def _compute_costs(self):
|
||||
costs = super()._compute_costs()
|
||||
costs.update({
|
||||
'cost_sale': None,
|
||||
'cost_sale_currency': None,
|
||||
})
|
||||
if self.carrier and self.cost_sale_method == 'shipment':
|
||||
with Transaction().set_context(self._get_carrier_context()):
|
||||
cost_sale, sale_currency_id = self.carrier.get_sale_price()
|
||||
if cost_sale is not None:
|
||||
costs['cost_sale'] = round_price(cost_sale)
|
||||
costs['cost_sale_currency'] = sale_currency_id
|
||||
return costs
|
||||
|
||||
@fields.depends(
|
||||
'shipment_cost_sale_readonly', 'cost_sale', 'cost_edit',
|
||||
methods=['_compute_costs'])
|
||||
def on_change_with_cost_sale_used(self, name=None):
|
||||
if not self.cost_edit and not self.shipment_cost_sale_readonly:
|
||||
return self._compute_costs()['cost_sale']
|
||||
else:
|
||||
return self.cost_sale
|
||||
|
||||
@fields.depends(
|
||||
'shipment_cost_sale_readonly', 'cost_sale_currency', 'cost_edit',
|
||||
methods=['_compute_costs'])
|
||||
def on_change_with_cost_sale_currency_used(self, name=None):
|
||||
if not self.cost_edit and not self.shipment_cost_sale_readonly:
|
||||
return self._compute_costs()['cost_sale_currency']
|
||||
elif self.cost_sale_currency:
|
||||
return self.cost_sale_currency
|
||||
|
||||
@classmethod
|
||||
def get_cost_sale_methods(cls):
|
||||
pool = Pool()
|
||||
Sale = pool.get('sale.sale')
|
||||
fieldname = 'shipment_cost_method'
|
||||
return Sale.fields_get([fieldname])[fieldname]['selection']
|
||||
|
||||
def get_cost_sale_invoice_line(self, invoice, origin=None):
|
||||
pool = Pool()
|
||||
Currency = pool.get('currency.currency')
|
||||
InvoiceLine = pool.get('account.invoice.line')
|
||||
|
||||
if (self.cost_sale_method != 'shipment'
|
||||
or not self.carrier
|
||||
or not self.cost_sale_used
|
||||
or self.cost_sale_invoice_line):
|
||||
return
|
||||
product = self.carrier.carrier_product
|
||||
|
||||
invoice_line = InvoiceLine(invoice=invoice, origin=origin)
|
||||
invoice_line.on_change_invoice()
|
||||
invoice_line.type = 'line'
|
||||
invoice_line.quantity = 1 # XXX
|
||||
invoice_line.unit = product.sale_uom.id
|
||||
cost = self.cost_sale_used
|
||||
if invoice.currency != self.cost_sale_currency_used:
|
||||
with Transaction().set_context(date=invoice.currency_date):
|
||||
cost = Currency.compute(
|
||||
self.cost_sale_currency_used, cost,
|
||||
invoice.currency, round=False)
|
||||
invoice_line.unit_price = round_price(cost)
|
||||
invoice_line.product = product
|
||||
invoice_line.on_change_product()
|
||||
|
||||
if not invoice_line.account:
|
||||
raise InvoiceShipmentCostError(
|
||||
gettext('sale_shipment_cost'
|
||||
'.msg_shipment_cost_invoice_missing_account_revenue',
|
||||
shipment=self.rec_name,
|
||||
product=product.rec_name))
|
||||
return invoice_line
|
||||
|
||||
@property
|
||||
def _shipment_cost_currency_date(self):
|
||||
raise NotImplementedError
|
||||
|
||||
def _get_shipment_cost(self):
|
||||
pool = Pool()
|
||||
Currency = pool.get('currency.currency')
|
||||
transaction = Transaction()
|
||||
cost = super()._get_shipment_cost()
|
||||
if self.cost_sale:
|
||||
with transaction.set_context(
|
||||
date=self._shipment_cost_currency_date):
|
||||
cost_sale = Currency.compute(
|
||||
self.cost_sale_currency, self.cost_sale,
|
||||
self.company.currency, round=False)
|
||||
cost -= cost_sale
|
||||
for line in self.cost_sales:
|
||||
with transaction.set_context(date=line.sale.sale_date):
|
||||
cost_sale = Currency.compute(
|
||||
line.currency, line.amount,
|
||||
self.company.currency, round=False)
|
||||
cost -= cost_sale
|
||||
return cost
|
||||
|
||||
|
||||
class ShipmentCostSale(ModelSQL):
|
||||
__name__ = 'stock.shipment.cost_sale'
|
||||
|
||||
shipment = fields.Reference(
|
||||
"Shipment", [
|
||||
('stock.shipment.out', "Customer"),
|
||||
], required=True)
|
||||
sale = fields.Many2One('sale.sale', "Sale", required=True)
|
||||
amount = fields.Numeric("Amount", digits=price_digits, required=True)
|
||||
currency = fields.Many2One('currency.currency', "Currency", required=True)
|
||||
|
||||
|
||||
class ShipmentOut(ShipmentCostSaleMixin, metaclass=PoolMeta):
|
||||
__name__ = 'stock.shipment.out'
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module):
|
||||
table_h = cls.__table_handler__(module)
|
||||
cursor = Transaction().connection.cursor()
|
||||
table = cls.__table__()
|
||||
|
||||
# Migration from 7.2: use suffix sale
|
||||
table_h.column_rename('cost_method', 'cost_sale_method')
|
||||
table_h.column_rename('cost_invoice_line', 'cost_sale_invoice_line')
|
||||
|
||||
cost_sale_method_exists = table_h.column_exist('cost_sale_method')
|
||||
|
||||
super().__register__(module)
|
||||
|
||||
# Migration from 6.0: fill new cost_sale_method field
|
||||
if not cost_sale_method_exists:
|
||||
cursor.execute(*table.update(
|
||||
columns=[table.cost_sale_method],
|
||||
values=['shipment']))
|
||||
|
||||
@fields.depends('state')
|
||||
def on_change_with_shipment_cost_sale_readonly(self, name=None):
|
||||
return self.state in {'done', 'cancelled'}
|
||||
|
||||
@property
|
||||
def _shipment_cost_currency_date(self):
|
||||
return self.effective_date
|
||||
|
||||
def get_cost_sale_invoice_line(self, invoice, origin=None):
|
||||
invoice_line = super().get_cost_sale_invoice_line(
|
||||
invoice, origin=origin)
|
||||
if invoice_line:
|
||||
invoice_line.cost_sale_shipments = [self]
|
||||
return invoice_line
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def do(cls, shipments):
|
||||
for shipment in shipments:
|
||||
shipment.cost_sale = shipment.cost_sale_used
|
||||
shipment.cost_sale_currency = shipment.cost_sale_currency_used
|
||||
cls.save(shipments)
|
||||
super().do(shipments)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('cancelled')
|
||||
def cancel(cls, shipments):
|
||||
for shipment in shipments:
|
||||
shipment.cost = None
|
||||
shipment.cost_sale = None
|
||||
shipment.cost_sale_currency = None
|
||||
shipment.cost_sales = None
|
||||
cls.save(shipments)
|
||||
super().cancel(shipments)
|
||||
13
modules/sale_shipment_cost/stock.xml
Normal file
13
modules/sale_shipment_cost/stock.xml
Normal 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="shipment_out_view_form">
|
||||
<field name="model">stock.shipment.out</field>
|
||||
<field name="type" eval="None"/>
|
||||
<field name="inherit" ref="stock.shipment_out_view_form"/>
|
||||
<field name="name">shipment_out_form</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
2
modules/sale_shipment_cost/tests/__init__.py
Normal file
2
modules/sale_shipment_cost/tests/__init__.py
Normal 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.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
328
modules/sale_shipment_cost/tests/scenario_sale_shipment_cost.rst
Normal file
328
modules/sale_shipment_cost/tests/scenario_sale_shipment_cost.rst
Normal file
@@ -0,0 +1,328 @@
|
||||
===========================
|
||||
Sale Shipment Cost Scenario
|
||||
===========================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> import datetime as dt
|
||||
>>> from decimal import Decimal
|
||||
|
||||
>>> from proteus import Model, Wizard
|
||||
>>> from trytond.modules.account.tests.tools import (
|
||||
... create_chart, create_fiscalyear, get_accounts)
|
||||
>>> from trytond.modules.account_invoice.tests.tools import (
|
||||
... create_payment_term, set_fiscalyear_invoice_sequences)
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules([
|
||||
... 'sale_shipment_cost',
|
||||
... 'sale',
|
||||
... 'account_invoice',
|
||||
... ],
|
||||
... create_company, create_chart)
|
||||
|
||||
Create fiscal year::
|
||||
|
||||
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
|
||||
>>> fiscalyear.click('create_period')
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
>>> revenue = accounts['revenue']
|
||||
>>> expense = accounts['expense']
|
||||
|
||||
Create customer::
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> customer = Party(name='Customer')
|
||||
>>> customer.sale_shipment_cost_method = 'shipment'
|
||||
>>> customer.save()
|
||||
|
||||
Create account category::
|
||||
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
>>> account_category = ProductCategory(name="Account Category")
|
||||
>>> account_category.accounting = True
|
||||
>>> account_category.account_revenue = revenue
|
||||
>>> account_category.save()
|
||||
|
||||
Create product::
|
||||
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = 'Product'
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.salable = True
|
||||
>>> template.lead_time = dt.timedelta(0)
|
||||
>>> template.list_price = Decimal('20')
|
||||
>>> template.account_category = account_category
|
||||
>>> template.save()
|
||||
>>> product, = template.products
|
||||
|
||||
>>> carrier_template = ProductTemplate()
|
||||
>>> carrier_template.name = 'Carrier Product'
|
||||
>>> carrier_template.default_uom = unit
|
||||
>>> carrier_template.type = 'service'
|
||||
>>> carrier_template.salable = True
|
||||
>>> carrier_template.lead_time = dt.timedelta(0)
|
||||
>>> carrier_template.list_price = Decimal('3')
|
||||
>>> carrier_template.account_category = account_category
|
||||
>>> carrier_template.save()
|
||||
>>> carrier_product, = carrier_template.products
|
||||
>>> carrier_product.cost_price = Decimal('2')
|
||||
>>> carrier_product.save()
|
||||
|
||||
Create carrier::
|
||||
|
||||
>>> Carrier = Model.get('carrier')
|
||||
>>> carrier = Carrier()
|
||||
>>> party = Party(name='Carrier')
|
||||
>>> party.save()
|
||||
>>> carrier.party = party
|
||||
>>> carrier.carrier_product = carrier_product
|
||||
>>> carrier.save()
|
||||
|
||||
Use it as the default carrier::
|
||||
|
||||
>>> CarrierSelection = Model.get('carrier.selection')
|
||||
>>> csc = CarrierSelection(carrier=carrier)
|
||||
>>> csc.save()
|
||||
|
||||
Create payment term::
|
||||
|
||||
>>> payment_term = create_payment_term()
|
||||
>>> payment_term.save()
|
||||
|
||||
Sale products with cost on shipment::
|
||||
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.payment_term = payment_term
|
||||
>>> sale.invoice_method = 'shipment'
|
||||
>>> sale.shipment_cost_method
|
||||
'shipment'
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product
|
||||
>>> sale_line.quantity = 5.0
|
||||
>>> sale.click('quote')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> assertEqual(cost_line.product, carrier_product)
|
||||
>>> cost_line.quantity
|
||||
1.0
|
||||
>>> cost_line.amount
|
||||
Decimal('3.00')
|
||||
>>> cost_line.invoice_progress
|
||||
1.0
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('103.00')
|
||||
|
||||
Send products::
|
||||
|
||||
>>> ShipmentOut = Model.get('stock.shipment.out')
|
||||
>>> shipment, = sale.shipments
|
||||
>>> shipment.cost_sale_method
|
||||
'shipment'
|
||||
>>> assertEqual(shipment.carrier, carrier)
|
||||
>>> shipment.cost_used
|
||||
Decimal('2.0000')
|
||||
>>> shipment.cost_sale_used
|
||||
Decimal('3.0000')
|
||||
>>> assertEqual(shipment.cost_sale_currency_used, shipment.company.currency)
|
||||
>>> move, = shipment.inventory_moves
|
||||
>>> move.quantity = 4
|
||||
>>> shipment.cost_sale_used
|
||||
Decimal('3.0000')
|
||||
>>> assertEqual(shipment.cost_sale_currency_used, shipment.company.currency)
|
||||
>>> shipment.state
|
||||
'waiting'
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.state
|
||||
'assigned'
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.state
|
||||
'picked'
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.state
|
||||
'packed'
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
>>> shipment.cost_sale_invoice_line.amount
|
||||
Decimal('3.00')
|
||||
|
||||
Check customer invoice::
|
||||
|
||||
>>> sale.reload()
|
||||
>>> invoice, = sale.invoices
|
||||
>>> assertEqual({l.product for l in invoice.lines},
|
||||
... {product, carrier_product})
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('83.00')
|
||||
|
||||
Send missing products::
|
||||
|
||||
>>> sale.reload()
|
||||
>>> shipment, = [s for s in sale.shipments if s.state == 'waiting']
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
>>> sale.reload()
|
||||
>>> len(sale.invoices)
|
||||
2
|
||||
>>> new_invoice, = [i for i in sale.invoices if i != invoice]
|
||||
>>> new_invoice.untaxed_amount
|
||||
Decimal('23.00')
|
||||
|
||||
Sale products with cost on order::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.payment_term = payment_term
|
||||
>>> sale.invoice_method = 'order'
|
||||
>>> sale.shipment_cost_method = 'order'
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product
|
||||
>>> sale_line.quantity = 3.0
|
||||
>>> sale.click('quote')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> assertEqual(cost_line.product, carrier_product)
|
||||
>>> cost_line.quantity
|
||||
1.0
|
||||
>>> cost_line.amount
|
||||
Decimal('3.00')
|
||||
>>> cost_line.invoice_progress
|
||||
1.0
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('63.00')
|
||||
|
||||
Check customer shipment::
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
>>> assertEqual(shipment.carrier, carrier)
|
||||
|
||||
Check customer invoice::
|
||||
|
||||
>>> sale.reload()
|
||||
>>> invoice, = sale.invoices
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('63.00')
|
||||
|
||||
Return the sale::
|
||||
|
||||
>>> return_sale = Wizard('sale.return_sale', [sale])
|
||||
>>> return_sale.execute('return_')
|
||||
>>> returned_sale, = Sale.find([
|
||||
... ('state', '=', 'draft'),
|
||||
... ])
|
||||
>>> returned_sale.untaxed_amount
|
||||
Decimal('-63.00')
|
||||
|
||||
The quotation of the returned sale does not change the amount::
|
||||
|
||||
>>> returned_sale.click('quote')
|
||||
>>> returned_sale.untaxed_amount
|
||||
Decimal('-63.00')
|
||||
|
||||
Sale products with cost on order and invoice method on shipment::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.payment_term = payment_term
|
||||
>>> sale.invoice_method = 'shipment'
|
||||
>>> sale.shipment_cost_method = 'order'
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product
|
||||
>>> sale_line.quantity = 1.0
|
||||
>>> sale.click('quote')
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
|
||||
Check no customer invoice::
|
||||
|
||||
>>> len(sale.invoices)
|
||||
0
|
||||
|
||||
Send products::
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
Check customer invoice::
|
||||
|
||||
>>> sale.reload()
|
||||
>>> invoice, = sale.invoices
|
||||
>>> len(invoice.lines)
|
||||
2
|
||||
|
||||
Sale products with no cost::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.payment_term = payment_term
|
||||
>>> sale.invoice_method = 'shipment'
|
||||
>>> sale.shipment_cost_method = None
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product
|
||||
>>> sale_line.quantity = 1.0
|
||||
>>> sale.click('quote')
|
||||
>>> len(sale.lines)
|
||||
1
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
|
||||
Check no customer invoice::
|
||||
|
||||
>>> len(sale.invoices)
|
||||
0
|
||||
|
||||
Send products::
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
>>> shipment.cost_used
|
||||
Decimal('2.0000')
|
||||
>>> shipment.cost_sale_used
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
Check customer invoice::
|
||||
|
||||
>>> sale.reload()
|
||||
>>> invoice, = sale.invoices
|
||||
>>> len(invoice.lines)
|
||||
1
|
||||
@@ -0,0 +1,130 @@
|
||||
=================================================
|
||||
Sale Shipment Cost Cancelled On Shipment Scenario
|
||||
=================================================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> 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
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules([
|
||||
... 'sale_shipment_cost',
|
||||
... ],
|
||||
... create_company, create_chart)
|
||||
|
||||
>>> Carrier = Model.get('carrier')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> UoM = Model.get('product.uom')
|
||||
>>> 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_revenue = accounts['revenue']
|
||||
>>> account_category.save()
|
||||
|
||||
Create product::
|
||||
|
||||
>>> unit, = UoM.find([('name', '=', "Unit")])
|
||||
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = "Product"
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.salable = True
|
||||
>>> template.list_price = Decimal('20')
|
||||
>>> template.account_category = account_category
|
||||
>>> template.save()
|
||||
>>> product, = template.products
|
||||
|
||||
>>> carrier_template = ProductTemplate()
|
||||
>>> carrier_template.name = "Carrier Product"
|
||||
>>> carrier_template.default_uom = unit
|
||||
>>> carrier_template.type = 'service'
|
||||
>>> carrier_template.salable = True
|
||||
>>> carrier_template.list_price = Decimal('3')
|
||||
>>> carrier_template.account_category = account_category
|
||||
>>> carrier_template.save()
|
||||
>>> carrier_product, = carrier_template.products
|
||||
>>> carrier_product.cost_price = Decimal('2')
|
||||
>>> carrier_product.save()
|
||||
|
||||
Create carrier::
|
||||
|
||||
>>> carrier = Carrier()
|
||||
>>> party = Party(name='Carrier')
|
||||
>>> party.save()
|
||||
>>> carrier.party = party
|
||||
>>> carrier.carrier_product = carrier_product
|
||||
>>> carrier.save()
|
||||
|
||||
Sale products with cost on shipment::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.invoice_method = 'shipment'
|
||||
>>> sale.shipment_cost_method = 'shipment'
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product
|
||||
>>> sale_line.quantity = 5.0
|
||||
>>> sale.click('quote')
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
|
||||
Ship products::
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
Cancel customer invoice::
|
||||
|
||||
>>> sale.reload()
|
||||
>>> invoice, = sale.invoices
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('103.00')
|
||||
>>> invoice.click('cancel')
|
||||
>>> invoice.state
|
||||
'cancelled'
|
||||
|
||||
>>> sale.reload()
|
||||
>>> sale.invoice_state
|
||||
'exception'
|
||||
|
||||
Recreate invoice::
|
||||
|
||||
>>> invoice_handle_exception = sale.click('handle_invoice_exception')
|
||||
>>> invoice_handle_exception.form.recreate_invoices.extend(
|
||||
... invoice_handle_exception.form.recreate_invoices.find())
|
||||
>>> invoice_handle_exception.execute('handle')
|
||||
|
||||
>>> sale.invoice_state
|
||||
'pending'
|
||||
>>> _, invoice = sale.invoices
|
||||
>>> invoice.untaxed_amount
|
||||
Decimal('103.00')
|
||||
@@ -0,0 +1,108 @@
|
||||
========================================
|
||||
Sale Shipment Cost Modify Price Scenario
|
||||
========================================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> from decimal import Decimal
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('sale_shipment_cost', create_company)
|
||||
|
||||
Create customer::
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> customer = Party(name='Customer')
|
||||
>>> customer.save()
|
||||
|
||||
Create account category::
|
||||
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
>>> account_category = ProductCategory(name="Account Category")
|
||||
>>> account_category.accounting = True
|
||||
>>> account_category.save()
|
||||
|
||||
Create product::
|
||||
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = 'Product'
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.salable = True
|
||||
>>> template.list_price = Decimal('20')
|
||||
>>> template.account_category = account_category
|
||||
>>> template.save()
|
||||
>>> product, = template.products
|
||||
|
||||
>>> carrier_template = ProductTemplate()
|
||||
>>> carrier_template.name = 'Carrier Product'
|
||||
>>> carrier_template.default_uom = unit
|
||||
>>> carrier_template.type = 'service'
|
||||
>>> carrier_template.salable = True
|
||||
>>> carrier_template.list_price = Decimal('3')
|
||||
>>> carrier_template.account_category = account_category
|
||||
>>> carrier_template.save()
|
||||
>>> carrier_product, = carrier_template.products
|
||||
|
||||
Create carrier::
|
||||
|
||||
>>> Carrier = Model.get('carrier')
|
||||
>>> carrier = Carrier()
|
||||
>>> party = Party(name='Carrier')
|
||||
>>> party.save()
|
||||
>>> carrier.party = party
|
||||
>>> carrier.carrier_product = carrier_product
|
||||
>>> carrier.save()
|
||||
|
||||
Make a quote::
|
||||
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product
|
||||
>>> sale_line.quantity = 5.0
|
||||
>>> sale.click('quote')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> assertEqual(cost_line.product, carrier_product)
|
||||
>>> cost_line.quantity
|
||||
1.0
|
||||
>>> cost_line.amount
|
||||
Decimal('3.00')
|
||||
|
||||
Change the shipment cost price::
|
||||
|
||||
>>> sale.click('draft')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> cost_line.unit_price = Decimal('2.00')
|
||||
>>> sale.click('quote')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> assertEqual(cost_line.product, carrier_product)
|
||||
>>> cost_line.quantity
|
||||
1.0
|
||||
>>> cost_line.amount
|
||||
Decimal('2.00')
|
||||
|
||||
Change the carrier price reset the cost line::
|
||||
|
||||
>>> carrier_template.list_price = Decimal('4')
|
||||
>>> carrier_template.save()
|
||||
|
||||
>>> sale.click('draft')
|
||||
>>> sale.click('quote')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> assertEqual(cost_line.product, carrier_product)
|
||||
>>> cost_line.quantity
|
||||
1.0
|
||||
>>> cost_line.amount
|
||||
Decimal('4.00')
|
||||
@@ -0,0 +1,112 @@
|
||||
=====================================
|
||||
Sale Shipment Cost Promotion Scenario
|
||||
=====================================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> 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.modules.currency.tests.tools import get_currency
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules([
|
||||
... 'sale_shipment_cost',
|
||||
... 'sale',
|
||||
... 'sale_promotion',
|
||||
... ],
|
||||
... create_company, create_chart)
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
|
||||
Create customer::
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> customer = Party(name='Customer')
|
||||
>>> customer.save()
|
||||
|
||||
Create account category::
|
||||
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
>>> account_category = ProductCategory(name="Account Category")
|
||||
>>> account_category.accounting = True
|
||||
>>> account_category.account_revenue = accounts['revenue']
|
||||
>>> account_category.save()
|
||||
|
||||
Create product::
|
||||
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> Product = Model.get('product.product')
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = 'Product'
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.salable = True
|
||||
>>> template.list_price = Decimal('20')
|
||||
>>> template.account_category = account_category
|
||||
>>> template.save()
|
||||
>>> product, = template.products
|
||||
|
||||
>>> carrier_template = ProductTemplate()
|
||||
>>> carrier_template.name = 'Carrier Product'
|
||||
>>> carrier_template.default_uom = unit
|
||||
>>> carrier_template.type = 'service'
|
||||
>>> carrier_template.salable = True
|
||||
>>> carrier_template.list_price = Decimal('3')
|
||||
>>> carrier_template.account_category = account_category
|
||||
>>> carrier_template.save()
|
||||
>>> carrier_product, = carrier_template.products
|
||||
|
||||
Create Promotion::
|
||||
|
||||
>>> Promotion = Model.get('sale.promotion')
|
||||
>>> promotion = Promotion(name='product 2 free')
|
||||
>>> promotion.amount = Decimal('101')
|
||||
>>> promotion.amount_shipment_cost_included = False
|
||||
>>> promotion.currency = get_currency()
|
||||
>>> promotion.products.extend([Product(carrier_product.id)])
|
||||
>>> promotion.formula = '0.0'
|
||||
>>> promotion.save()
|
||||
|
||||
Create carrier::
|
||||
|
||||
>>> Carrier = Model.get('carrier')
|
||||
>>> carrier = Carrier()
|
||||
>>> party = Party(name='Carrier')
|
||||
>>> party.save()
|
||||
>>> carrier.party = party
|
||||
>>> carrier.carrier_product = carrier_product
|
||||
>>> carrier.save()
|
||||
|
||||
Sale products without the promotion::
|
||||
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product
|
||||
>>> sale_line.quantity = 5.0
|
||||
>>> sale.click('quote')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> cost_line.amount
|
||||
Decimal('3.00')
|
||||
|
||||
Increase sale to get the promotion::
|
||||
|
||||
>>> sale.click('draft')
|
||||
>>> line = sale.lines[0]
|
||||
>>> line.quantity = 6.0
|
||||
>>> sale.click('quote')
|
||||
>>> cost_line = sale.lines[-1]
|
||||
>>> cost_line.amount
|
||||
Decimal('0.00')
|
||||
@@ -0,0 +1,183 @@
|
||||
=================================
|
||||
Sale Shipment Cost Stock Scenario
|
||||
=================================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> 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
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules([
|
||||
... 'sale_shipment_cost',
|
||||
... 'sale',
|
||||
... ],
|
||||
... create_company, create_chart)
|
||||
|
||||
>>> Carrier = Model.get('carrier')
|
||||
>>> CarrierSelection = Model.get('carrier.selection')
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> ShipmentOut = Model.get('stock.shipment.out')
|
||||
|
||||
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_revenue = accounts['revenue']
|
||||
>>> account_category.save()
|
||||
|
||||
Create product::
|
||||
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = 'Product'
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.salable = True
|
||||
>>> template.list_price = Decimal('20')
|
||||
>>> template.account_category = account_category
|
||||
>>> template.save()
|
||||
>>> product, = template.products
|
||||
|
||||
>>> carrier_template = ProductTemplate()
|
||||
>>> carrier_template.name = 'Carrier Product'
|
||||
>>> carrier_template.default_uom = unit
|
||||
>>> carrier_template.type = 'service'
|
||||
>>> carrier_template.salable = True
|
||||
>>> carrier_template.list_price = Decimal('2')
|
||||
>>> carrier_template.account_category = account_category
|
||||
>>> carrier_template.save()
|
||||
>>> carrier_product, = carrier_template.products
|
||||
>>> carrier_product.cost_price = Decimal('5')
|
||||
>>> carrier_product.save()
|
||||
|
||||
Create carrier::
|
||||
|
||||
>>> carrier = Carrier()
|
||||
>>> party = Party(name='Carrier')
|
||||
>>> party.save()
|
||||
>>> carrier.party = party
|
||||
>>> carrier.carrier_product = carrier_product
|
||||
>>> carrier.save()
|
||||
|
||||
Use it as the default carrier::
|
||||
|
||||
>>> csc = CarrierSelection(carrier=carrier)
|
||||
>>> csc.save()
|
||||
|
||||
|
||||
Sell product with no shipment cost::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.shipment_cost_method = None
|
||||
>>> line = sale.lines.new()
|
||||
>>> line.product = product
|
||||
>>> line.quantity = 1
|
||||
>>> sale.click('quote')
|
||||
>>> len(sale.lines)
|
||||
1
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
>>> shipment.cost_used
|
||||
Decimal('5.0000')
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.outgoing_moves
|
||||
>>> move.shipment_out_cost_price
|
||||
Decimal('5.0000')
|
||||
|
||||
Sell product with cost on shipment::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.shipment_cost_method = 'shipment'
|
||||
>>> line = sale.lines.new()
|
||||
>>> line.product = product
|
||||
>>> line.quantity = 1
|
||||
>>> sale.click('quote')
|
||||
>>> len(sale.lines)
|
||||
2
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
>>> shipment.cost_used
|
||||
Decimal('5.0000')
|
||||
>>> shipment.cost_sale_used
|
||||
Decimal('2.0000')
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.outgoing_moves
|
||||
>>> move.shipment_out_cost_price
|
||||
Decimal('3.0000')
|
||||
|
||||
Sell product with cost on order::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.carrier = carrier
|
||||
>>> sale.shipment_cost_method = 'order'
|
||||
>>> line = sale.lines.new()
|
||||
>>> line.product = product
|
||||
>>> line.quantity = 1
|
||||
>>> sale.click('quote')
|
||||
>>> len(sale.lines)
|
||||
2
|
||||
>>> sale.click('draft')
|
||||
>>> sale.lines[-1].unit_price = Decimal('3.0000')
|
||||
>>> sale.click('quote')
|
||||
>>> sale.lines[-1].unit_price
|
||||
Decimal('3.0000')
|
||||
>>> sale.click('confirm')
|
||||
>>> sale.click('process')
|
||||
>>> sale.state
|
||||
'processing'
|
||||
|
||||
>>> shipment, = sale.shipments
|
||||
>>> shipment.cost_used
|
||||
Decimal('5.0000')
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.outgoing_moves
|
||||
>>> move.shipment_out_cost_price
|
||||
Decimal('2.0000')
|
||||
31
modules/sale_shipment_cost/tests/test_module.py
Normal file
31
modules/sale_shipment_cost/tests/test_module.py
Normal file
@@ -0,0 +1,31 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from trytond.pool import Pool
|
||||
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
|
||||
|
||||
|
||||
class SaleShipmentCostTestCase(ModuleTestCase):
|
||||
'Test Sale Shipment Cost module'
|
||||
module = 'sale_shipment_cost'
|
||||
extras = ['sale_promotion', 'sale_shipment_grouping']
|
||||
|
||||
@with_transaction()
|
||||
def test_shipment_grouping(self):
|
||||
"Test fields to group shipment"
|
||||
pool = Pool()
|
||||
Sale = pool.get('sale.sale')
|
||||
ShipmentOut = pool.get('stock.shipment.out')
|
||||
|
||||
sale = Sale()
|
||||
shipment = MagicMock(spec=ShipmentOut)
|
||||
|
||||
fields = sale._get_shipment_grouping_fields(shipment)
|
||||
|
||||
self.assertLessEqual({'cost_sale_method', 'carrier'}, fields)
|
||||
self.assertLessEqual(fields, ShipmentOut._fields.keys())
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
8
modules/sale_shipment_cost/tests/test_scenario.py
Normal file
8
modules/sale_shipment_cost/tests/test_scenario.py
Normal 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)
|
||||
39
modules/sale_shipment_cost/tryton.cfg
Normal file
39
modules/sale_shipment_cost/tryton.cfg
Normal file
@@ -0,0 +1,39 @@
|
||||
[tryton]
|
||||
version=7.8.0
|
||||
depends:
|
||||
account_invoice
|
||||
carrier
|
||||
currency
|
||||
ir
|
||||
product
|
||||
res
|
||||
sale
|
||||
stock
|
||||
stock_shipment_cost
|
||||
extras_depend:
|
||||
sale_promotion
|
||||
sale_shipment_grouping
|
||||
xml:
|
||||
party.xml
|
||||
sale.xml
|
||||
stock.xml
|
||||
message.xml
|
||||
|
||||
[register]
|
||||
model:
|
||||
party.Party
|
||||
party.PartySaleMethod
|
||||
account.InvoiceLine
|
||||
sale.Configuration
|
||||
sale.ConfigurationSaleMethod
|
||||
sale.Sale
|
||||
sale.Line
|
||||
stock.ShipmentCostSale
|
||||
stock.ShipmentOut
|
||||
wizard:
|
||||
sale.HandleInvoiceException
|
||||
sale.ReturnSale
|
||||
|
||||
[register sale_promotion]
|
||||
model:
|
||||
sale.Promotion
|
||||
9
modules/sale_shipment_cost/view/configuration_form.xml
Normal file
9
modules/sale_shipment_cost/view/configuration_form.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?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/field[@name='sale_shipment_method']" position="after">
|
||||
<label name="sale_shipment_cost_method"/>
|
||||
<field name="sale_shipment_cost_method"/>
|
||||
</xpath>
|
||||
</data>
|
||||
9
modules/sale_shipment_cost/view/party_form.xml
Normal file
9
modules/sale_shipment_cost/view/party_form.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?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/notebook/page[@id='sale']" position="inside">
|
||||
<label name="sale_shipment_cost_method"/>
|
||||
<field name="sale_shipment_cost_method"/>
|
||||
</xpath>
|
||||
</data>
|
||||
9
modules/sale_shipment_cost/view/promotion_form.xml
Normal file
9
modules/sale_shipment_cost/view/promotion_form.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<data>
|
||||
<xpath expr="//group[@id='amount']" position="inside">
|
||||
<label name="amount_shipment_cost_included" string="Shipment Cost Included"/>
|
||||
<field name="amount_shipment_cost_included"/>
|
||||
</xpath>
|
||||
</data>
|
||||
15
modules/sale_shipment_cost/view/sale_form.xml
Normal file
15
modules/sale_shipment_cost/view/sale_form.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?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='shipping_date']" position="after">
|
||||
<label name="carrier"/>
|
||||
<field name="carrier"/>
|
||||
</xpath>
|
||||
<xpath
|
||||
expr="/form/notebook/page[@id='other']/field[@name='shipment_method']"
|
||||
position="after">
|
||||
<label name="shipment_cost_method"/>
|
||||
<field name="shipment_cost_method"/>
|
||||
</xpath>
|
||||
</data>
|
||||
@@ -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="/tree" position="inside">
|
||||
<field name="shipment_cost" tree_invisible="1"/>
|
||||
</xpath>
|
||||
</data>
|
||||
12
modules/sale_shipment_cost/view/shipment_out_form.xml
Normal file
12
modules/sale_shipment_cost/view/shipment_out_form.xml
Normal 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. -->
|
||||
<data>
|
||||
<xpath expr="//group[@id='cost_used']" position="after">
|
||||
<label name="cost_sale_used"/>
|
||||
<group id="cost_sale_used" col="-1" colspan="3">
|
||||
<field name="cost_sale_used" xexpand="0"/>
|
||||
<field name="cost_sale_currency_used"/>
|
||||
</group>
|
||||
</xpath>
|
||||
</data>
|
||||
Reference in New Issue
Block a user