Problemas que suceden cuando se queda colgado sin grabar los datos.
La parte donde se visualiza el CAE esta en blanco. No genera el asiento, No genera el número de factura.
Hay una parte del código donde usa esto del cursor.commit()[0] justamente para grabar el mensaje que recibimos de AFIP.
De esa manera, estamos asegurandonos que pase lo que pase, sincronizamos con la base de datos luego de crear el registro con los datos de XML recibidos por AFIP.
Ahora bien, luego de terminar ese proceso, (en la function post()), invoca a la function print_invoice(). Esta function por lo que pude ver escribe que el template a usar va a ser pdf, y que el nombre del archivo que se va a generar para este invoice va a ser de la forma: "Factura - (punto de venta - numero de factura).pdf". Es por eso que esta llamando a print_invoice().
for invoice in invoices:
if invoice.type in ('out_invoice', 'out_credit_note'):
invoice.print_invoice()
Por el momento, la forma de "solucionarlo" es comentando estas lineas al confirmar la factura.
Hice la prueba de generar el reporte después de confirmar y no he tenido ningún inconveniente. ¿Alguna razón para que se invoque a print_invoice() en ese momento?
Traceback (most recent call last):
File "/trytond/protocols/jsonrpc.py", line 123, in _marshaled_dispatch
response['result'] = dispatch_method(method, params)
File "/trytond/protocols/jsonrpc.py", line 156, in _dispatch
res = dispatch(*args)
File "/trytond/protocols/dispatcher.py", line 168, in dispatch
result = rpc.result(meth(*args, **kwargs))
File "/trytond/model/modelview.py", line 513, in wrapper
return func(cls, *args, **kwargs)
File "/trytond/model/workflow.py", line 33, in wrapper
result = func(cls, filtered, *args, **kwargs)
File "/trytond/modules/account_invoice_ar/invoice.py", line 250, in post
invoice.print_invoice()
File "/trytond/modules/account_invoice/invoice.py", line 1252, in print_invoice
InvoiceReport.execute([self.id], {})
File "/trytond/modules/account_invoice/invoice.py", line 2388, in execute
res = super(InvoiceReport, cls).execute(ids, data)
File "/trytond/report/report.py", line 127, in execute
type, data = cls.parse(action_report, records, data, {})
File "/trytond/modules/account_invoice_ar/invoice.py", line 615, in parse
localcontext=localcontext)
File "/trytond/modules/account_invoice/invoice.py", line 2417, in parse
localcontext)
File "/trytond/report/report.py", line 283, in parse
data = cls.unoconv(data, report.template_extension, output_format)
File "/trytond/report/report.py", line 303, in unoconv
raise Exception(stderrdata)
Exception: None