Hola de nuevo, solo para comentar que encontré el problema en el código:

La línea 366 del programa .../account/move.py dice:
     period_id = Period.find(self.company.id, date=date) 

y debe decir:
     period_id = Period.find(self.origin.company.id <http://self.company.id>, 
date=date) 

Hice el cambio en mi instalación y funciona bien.
Saludos,
Eduardo

On Tuesday, June 14, 2016 at 2:10:51 AM UTC-5, Sergi Almacellas Abellana 
wrote:
>
> El 14/06/16 a les 00:16, Eduardo J de la Garza G ha escrit: 
> > Buenas tardes, 
> > 
> > Estoy utilizando tryton 3.4. 
> > 
> > El módulo de facturas de proveedor permite la cancelación de una factura 
> > ya confirmada creando un asiento contable de cancelación. Esto funciona 
> > muy bien si el periodo en el que se confirmó la factura está aún 
> > abierto. En caso de que el periodo esté cerrado, se abre una ventana en 
> > la que aparece un mensaje que dice que el periodo está cerrado y 
> > pregunta si se quiere utilizar el periodo actual para el asiento de 
> > cancelación; sin embargo, al decirle al sistema que Sí, aparece el 
> > siguiente mensaje de error: 
> > 
> > Traceback (most recent call last): 
> >    File "/trytond/protocols/jsonrpc.py", line 150, in 
> _marshaled_dispatch 
> >      response['result'] = dispatch_method(method, params) 
> >    File "/trytond/protocols/jsonrpc.py", line 179, in _dispatch 
> >      res = dispatch(*args) 
> >    File "/trytond/protocols/dispatcher.py", line 161, in dispatch 
> >      result = rpc.result(meth(*c_args, **c_kwargs)) 
> >    File "/trytond/modules/sale/invoice.py", line 22, in wrapper 
> >      func(cls, invoices) 
> >    File "/trytond/modules/sale/invoice.py", line 105, in cancel 
> >      super(Invoice, cls).cancel(invoices) 
> >    File "/trytond/modules/purchase/invoice.py", line 22, in wrapper 
> >      func(cls, invoices) 
> >    File "/trytond/modules/purchase/invoice.py", line 111, in cancel 
> >      super(Invoice, cls).cancel(invoices) 
> >    File "/trytond/model/workflow.py", line 33, in wrapper 
> >      result = func(cls, filtered, *args, **kwargs) 
> >    File "/trytond/modules/account_invoice_posted2draft/invoice.py", line 
> > 57, in cancel 
> >      return super(Invoice, cls).cancel(invoices) 
> >    File "/trytond/model/modelview.py", line 497, 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/invoice.py", line 1429, in 
> cancel 
> >      invoice.cancel_move = invoice.move.cancel() 
> >    File "/trytond/modules/account_payment_type/move.py", line 18, in 
> cancel 
> >      return super(Move, self).cancel() 
> >    File "/trytond/modules/account/move.py", line 378, in cancel 
> >      default = self._cancel_default() 
> >    File "/trytond/modules/account/move.py", line 366, in _cancel_default 
> >      period_id = Period.find(self.company.id, date=date) 
> >    File "/trytond/model/modelstorage.py", line 1180, in __getattr__ 
> >      raise AttributeError('"%s" has no attribute "%s"' % (self, name)) 
> > AttributeError: "account.move,917422" has no attribute "company" 
> > 
> > 
> > Alguien sabe si me falta configurar algo para que funcione 
> adecuadamente? 
>
> Es extraño porqué se queja de que la empresa del apunte no esta definida 
> pero este campo es obligatorio, por lo que deberia estarlo. 
>
> Tienes alguna personalización? El usuario tiene permisos para acceder a 
> esta empresa? 
> > 
> > Gracias! 
> > Eduardo J. de la Garza G. 
> > 
> > 
> > 
>
>
> -- 
> Sergi Almacellas Abellana 
> www.koolpi.com 
> Twitter: @pokoli_srk 
>

Responder a