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
  • Pagina:
  • 1
  • 2

ARGOMENTO: Sequence personalizzate... queste sconosciute

Sequence personalizzate... queste sconosciute 8 Anni 6 Mesi fa #2703

  • domfitty
  • Avatar di domfitty
  • Offline
  • Junior Boarder
  • Messaggi: 25
  • Karma: 0
Salve a tutti, vorrei chiedervi alcuni chiarimenti in merito alle sequenze che è possibile creare dal menu amministrazione --> configurazione --> sequenze

Come si invocano una volta create?

Vi espongo la mia esigenza.

Ho necessità di creare un codice personalizzato per l'entità prodotto che sia autogenerato e fatto nel seguente modo:

PREFISSO - numero autoincrementante - SUFFISSO

Avevo immaginato 2 alternative:

1. Creare un campo aggiuntivo che contenesse la concatenazione del PREFISSO, dell'id (autogenerato dal db mediante sequence) e SUFFISSO
2. Utilizzare le sequence interne dell'applicativo.

Mi sono arenato su tutt'e 2 le scelte"" ;) Qualcuno che riesce ad aiutarmi? :)

Anticipatamente grazie
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Sequence personalizzate... queste sconosciute 8 Anni 6 Mesi fa #2704

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
le sequence sono nate proprio per questo, quindi penso sia conveniente usarle.

Tieni solo presente che, nel momento in cui il nuovo progressivo viene allocato, non torna indietro se ad esempio clicchi su annulla. ovvero...
Se clicchi su "nuovo prodotto" e lui ti mostra il nuovo codice, ma poi non salvi il prodotto, quel codice è andato e al prodotto successivo ti troverai un buco
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:Sequence personalizzate... queste sconosciute 8 Anni 6 Mesi fa #2705

  • domfitty
  • Avatar di domfitty
  • Offline
  • Junior Boarder
  • Messaggi: 25
  • Karma: 0
Grazie della celere risposta. Domanda: una volta creata (e lì c'ero già arrivato) come la invoco? Dalle proprietà del campo?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Sequence personalizzate... queste sconosciute 8 Anni 6 Mesi fa #2706

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
purtroppo non è nulla si "collegabile" al volo.

devi ed esempio aggiungerlo al dizionario _defaults della classe, associando il tuo campo a qualcosa come self.pool.get('ir.sequence').get(cr, uid, 'mia.sequence')
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:Sequence personalizzate... queste sconosciute 8 Anni 6 Mesi fa #2707

  • domfitty
  • Avatar di domfitty
  • Offline
  • Junior Boarder
  • Messaggi: 25
  • Karma: 0
Grazie, ti faccio sapere com'è andata :-))))
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Sequence personalizzate... queste sconosciute 8 Anni 6 Mesi fa #2708

  • domfitty
  • Avatar di domfitty
  • Offline
  • Junior Boarder
  • Messaggi: 25
  • Karma: 0
Allora, dopo un pomeriggio di smanettamenti ecco i risultati:

Premessa:

- ho creato una sequence chiamata "Prodotto" e avente id 22 nella tabella ir.sequence
- ho creato un campo chiamato test_code nella tabella product_product

Ho modificato come segue il file product.py
def create(self, cr, uid, vals, context={}):
      seq_id = self.pool.get('ir.sequence').search(cr, uid, [('name','=','Prodotto')])[0] # put whatever name you have
      seq_number = self.pool.get('ir.sequence').get_id(cr, uid, seq_id, 'id=%s')
      vals['number'] = seq_number
      return super(product.product, self).create(cr, uid, vals, context)

def write(self, cr, uid, ids, vals, context={}):
      record = self.browse(cr, uid, ids)[0]
      if not record.number or record.number == None:
         seq_id = self.pool.get('ir.sequence').search(cr, uid, [('name','=','Prodotto')])[0] # put whatever name you have
         seq_number = self.pool.get('ir.sequence').get_id(cr, uid, seq_id, 'id=%s')
         vals['number'] = seq_number
         return super(product.product, self).write(cr, uid, ids, vals, context)
      return super(product.product, self).write(cr, uid, ids, vals, context)

e ho aggiunto la seguente riga al _default
'test_code': lambda self,cr,uid,context: self.pool.get('ir.sequence').get(cr, uid, 'product.product'),

Risultato?

Il campo test_code non viene popolato, mentre viene valorizzato ed incrementato un'altro campo chiamato default_code!!!!! ;) ;) ;) ;)
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.154 secondi

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

Protected by R Antispam