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 dichiarare la versione di Odoo a cui riferisce la domanda

ARGOMENTO: Verifica e inserimento ean13

Verifica e inserimento ean13 6 Anni 4 Mesi fa #8465

  • damocle83
  • Avatar di damocle83
  • Offline
  • Gold Boarder
  • Messaggi: 181
  • Karma: 0
Salve,
Ho la necessità di associare ad ogni prodotto un codice ean13.
Innanzi tutto vorrei sapere come fare a rendere questo campo necessario e ricercabile.

Esiste un metodo/modulo che verifichi ( alla creazione o modifica di un prodotto) la presenza del codice ean13 già utilizzato per evitare di creare n prodotti con lo stesso ean?
Grazie assai!;)
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Verifica e inserimento ean13 6 Anni 4 Mesi fa #8468

  • shakin89
  • Avatar di shakin89
  • Offline
  • Platinum Boarder
  • Messaggi: 388
  • Ringraziamenti ricevuti 7
  • Karma: 7
Ciao un modulo pronto non ci sta, ma puoi usare questo che ho fatto io per strutturare l'ean.
necessita di una libreria esterna che si chiama pybarcode.
Ti allego il codice che ho scritto. Io compongo il barcode dal codice fornitore + il default_code del prodotto.
Se ti servono criteri differenti modifica il codice qui di seguito:
class product_product(osv.osv):
    _inherit = 'product.product'

    def create(self, cr, uid, vals, context={}):
        if not vals['ean13'] and vals['default_code']:
            if len(vals['seller_ids']) > 0:
                code = unicode(vals['seller_ids'][0][2]['name']).rjust(5,'0') + unicode(vals['default_code']).rjust(7, '0')
            else:
                code = unicode(vals['default_code']).rjust(12, '0')
            vals['ean13'] = barcode.get_barcode('ean13', code).get_fullcode()
        return super(product_product, self).create(cr, uid, vals, context)

    def write(self, cr, uid, ids, vals, context={}):
        if len(ids) > 1:
            return super(product_product, self).write(cr, uid, ids, vals, context)
        product = self.pool.get('product.product')
        p = product.browse(cr, uid, ids[0], context)
        if 'ean13' not in vals or not vals['ean13']:
            if 'seller_ids' in vals:
                code = unicode(vals['seller_ids'][0][2]['name']).rjust(5,'0')
            elif len(p.seller_ids) > 0:
                code = unicode(p.seller_ids[0].id).rjust(5,'0')
            else:
                code = unicode('').rjust(5,'0')
            if 'default_code' in vals:
                code += unicode(vals['default_code']).rjust(7,'0')
            else:
                code += unicode(p.default_code).rjust(7,'0')
        vals['ean13'] = barcode.get_barcode('ean13', code).get_fullcode()
        return super(product_product, self).write(cr, uid, ids, vals, context)

product_product()
o per comodità
dpaste.com/hold/803633/
ciao fabrizio
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Verifica e inserimento ean13 6 Anni 4 Mesi fa #8477

  • damocle83
  • Avatar di damocle83
  • Offline
  • Gold Boarder
  • Messaggi: 181
  • Karma: 0
Shakin89 in realtà ho solo la necessità di verificare che sia univoco e vorrei recuperarlo dai prodotti veri e propri (es. cartuccia stampante).
Recupero comunque il tuo codice , anche per studiarlo. magari poi vedremo come integrare un lettore barcode.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Verifica e inserimento ean13 6 Anni 4 Mesi fa #8481

  • shakin89
  • Avatar di shakin89
  • Offline
  • Platinum Boarder
  • Messaggi: 388
  • Ringraziamenti ricevuti 7
  • Karma: 7
piu che studiarti il developer book ti consiglio di guardare il technical memento
(doc.openerp.com/v6.1/developer/14_append...ml#technical-memento)
è piu semplice e conciso.
in particolare guardati i _sql_constraint per verificare che sia univoco
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Verifica e inserimento ean13 6 Anni 4 Mesi fa #8482

  • damocle83
  • Avatar di damocle83
  • Offline
  • Gold Boarder
  • Messaggi: 181
  • Karma: 0
shakin89 ha scritto:
piu che studiarti il developer book ti consiglio di guardare il technical memento ...
ci stavo già sbattendo la testa!:laugh:
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Verifica e inserimento ean13 6 Anni 4 Mesi fa #8485

  • shakin89
  • Avatar di shakin89
  • Offline
  • Platinum Boarder
  • Messaggi: 388
  • Ringraziamenti ricevuti 7
  • Karma: 7
se devi fare qualcosa di più complesso dove il technical memento non arriva allora poi puoi passare al developer book, anche se non è fatto tutto sto granchè!!! :-)
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.141 secondi

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

Protected by R Antispam