This commit is contained in:
2026-03-26 15:16:34 +01:00
parent 90f97daa7f
commit 3e646ea035
5 changed files with 2662 additions and 2224 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -30,9 +30,10 @@ from . import (
valuation,
dimension,
weight_report,
backtoback,
service,
)
backtoback,
service,
invoice,
)
def register():
Pool.register(
@@ -74,8 +75,8 @@ def register():
dashboard.Incoming,
dashboard.BotAction,
dashboard.News,
dashboard.Demos,
party.Party,
dashboard.Demos,
party.Party,
party.PartyExecution,
party.PartyExecutionSla,
party.PartyExecutionPlace,
@@ -177,12 +178,15 @@ def register():
purchase.PenaltyRule,
purchase.PenaltyRuleTier,
purchase.ConcentrateTerm,
backtoback.Backtoback,
dimension.AnalyticDimension,
dimension.AnalyticDimensionValue,
dimension.AnalyticDimensionAssignment,
weight_report.WeightReport,
module='purchase', type_='model')
backtoback.Backtoback,
dimension.AnalyticDimension,
dimension.AnalyticDimensionValue,
dimension.AnalyticDimensionAssignment,
weight_report.WeightReport,
module='purchase', type_='model')
Pool.register(
invoice.Invoice,
module='account_invoice', type_='model')
Pool.register(
forex.Forex,
forex.ForexCoverFees,

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

View File

@@ -1,11 +1,12 @@
[tryton]
version=7.2.7
depends:
ir
purchase
sale
stock
res
depends:
ir
purchase
sale
account_invoice
stock
res
lot
document_incoming
incoterm
@@ -32,4 +33,4 @@ xml:
valuation.xml
weight_report.xml
dimension.xml
backtoback.xml
backtoback.xml

File diff suppressed because it is too large Load Diff