sábado, 9 de dezembro de 2017

Error: cannot call methods on autocomplete prior to initialization; attempted to call method 'widget'

Error: cannot call methods on autocomplete prior to initialization; attempted to call method 'widget'

Tinha criado um campo para calcular o total de Lançamentos e este campo estava gerando este erro :

update_price_count = fields.Integer(compute='_compute_update_price', string='Definir Preços', default=0)

Retirei este campo e tudo voltou ao normal

sexta-feira, 17 de fevereiro de 2017

Uncaught Error: QWeb2: Template 'mail.chat.MessagingMenu' not found - Odoo not show menu

http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:2908
Traceback:
Error: QWeb2: Template 'mail.chat.MessagingMenu' not found
at Object.QWeb2.tools.exception (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:2908:7)
at Engine.QWeb2.Engine.QWeb2.tools.extend._render (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:2952:103)
at Engine.QWeb2.Engine.QWeb2.tools.extend.render (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:2948:151)
at OdooClass.core.Class.extend.renderElement (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:3112:1073)
at http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:3112:917
at http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:547:681
at fire (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:541:299)
at Object.self.add [as done] (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:542:467)
at Array. (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:547:649)
at Function.jQuery.extend.each (http://200.98.136.149:49069/web/content/538-8e2bebe/web.assets_common.js:370:767)

Isto acontece porque o User do bd não é o informado no odoo:

psql: \l
databasex | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |

ALTER DATABASE datasex OWNER TO odoo;

quarta-feira, 23 de novembro de 2016

return compile(source, filename, mode, PyCF_ONLY_AST) File "", line 0 SyntaxError: unexpected EOF while parsing

File "/usr/lib/python2.7/ast.py", line 37, in parse

return compile(source, filename, mode, PyCF_ONLY_AST)

File "", line 0


^

SyntaxError: unexpected EOF while parsing



Solução para isto :


Coloquei no arquivo /home/publico/desenv/odoo/odoo10/OCB/odoo/http.py

(../odoo10/OCB/odoo/http.py", line 1321, in load_addons)


#um print na linha 1320

¦ if manifest_path and os.path.isdir(path_static):

¦ ¦ print manifest_path # AQUI


para descobrir onde era meu problema:

br_sale/__manifest__.py # estava vazio este arquivo, e este módulo já estava instalado, eu me atrapalhei com o git




quinta-feira, 10 de março de 2016

Você não pode cancelar uma linha do pedido de vendas que já foi faturado.

Para pedidos que por algum motivo não gerou a fatura, para Cancelar e Excluir, e necessário , limpar o campo invoiced na tabela sale_order_line :

select invoiced from sale_order_line where create_date > '2016-03-09 23:00:00';

update sale_order_line set invoiced = null where  order_id = 7603;

fazendo isso , é só cancelar e excluir o pedido.

terça-feira, 23 de fevereiro de 2016

urllib2: urlopen error _ssl.c:320: Invalid SSL protocol variant specified.


 urllib2.URLError: <urlopen error _ssl.c:320: Invalid SSL protocol variant specified.>

  File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 521, in __call__
    return client.invoke(args, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 761, in invoke
    return self.send(_parse(msg))
  File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 613, in send
    reply = self.options.transport.send(request)
  File "/usr/local/lib/python2.7/dist-packages/suds/transport/http.py", line 82, in send
    fp = self.u2open(u2request)
  File "http_conultaCnpj.py", line 224, in u2open
    return url.open(u2request, timeout=tm)
  File "/usr/lib/python2.7/urllib2.py", line 404, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 422, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "http_conultaCnpj.py", line 196, in https_open
    return self.do_open(self.getConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1184, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error _ssl.c:320: Invalid SSL protocol variant specified.>
Exception AttributeError: "'NoneType' object has no attribute 'path'" in <function _remove at 0x7f0020003668> ignored

Este erro acontece, devido a isto:

     self._finalizar_cripto()

    def _finalizar_cripto(self):
        xmlsec.cryptoShutdown()
        xmlsec.cryptoAppShutdown()
        xmlsec.shutdown()

        libxml2.cleanupParser()

quinta-feira, 4 de fevereiro de 2016

Odoo - Inativar o Contato ao Inativar a empresa principal - onchange

@api.onchange('active')                                                     
     def active_partner(self):                                                   
         if not self.active:                                                     
             for child in self.child_ids:                                        
                 child.write({'active': False })                                 
         return {'value' : {}, }

Como usar Certificado digital A1 com autenticação via suds python

Origem: http://preaks.weebly.com/bloggy/how-to-use-client-certificate-authentication-with-suds

Extraindo a chave do certificado:

openssl pkcs12 -nocerts -in ClientCert.p12 -out key.pem

Extraindo o certificado:

openssl pkcs12 -clcerts -nokeys -in ClientCert.p12 -out cert.pem

Removendo passphrase da chave:


openssl.exe rsa -in key.pem -out key_nopass.pem

 

TestaConexao.py

  import requests                                                      
  from suds.client import Client                                                 
  from suds.transport.http import HttpAuthenticated                              
  from suds.transport import Reply, TransportError                               
                                                                                   
                                                                                   
  class RequestsTransport(HttpAuthenticated):                                    
                                                                                   
      def __init__(self, **kwargs):                                              
          self.cert = kwargs.pop('cert', None)                                   
          HttpAuthenticated.__init__(self, **kwargs)                             
                                                                                  
      def send(self, request):                                                   
          self.addcredentials(request)                                           
          resp = requests.post(                                                  
              request.url,                                                       
              data=request.message,                                              
              headers=request.headers,                                           
              cert=self.cert,                                                    
              verify=True                                                        
          )                                                                      
          result = Reply(resp.status_code, resp.headers, resp.content)           
          return result                                                          
                                                                                  
 t = RequestsTransport(cert=('/opt/certificado/cert.pem',
                                '/opt/certificado/key.pem'))
 headers = {"Content-Type": "text/xml;charset=UTF-8", "SOAPAction": ""}         
 #import pudb;pu.db                                                              
 wsdl_url = 'https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx?WSDL'             
 client = Client(wsdl_url, transport=t)