26.03.26
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -30,9 +30,10 @@ from . import (
|
|||||||
valuation,
|
valuation,
|
||||||
dimension,
|
dimension,
|
||||||
weight_report,
|
weight_report,
|
||||||
backtoback,
|
backtoback,
|
||||||
service,
|
service,
|
||||||
)
|
invoice,
|
||||||
|
)
|
||||||
|
|
||||||
def register():
|
def register():
|
||||||
Pool.register(
|
Pool.register(
|
||||||
@@ -74,8 +75,8 @@ def register():
|
|||||||
dashboard.Incoming,
|
dashboard.Incoming,
|
||||||
dashboard.BotAction,
|
dashboard.BotAction,
|
||||||
dashboard.News,
|
dashboard.News,
|
||||||
dashboard.Demos,
|
dashboard.Demos,
|
||||||
party.Party,
|
party.Party,
|
||||||
party.PartyExecution,
|
party.PartyExecution,
|
||||||
party.PartyExecutionSla,
|
party.PartyExecutionSla,
|
||||||
party.PartyExecutionPlace,
|
party.PartyExecutionPlace,
|
||||||
@@ -177,12 +178,15 @@ def register():
|
|||||||
purchase.PenaltyRule,
|
purchase.PenaltyRule,
|
||||||
purchase.PenaltyRuleTier,
|
purchase.PenaltyRuleTier,
|
||||||
purchase.ConcentrateTerm,
|
purchase.ConcentrateTerm,
|
||||||
backtoback.Backtoback,
|
backtoback.Backtoback,
|
||||||
dimension.AnalyticDimension,
|
dimension.AnalyticDimension,
|
||||||
dimension.AnalyticDimensionValue,
|
dimension.AnalyticDimensionValue,
|
||||||
dimension.AnalyticDimensionAssignment,
|
dimension.AnalyticDimensionAssignment,
|
||||||
weight_report.WeightReport,
|
weight_report.WeightReport,
|
||||||
module='purchase', type_='model')
|
module='purchase', type_='model')
|
||||||
|
Pool.register(
|
||||||
|
invoice.Invoice,
|
||||||
|
module='account_invoice', type_='model')
|
||||||
Pool.register(
|
Pool.register(
|
||||||
forex.Forex,
|
forex.Forex,
|
||||||
forex.ForexCoverFees,
|
forex.ForexCoverFees,
|
||||||
|
|||||||
113
modules/purchase_trade/invoice.py
Normal file
113
modules/purchase_trade/invoice.py
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from trytond.pool import PoolMeta
|
||||||
|
|
||||||
|
|
||||||
|
class Invoice(metaclass=PoolMeta):
|
||||||
|
__name__ = 'account.invoice'
|
||||||
|
|
||||||
|
def _get_report_sale(self):
|
||||||
|
sales = list(self.sales or [])
|
||||||
|
return sales[0] if sales else None
|
||||||
|
|
||||||
|
def _get_report_sale_line(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.lines:
|
||||||
|
return sale.lines[0]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_address(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.report_address:
|
||||||
|
return sale.report_address
|
||||||
|
if self.invoice_address and self.invoice_address.full_address:
|
||||||
|
return self.invoice_address.full_address
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_contract_number(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.full_number:
|
||||||
|
return sale.full_number
|
||||||
|
return self.origins or ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_shipment(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.report_shipment:
|
||||||
|
return sale.report_shipment
|
||||||
|
return self.description or ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_product_description(self):
|
||||||
|
line = self._get_report_sale_line()
|
||||||
|
if line and line.product:
|
||||||
|
return line.product.description or ''
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_crop_name(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.crop:
|
||||||
|
return sale.crop.name or ''
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_attributes_name(self):
|
||||||
|
line = self._get_report_sale_line()
|
||||||
|
if line:
|
||||||
|
return line.attributes_name or ''
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_price(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.report_price:
|
||||||
|
return sale.report_price
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_payment_date(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.report_payment_date:
|
||||||
|
return sale.report_payment_date
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_payment_description(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.payment_term:
|
||||||
|
return sale.payment_term.description or ''
|
||||||
|
if self.payment_term:
|
||||||
|
return self.payment_term.description or ''
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_nb_bale(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.report_nb_bale:
|
||||||
|
return sale.report_nb_bale
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_gross(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.report_gross != '':
|
||||||
|
return sale.report_gross
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_net(self):
|
||||||
|
sale = self._get_report_sale()
|
||||||
|
if sale and sale.report_net != '':
|
||||||
|
return sale.report_net
|
||||||
|
if self.lines:
|
||||||
|
return self.lines[0].quantity
|
||||||
|
return ''
|
||||||
|
|
||||||
|
@property
|
||||||
|
def report_lbs(self):
|
||||||
|
net = self.report_net
|
||||||
|
if net == '':
|
||||||
|
return ''
|
||||||
|
return Decimal(net) * Decimal('2.20462')
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
[tryton]
|
[tryton]
|
||||||
version=7.2.7
|
version=7.2.7
|
||||||
depends:
|
depends:
|
||||||
ir
|
ir
|
||||||
purchase
|
purchase
|
||||||
sale
|
sale
|
||||||
stock
|
account_invoice
|
||||||
res
|
stock
|
||||||
|
res
|
||||||
lot
|
lot
|
||||||
document_incoming
|
document_incoming
|
||||||
incoterm
|
incoterm
|
||||||
@@ -32,4 +33,4 @@ xml:
|
|||||||
valuation.xml
|
valuation.xml
|
||||||
weight_report.xml
|
weight_report.xml
|
||||||
dimension.xml
|
dimension.xml
|
||||||
backtoback.xml
|
backtoback.xml
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user