first commit

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

View File

@@ -0,0 +1,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}")

View 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)

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.exceptions import UserError
class InvoiceShipmentCostError(UserError):
pass

View 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 "Начин на остойностяване на доставка"

View 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"

View 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 ""

View 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"

View 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"

View 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"

View 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"

View 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 "متد هزینه حمل و نقل"

View 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 ""

View 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"

View 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 ""

View 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 ""

View 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"

View 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 ""

View 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 ""

View 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"

View 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"

View 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"

View 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 ""

View 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 ""

View 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"

View 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 ""

View 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 ""

View 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 ""

View File

@@ -0,0 +1,16 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data grouped="1">
<record model="ir.message" id="msg_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>

View 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')

View 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>

View 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

View File

@@ -0,0 +1,34 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.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>

View 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)

View File

@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="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>

View File

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

View File

@@ -0,0 +1,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

View File

@@ -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')

View File

@@ -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')

View File

@@ -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')

View File

@@ -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')

View 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

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

View File

@@ -0,0 +1,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

View 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>

View 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>

View 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>

View 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>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="/tree" position="inside">
<field name="shipment_cost" tree_invisible="1"/>
</xpath>
</data>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<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>