ingadhoc / argentina-sale

Odoo Argentina Sale Modules
GNU Affero General Public License v3.0
9 stars 39 forks source link

Error al imprimir un remito. #145

Open gabbiiperez opened 9 months ago

gabbiiperez commented 9 months ago

Hola, como están? Surgió un error al imprimir un remito, ya sea de una transferencia interna o externa, si el stock.picking no tiene un _partner_id_ asignado valida un campo que no existe en el modelo.

RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
  File "<966>", line 1760, in template_966
  File "<966>", line 1742, in template_966_content
  File "<966>", line 1725, in template_966_t_call_0
  File "<966>", line 248, in template_966_t_call_1
AttributeError: 'stock.picking' object has no attribute 'move_lines'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/odoo/src/odoo/addons/web/controllers/report.py", line 113, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
  File "/home/odoo/src/odoo/odoo/http.py", line 697, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/home/odoo/src/user/sub_loca/aeroo_reports/report_aeroo/controllers/main.py", line 31, in report_routes
    return super(ReportController, self).report_routes(
  File "/home/odoo/src/odoo/odoo/http.py", line 697, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/home/odoo/src/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
  File "/home/odoo/src/odoo/addons/account/models/ir_actions_report.py", line 58, in _render_qweb_pdf
    return super()._render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions_report.py", line 819, in _render_qweb_pdf
    collected_streams = self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
  File "/home/odoo/src/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 58, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
  File "/home/odoo/src/odoo/addons/account_edi/models/ir_actions_report.py", line 14, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
  File "/home/odoo/src/odoo/addons/account/models/ir_actions_report.py", line 20, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions_report.py", line 708, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, res_ids_wo_stream, data=data)[0]
  File "/home/odoo/src/enterprise/web_studio/models/ir_actions_report.py", line 19, in _render_qweb_html
    return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions_report.py", line 896, in _render_qweb_html
    return self._render_template(report.report_name, data), 'html'
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_actions_report.py", line 623, in _render_template
    return view_obj._render_template(template, values).encode()
  File "/home/odoo/src/odoo/addons/website/models/ir_ui_view.py", line 419, in _render_template
    return super()._render_template(template, values=values)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 2125, in _render_template
    return self.env['ir.qweb']._render(template, values)
  File "/home/odoo/src/odoo/odoo/tools/profiler.py", line 292, in _tracked_method_render
    return method_render(self, template, values, **options)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_qweb.py", line 581, in _render
    result = ''.join(rendering)
  File "<971>", line 95, in template_971
  File "<971>", line 81, in template_971_content
  File "<966>", line 1766, in template_966
odoo.addons.base.models.ir_qweb.QWebException: Error while render the template
AttributeError: 'stock.picking' object has no attribute 'move_lines'
Template: stock.report_delivery_document
Path: /t/t/t/div/div[1]/div[1]/t[2]
Node: <t t-set="commercial_partner" t-value="partner.commercial_partner_id"/>

The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
    at makeErrorFromResponse (https://claretiana-staging-1226-11047056.dev.odoo.com/web/assets/1226-f095afd/web.assets_backend.min.js:997:163)
    at decoder.onload (https://claretiana-staging-1226-11047056.dev.odoo.com/web/assets/1226-f095afd/web.assets_backend.min.js:984:7)

El error se da en el módulo _l10n_ar_stock/views/report_deliveryslip.xml_ en la línea 112. <t t-set="partner" t-value="o.partner_id or (o.move_lines and o.move_lines[0].partner_id)"/>

Dentro del modelo de stock.picking no existe el campo llamado _move_lines_, pero entiendo que quisieron utilizar el campo llamado _move_lineids.

Quisiera saber si es posible hacer el cambio del nombre del campo utilizado?

Muchas gracias!

Saludos!

gabbiiperez commented 9 months ago

@maq-adhoc Buenas, tengo un error, quien podría verlo?

maq-adhoc commented 9 months ago

Gracias @gabbiiperez

@jcadhoc entiendo que no es un caso muy común querer imprimir un remito sin partner, pero es cierto que ese campo no esta disponible. Por otro lado entiendo que es muy posible que si el remito no tiene partner las lineas tampoco la tengan. y que puede fallar de mas abajo el reporte.

https://github.com/ingadhoc/argentina-sale/blob/16.0/l10n_ar_stock/views/report_deliveryslip.xml#L113

cc: @florenciafrigieri2

maq-adhoc commented 9 months ago

@gabbiiperez si queres hacer un Pr con el cambio, es bienvenido y va a acelerar el proceso

maq-adhoc commented 7 months ago

Buenas @gabbiiperez no hay pr?

gabbiiperez commented 7 months ago

Hola @maq-adhoc no, al final le colocan un cliente para que no falle y siguen el proceso.