Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami
Ricordati di inserire la versioni di Odoo per cui poni la domanda

ARGOMENTO: [SOLVED] Server Action

Re:Server Action 8 Anni 11 Mesi fa #1776

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
Mi ricordi di preciso cosa devi fare?

PS: istruzioni SQL è meglio evitarle, dovresti usare le api di openobject per leggere e scrivere
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Server Action 8 Anni 11 Mesi fa #1777

  • outs
  • Avatar di outs
  • Offline
  • Senior Boarder
  • Messaggi: 58
  • Karma: 0
Dovrei prendere il valore di ean13 e trasformarlo in una stringa decodificata x_ean_decoded in base ad alcune tabelle di conversione (le liste all'inizio) in modo che possa essere graficamente rappresentato con dei ttf

Non uso un campo function perchè inserisco massivamente anche 450 prodotti alla volta e preferisco fargli fare le operazioni di decodifica di notte.

All'interno della classe product_product aggiungo:
    def product_eandecode(self, cr, uid, *args):
        _sxmatrix={
      	        "0": (0,0,0,0,0,0),
    	        "1": (0,0,1,0,1,1),
    	        "2": (0,0,1,1,0,1),
    	        "3": (0,0,1,1,1,0),
    	        "4": (0,1,0,0,1,1),
    	        "5": (0,1,1,0,0,1),
    	        "6": (0,1,1,1,0,0),
    	        "7": (0,1,0,1,0,1),
    	        "8": (0,1,0,1,1,0),
    	        "9": (0,1,1,0,1,0)
            }
		#cifre da 2 a 7
        _sx = [   ["A", "B", "C", "D",
	                "E", "F", "G", "H",
	                "I", "J",
	                ],  #se è 0
	                ["K", "L", "M", "N",
	                "O", "P", "Q", "R",
	                "S", "T"],  #se è 1
	            ]
	#cifre da 2 a 7	
         _dx = ["a", "b", "c", "d",
	            "e", "f", "g", "h",
	            "i", "j"]
        cr.execute('select ean13 from product_product')
        change = cr.fetchall()
        for e in change:
    	    d = str(e[0])
    	    r="*"
    	    c = _sxmatrix[e[0]]
    	    l=e[1:7]
    	    for i in range(7, 13):
    	    	m=str(_dx[int(e[i])])
    	    	r=r+m
    	    else:
    	    	r=r+"+"
    	    for i in range (1,7):
    	    	y = str(_sx[c[i-1]][int(l[i-1])])
    	    	d = d+y	
      	    else:	
        		d=d+r		
            cr.execute("update product_product set x_ean_decoded=%s where ean13=%s", (d, e))
        else:
            return ()

e poi lancio product_eandecode() da ir.cron

ma non funziona.
magari con self.read e self.write cambia qualcosa?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Server Action 8 Anni 11 Mesi fa #1780

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
a parte come è scritto il medoto...dovrebbe comunque eseguirlo.

metti un pdb nel metodo per vedere se ci passa
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Server Action 8 Anni 11 Mesi fa #1783

  • outs
  • Avatar di outs
  • Offline
  • Senior Boarder
  • Messaggi: 58
  • Karma: 0
> /usr/lib/python2.5/site-packages/openerp-server/addons/product/product.py(590)product_eandecode()
-> c = _sxmatrix[e[0]]

non so?!?!
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Server Action 8 Anni 11 Mesi fa #1784

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
scrivere "python pdb" su google era sicuramente più veloce che chiedere aiuto qui ;-)

btw, n [invio] e vai avanti, magari ti avviserà di qualche errore.
Se non dice nulla dovresti vedere il tuo campo aggiornato su db
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Server Action 8 Anni 11 Mesi fa #1785

  • outs
  • Avatar di outs
  • Offline
  • Senior Boarder
  • Messaggi: 58
  • Karma: 0
non capisco bene cosa intendi ma lanciando openerp-server --debug
dopo che mi connetto mi da questo errore che dettaglio con w invio

(Pdb) w
/usr/lib/python2.5/threading.py(462)__bootstrap()
-> self.__bootstrap_inner()
/usr/lib/python2.5/threading.py(486)__bootstrap_inner()
-> self.run()
/usr/lib/python2.5/site-packages/openerp-server/netsvc.py(377)run()
-> result = self.dispatch(msg[0], msg[1], msg[2:])
/usr/lib/python2.5/site-packages/openerp-server/netsvc.py(256)dispatch()
-> pdb.post_mortem(tb[2])
/usr/lib/python2.5/site-packages/openerp-server/netsvc.py(73)__call__()
-> return getattr(self, method)(*params)
/usr/lib/python2.5/site-packages/openerp-server/service/web_services.py(581)execute()
-> security.check(db, uid, passwd)
/usr/lib/python2.5/site-packages/openerp-server/service/security.py(51)check()
-> cr = pooler.get_db(db).cursor()
/usr/lib/python2.5/site-packages/openerp-server/pooler.py(77)get_db()
-> return get_db_and_pool(db_name)[0]
/usr/lib/python2.5/site-packages/openerp-server/pooler.py(54)get_db_and_pool()
-> pool.get('ir.cron')._poolJobs(db.dbname)
/usr/lib/python2.5/site-packages/openerp-server/addons/base/ir/ir_cron.py(108)_poolJobs()
-> cr.close()
/usr/lib/python2.5/site-packages/openerp-server/addons/base/ir/ir_cron.py(73)_callback()
-> f(cr, uid, *args)
> /usr/lib/python2.5/site-packages/openerp-server/addons/product/product.py(591)product_eandecode()
-> c = _sxmatrix[e[0]]



non capisco dove sia l'errore è una lista che gli do io
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.131 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam