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: BOTTONE ANNULLA SU ORDINI DI ACQUISTO

BOTTONE ANNULLA SU ORDINI DI ACQUISTO 2 Anni 8 Mesi fa #24184

  • wisdom
  • Avatar di wisdom
  • Offline
  • Senior Boarder
  • Messaggi: 71
  • Ringraziamenti ricevuti 1
  • Karma: 0
Salve a tutti

per un ordine di acquisto confermato non riesco ad ANNULLARE per poter modificare l'ordine.
Pur premendo il BOTTONE ANNULLA non succede nulla e mi chiedevo se è capitato a qualcuno di voi e se ha capito da cosa dipende.

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

BOTTONE ANNULLA SU ORDINI DI ACQUISTO 2 Anni 8 Mesi fa #24185

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Dovresti die quale versione di Odoo stai usando.
Sulla 7.0 ho rilevato un bug che in alcuni casi non scrive l'ordine di acquisto.
Sino ad oggi credevo fosse un problema della mia versione ma forse è qualcosa di più.

Se hai la 7.0 puoi dare un'occhiata al file /ODOO_PATH/addons/purchase/purchase.py (dove ODOO_PATH è la directory dove è installato Odoo).
Intorno a riga 630 dovresti trovare qualcosa di simile:
            for inv in purchase.invoice_ids:
                if inv and inv.state not in ('cancel','draft'):
                    raise osv.except_osv(
                        _('Unable to cancel this purchase order.'),
                        _('You must first cancel all receptions related to this purchase order.'))
                if inv:
                    wf_service.trg_validate(uid, 'account.invoice', inv.id, 'invoice_cancel', cr)
            self.pool['purchase.order.line'].write(cr, uid, [l.id for l in  purchase.order_line],
                    {'state': 'cancel'})
        # [antoniov: 2015-11-12] cancel did not work, added write
        self.write(cr,uid,ids,{'state':'cancel'})
Le riga dopo il commento [antoniov] l'ho aggiunta io nella mia versione. Potresti provare ad inserire il codice e vedere se così ti funziona.

ATTENZIONE!
Fatti un copia del DB, per sicurezza.

Per favore, fornisci un feedback che potrebbe essere utile alla Community

Grazie
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

BOTTONE ANNULLA SU ORDINI DI ACQUISTO 2 Anni 8 Mesi fa #24186

  • wisdom
  • Avatar di wisdom
  • Offline
  • Senior Boarder
  • Messaggi: 71
  • Ringraziamenti ricevuti 1
  • Karma: 0
Hai ragione scusa, la versione è ODOO 8.0
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

BOTTONE ANNULLA SU ORDINI DI ACQUISTO 2 Anni 8 Mesi fa #24187

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Partendo dal presupposto che l'errore sia lo stesso della 7.0, il punto di modifca dovrebbe essere intorno a riga 741
    def action_cancel(self, cr, uid, ids, context=None):
        for purchase in self.browse(cr, uid, ids, context=context):
            for pick in purchase.picking_ids:
                for move in pick.move_lines:
                    if pick.state == 'done':
                        raise osv.except_osv(
                            _('Unable to cancel the purchase order %s.') % (purchase.name),
                            _('You have already received some goods for it.  '))
            self.pool.get('stock.picking').action_cancel(cr, uid, [x.id for x in purchase.picking_ids if x.state != 'cancel'], context=context)
            for inv in purchase.invoice_ids:
                if inv and inv.state not in ('cancel', 'draft'):
                    raise osv.except_osv(
                        _('Unable to cancel this purchase order.'),
                        _('You must first cancel all invoices related to this purchase order.'))
            self.pool.get('account.invoice') \
                .signal_workflow(cr, uid, map(attrgetter('id'), purchase.invoice_ids), 'invoice_cancel')
            # qui dovrebbe essere inserita la patch
        self.signal_workflow(cr, uid, ids, 'purchase_cancel')
        return True

Questa però è soltanto un'ipotesi, non ho certezze.
Sei hai conoscenze di python e hai voglia di provare potresti:
1.Fare backup del DB
2.Inserire la modifica che ho segnalato nella 7.0
3.Riavviare il servizio
4.Provare ad annullare l'ordine

Se non te la senti posso provare io sulla 8.0 ma oggi non riesco proprio, dovresti aspattere sino a lunedì
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.160 secondi

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

Protected by R Antispam