Skip to Content
Odoo Menú
  • Registra entrada
  • Prova-ho gratis
  • Aplicacions
    Finances
    • Comptabilitat
    • Facturació
    • Despeses
    • Full de càlcul (IA)
    • Documents
    • Signatura
    Vendes
    • CRM
    • Vendes
    • Punt de venda per a botigues
    • Punt de venda per a restaurants
    • Subscripcions
    • Lloguer
    Imatges de llocs web
    • Creació de llocs web
    • Comerç electrònic
    • Blog
    • Fòrum
    • Xat en directe
    • Aprenentatge en línia
    Cadena de subministrament
    • Inventari
    • Fabricació
    • PLM
    • Compres
    • Manteniment
    • Qualitat
    Recursos humans
    • Empleats
    • Reclutament
    • Absències
    • Avaluacions
    • Recomanacions
    • Flota
    Màrqueting
    • Màrqueting Social
    • Màrqueting per correu electrònic
    • Màrqueting per SMS
    • Esdeveniments
    • Automatització del màrqueting
    • Enquestes
    Serveis
    • Projectes
    • Fulls d'hores
    • Servei de camp
    • Suport
    • Planificació
    • Cites
    Productivitat
    • Converses
    • Validacions
    • IoT
    • VoIP
    • Coneixements
    • WhatsApp
    Aplicacions de tercers Odoo Studio Plataforma d'Odoo al núvol
  • Sectors
    Comerç al detall
    • Llibreria
    • Botiga de roba
    • Botiga de mobles
    • Botiga d'ultramarins
    • Ferreteria
    • Botiga de joguines
    Food & Hospitality
    • Bar i pub
    • Restaurant
    • Menjar ràpid
    • Guest House
    • Distribuïdor de begudes
    • Hotel
    Immobiliari
    • Agència immobiliària
    • Estudi d'arquitectura
    • Construcció
    • Gestió immobiliària
    • Jardineria
    • Associació de propietaris de béns immobles
    Consultoria
    • Empresa comptable
    • Partner d'Odoo
    • Agència de màrqueting
    • Bufet d'advocats
    • Captació de talent
    • Auditoria i certificació
    Fabricació
    • Textile
    • Metal
    • Mobles
    • Menjar
    • Brewery
    • Regals corporatius
    Salut i fitness
    • Club d'esport
    • Òptica
    • Centre de fitness
    • Especialistes en benestar
    • Farmàcia
    • Perruqueria
    Trades
    • Servei de manteniment
    • Hardware i suport informàtic
    • Sistemes d'energia solar
    • Shoe Maker
    • Serveis de neteja
    • Instal·lacions HVAC
    Altres
    • Nonprofit Organization
    • Agència del medi ambient
    • Lloguer de panells publicitaris
    • Fotografia
    • Lloguer de bicicletes
    • Distribuïdors de programari
    Browse all Industries
  • Comunitat
    Aprèn
    • Tutorials
    • Documentació
    • Certificacions
    • Formació
    • Blog
    • Pòdcast
    Potenciar l'educació
    • Programa educatiu
    • Scale-Up! El joc empresarial
    • Visita Odoo
    Obtindre el programari
    • Descarregar
    • Comparar edicions
    • Novetats de les versions
    Col·laborar
    • GitHub
    • Fòrum
    • Esdeveniments
    • Traduccions
    • Converteix-te en partner
    • Services for Partners
    • Registra la teva empresa comptable
    Obtindre els serveis
    • Troba un partner
    • Troba un comptable
    • Contacta amb un expert
    • Serveis d'implementació
    • Referències del client
    • Suport
    • Actualitzacions
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Programar una demo
  • Preus
  • Ajuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Comptabilitat
  • Inventari
  • PoS
  • Projectes
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Etiquetes (View all)
odoo accounting v14 pos v15
About this forum
Ajuda

Add method on invoice validation workflow - Odoo 8

Subscriure's

Get notified when there's activity on this post

This question has been flagged
workflowinvoiceodoo-8
8 Respostes
9961 Vistes
Avatar
Alejandro Perez Cosio

Hello, 

I need to add some auto-calculated values to the invoice when the user validates it but I'm not sure how to embed my 'custom_module' which has the news fields and methods in the invoice workflow from the code.

I found that account_invoice_workflow.xml calls action_date_assign(), action_move_create(), action_number(), invoice_validate() which changes some values which I need to calculate my new fields.

So, basically I need to overwite the invoices workflow to add my set_new_values() method from my custom module when the user presses the validate button. Do you know how can I do that?

Thank you for your time and responses.

Best regards
Alejandro

 

0
Avatar
Descartar
Avatar
Zbik
Best Answer

You inherit, in your module, class account_invoice, like this:

class account_invoice(osv.osv):
    _inherit = 'account.invoice'
    
    def set_new_values(self, cr, uid, ids, context=None):
        ....
        return ...
    
    def invoice_validate(self, cr, uid, ids, context=None):
        self.set_new_values(cr, uid, ids, context=context)
        return super(account_invoice,self).invoice_validate(cr, uid, ids, context=context)

 

or like this, dependent on what is to be first
        
        
    def invoice_validate(self, cr, uid, ids, context=None):
        super(account_invoice,self).invoice_validate(cr, uid, ids, context=context)
        return self.set_new_values(cr, uid, ids, context=context)
        

 

1
Avatar
Descartar
Alejandro Perez Cosio
Autor

Hello zbik, I tried with your code with a "print '>>>>UPDATE VALUES

Alejandro Perez Cosio
Autor

Sorry, the last comment was wrongly posted. I got the following python error: global name 'account_invoice' is not defined. Which should be the value for account_invoice?

Zbik

Hmmm, strange. You have, in your module, in __openerp__.py: 'depends': [ 'account' ],

Alejandro Perez Cosio
Autor

Yes, I have account as a dependency, do you know how to import that class into my custom module?

Zbik

My class header: import time import openerp.addons.decimal_precision as dp from openerp import models, fields, api, _ from openerp.osv import fields, osv import openerp.exceptions import logging _logger = logging.getLogger(__name__)

Alejandro Perez Cosio
Autor

I solved it.. I was wrongly referencing another class.. Thank you to be patient zbit! your response worked for me

Avatar
Estudios, Procesos y Sistemas
Best Answer


Try this

This code works for us :)

def invoice_validate(self, cr, uid, ids, context=None):
    for invoice in self.browse(cr, uid, ids, context=context):
        try:
            if not invoice.custom_field:
                raise openerp.exceptions.Warning("Custom error")
        except ValueError:
            raise openerp.exceptions.Warning("Custom")
    super(account_invoice,self).invoice_validate(cr, uid, ids, context=context)

0
Avatar
Descartar
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Registrar-se
Related Posts Respostes Vistes Activitat
Account.invoice customization Solved
purchase workflow invoice
Avatar
Avatar
Avatar
2
de set. 17
6482
Transition in the workflow doesn't work - Recreate an invoice per percentage after canceled the old one
workflow invoice transition
Avatar
1
de juny 16
5116
Modifying sale.order workflow to skip invoice
workflow invoice sale
Avatar
0
de març 15
6778
How to register POS invoice payment
invoice pos payment odoo-8
Avatar
Avatar
Avatar
Avatar
Avatar
9
de març 17
10842
How do I bring my workflow from OpenOffice Draw to OpenERP?
workflow invoice openoffice testsystem
Avatar
Avatar
1
de març 15
5497
Community
  • Tutorials
  • Documentació
  • Fòrum
Codi obert
  • Descarregar
  • GitHub
  • Runbot
  • Traduccions
Serveis
  • Allotjament a Odoo.sh
  • Suport
  • Actualització
  • Desenvolupaments personalitzats
  • Educació
  • Troba un comptable
  • Troba un partner
  • Converteix-te en partner
Sobre nosaltres
  • La nostra empresa
  • Actius de marca
  • Contacta amb nosaltres
  • Llocs de treball
  • Esdeveniments
  • Pòdcast
  • Blog
  • Clients
  • Informació legal • Privacitat
  • Seguretat
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo és un conjunt d'aplicacions empresarials de codi obert que cobreix totes les necessitats de la teva empresa: CRM, comerç electrònic, comptabilitat, inventari, punt de venda, gestió de projectes, etc.

La proposta única de valor d'Odoo és ser molt fàcil d'utilitzar i estar totalment integrat, ambdues alhora.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now