OCA / l10n-spain

Odoo Spain Localization
https://www.aeodoo.org/estado-localizacion
GNU Affero General Public License v3.0
284 stars 519 forks source link

[13.0] [l10n_es_facturae_face] Invoices not sent to FACe #2233

Closed jabelchi closed 1 year ago

jabelchi commented 2 years ago

Invoices not sent to FACe platform. Field "sending method" missing from partner form

Module

l10n_es_facturae_face

Describe the bug

We updated l10n_es_facturae and l10n_es_facturae_face modules in order to correct issue number #2191. The cron task has now been created and statuses are automatically updated. However, new invoices are not sent to the FACe platform. Should we update other modules?

To Reproduce

Tested in V13

Steps to reproduce the behavior:

  1. Create and post an invoice. An EDI record is created, with Exchange State "new" and it remains that way.
  2. Click on the "UPDATE FACTURAE FACE" button. The error message "Record ID=nnn has no file to process!" is raised.

Expected behavior The XML file must be sent to FACe and status must be automatically updated by the cron job.

Additional context We can create and sign the correct XML file of the invoice by performing the action "Create FacturaE file" The field "sending method" is now missing from partner form.

etobella commented 2 years ago

Lleva un rato, el cron de ejecucion es el de edi output. Tienes el queue activado?

jabelchi commented 2 years ago

Gracias por tu ayuda, Enric.

En "Job Queue" veo una lista de trabajos en estado "pending" Ejecuto manualmente la acción programada "EDI exchange check status" [ model.search([])._cron_check_output_exchange_sync() ] y aparece el error que transcribo al pie.

Como información, tengo el módulo edi en versión 13.0.1.22.0 i el queue_job en versión 13.0.3.10.1


Error: Odoo Server Error

Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/tools/safe_eval.py", line 354, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "", line 1, in File "/var/OCA/OCA_edi/edi/models/edi_backend.py", line 341, in _cron_check_output_exchange_sync backend._check_output_exchange_sync(**kw) File "/var/OCA/OCA_edi/edi/models/edi_backend.py", line 377, in _check_output_exchange_sync self._exchange_output_check_state(rec) File "/var/OCA/OCA_edi/edi/models/edi_backend.py", line 406, in _exchange_output_check_state raise NotImplementedError("No handler for _exchange_output_check_state") NotImplementedError: No handler for _exchange_output_check_state

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/http.py", line 624, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 14, in reraise raise value File "/usr/lib/python3/dist-packages/odoo/http.py", line 669, in dispatch result = self._call_function(self.params) File "/usr/lib/python3/dist-packages/odoo/http.py", line 350, in _call_function return checked_call(self.db, *args, *kwargs) File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper return f(dbname, args, kwargs) File "/usr/lib/python3/dist-packages/odoo/http.py", line 339, in checked_call result = self.endpoint(*a, kw) File "/usr/lib/python3/dist-packages/odoo/http.py", line 915, in call return self.method(*args, *kw) File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap response = f(args, kw) File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1343, in call_button action = self._call_kw(model, method, args, kwargs) File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1331, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/usr/lib/python3/dist-packages/odoo/api.py", line 387, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/usr/lib/python3/dist-packages/odoo/api.py", line 374, in _call_kw_multi result = method(recs, *args, kwargs) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_cron.py", line 83, in method_direct_trigger cron.with_user(cron.user_id).with_context(lastcall=cron.lastcall).ir_actions_server_id.run() File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions.py", line 537, in run res = func(action, eval_context=eval_context) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions.py", line 422, in run_action_code_multi safe_eval(action.sudo().code.strip(), eval_context, mode="exec", nocopy=True) # nocopy allows to return 'action' File "/usr/lib/python3/dist-packages/odoo/tools/safe_eval.py", line 377, in safe_eval pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2]) File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 13, in reraise raise value.with_traceback(tb) File "/usr/lib/python3/dist-packages/odoo/tools/safe_eval.py", line 354, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "", line 1, in File "/var/OCA/OCA_edi/edi/models/edi_backend.py", line 341, in _cron_check_output_exchange_sync backend._check_output_exchange_sync(kw) File "/var/OCA/OCA_edi/edi/models/edi_backend.py", line 377, in _check_output_exchange_sync self._exchange_output_check_state(rec) File "/var/OCA/OCA_edi/edi/models/edi_backend.py", line 406, in _exchange_output_check_state raise NotImplementedError("No handler for _exchange_output_check_state") ValueError: <class 'NotImplementedError'>: "No handler for _exchange_output_check_state" while evaluating 'model.search([])._cron_check_output_exchange_sync()'

ValentinVinagre commented 2 years ago

RESUELTO :)

Por lo visto ese error se soluciona activando el queue y lanzando la planificada "EDI exchange check status". Ahora el queue me indica lo siguiente: lxml.etree.DocumentInvalid: Element 'AttachmentFormat': [facet 'enumeration'] The value 'xsig' is not an element of the set {'xml', 'doc', 'gif', 'rtf', 'pdf', 'xls', 'jpg', 'bmp', 'tiff', 'html'}., line 9

¿Os suena como resolverlo?

etobella commented 2 years ago

Esta realizando validación de xml y creo que se podia hacer desde la configuracion del exchange type o del backend :thinking:

jabelchi commented 2 years ago

Gracias por vuestras aportaciones @ValentinVinagre y @etobella Sin embargo, no entiendo qué debería comprobar. Tengo el queue activado y he lanzado diversas veces la tarea planificada "EDI exchange check status", con el resultado que ya puse el 25 de abril. Tampoco sé qué mirar en el exchange type y/o en el backend.

github-actions[bot] commented 1 year ago

There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.