Ir al contenido
Odoo Menú
  • Iniciar sesión
  • Pruébalo gratis
  • Aplicaciones
    Finanzas
    • Contabilidad
    • Facturación
    • Gastos
    • Hoja de cálculo (BI)
    • Documentos
    • Firma electrónica
    Ventas
    • CRM
    • Ventas
    • PdV para tiendas
    • PdV para restaurantes
    • Suscripciones
    • Alquiler
    Sitios web
    • Creador de sitios web
    • Comercio electrónico
    • Blog
    • Foro
    • Chat en vivo
    • eLearning
    Cadena de suministro
    • Inventario
    • Manufactura
    • PLM
    • Compras
    • Mantenimiento
    • Calidad
    Recursos humanos
    • Empleados
    • Reclutamiento
    • Vacaciones
    • Evaluaciones
    • Referencias
    • Flotilla
    Marketing
    • Redes sociales
    • Marketing por correo
    • Marketing por SMS
    • Eventos
    • Automatización de marketing
    • Encuestas
    Servicios
    • Proyectos
    • Registro de horas
    • Servicio externo
    • Soporte al cliente
    • Planeación
    • Citas
    Productividad
    • Conversaciones
    • Aprobaciones
    • IoT
    • VoIP
    • Artículos
    • WhatsApp
    Aplicaciones externas Studio de Odoo Plataforma de Odoo en la nube
  • Industrias
    Venta minorista
    • Librería
    • Tienda de ropa
    • Mueblería
    • Tienda de abarrotes
    • Ferretería
    • Juguetería
    Alimentos y hospitalidad
    • Bar y pub
    • Restaurante
    • Comida rápida
    • Casa de huéspedes
    • Distribuidora de bebidas
    • Hotel
    Bienes inmuebles
    • Agencia inmobiliaria
    • Estudio de arquitectura
    • Construcción
    • Gestión de bienes inmuebles
    • Jardinería
    • Asociación de propietarios
    Consultoría
    • Firma contable
    • Partner de Odoo
    • Agencia de marketing
    • Bufete de abogados
    • Adquisición de talentos
    • Auditorías y certificaciones
    Manufactura
    • Textil
    • Metal
    • Muebles
    • Comida
    • Cervecería
    • Regalos corporativos
    Salud y ejercicio
    • Club deportivo
    • Óptica
    • Gimnasio
    • Especialistas en bienestar
    • Farmacia
    • Peluquería
    Trades
    • Personal de mantenimiento
    • Hardware y soporte de TI
    • Sistemas de energía solar
    • Zapateros y fabricantes de calzado
    • Servicios de limpieza
    • Servicios de calefacción, ventilación y aire acondicionado
    Otros
    • Organización sin fines de lucro
    • Agencia para la protección del medio ambiente
    • Alquiler de anuncios publicitarios
    • Fotografía
    • Alquiler de bicicletas
    • Distribuidor de software
    Descubre todas las industrias
  • Odoo Community
    Aprende
    • Tutoriales
    • Documentación
    • Certificaciones
    • Capacitación
    • Blog
    • Podcast
    Fortalece la educación
    • Programa educativo
    • Scale Up! El juego empresarial
    • Visita Odoo
    Obtén el software
    • Descargar
    • Compara ediciones
    • Versiones
    Colabora
    • GitHub
    • Foro
    • Eventos
    • Traducciones
    • Conviértete en partner
    • Servicios para partners
    • Registra tu firma contable
    Obtén servicios
    • Encuentra un partner
    • Encuentra un contador
    • Contacta a un consultor
    • Servicios de implementación
    • Referencias de clientes
    • Soporte
    • Actualizaciones
    GitHub YouTube Twitter LinkedIn Instagram Facebook Spotify
    +1 (650) 691-3277
    Solicita una demostración
  • Precios
  • Ayuda

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

  • CRM
  • e-Commerce
  • Contabilidad
  • Inventario
  • PoS
  • Proyectos
  • MRP
All apps
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Ayuda

onchange method not working

Suscribirse

Reciba una notificación cuando haya actividad en esta publicación

Se marcó esta pregunta
v7sale.order.formonchange
3 Respuestas
15050 Vistas
Avatar
Sam path

Hi all,

I've created a masters for a terms and conditions. My-module.py

class tc_name(osv.osv): _name = 'tc.name'

def name_get(self, cr, uid, ids, context=None):
  res = []
  for code_obj in self.browse(cr, uid, ids, context=context):
      tc_name = code_obj.tc_name
      res.append((code_obj.id, tc_name))
  return res

_columns = {
            'tc_name': fields.char('Terms & Condition', size=150),
            'tc_desc': fields.text('Description')
            }

tc_name()

my_module.xml

<record id="view_tc_name_form" model="ir.ui.view">
    <field name="name">view.tc.name.form</field>
    <field name="model">tc.name</field>
    <field name="arch" type="xml">
        <form string="Terms and Conditions" version="7.0">
            <sheet>
                <group>
                    <group>
                        <field name="tc_name" strin="Terms and Condition" required="True"/>
                        <field name="tc_desc" required="True"/>
                    </group>
                </group>
            </sheet>
        </form>
    </field>
</record>

<record id="view_tc_name_tree" model="ir.ui.view">
    <field name="name">view.tc.name.tree</field>
    <field name="model">tc.name</field>
    <field name="arch" type="xml">
        <tree string="Terms and Conditions" version="7.0">
            <field name="tc_name" string="Terms and conditions"/>
        </tree>
    </field>
</record>

<record id="action_tc_name" model="ir.actions.act_window">
    <field name="name">Terms and Conditions</field>
    <field name="type">ir.actions.act_window</field>
    <field name="res_model">tc.name</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
    <field name="view_id" ref="view_tc_name_tree"/>
</record>

<menuitem id="menu_tc_name_config" action="action_tc_name" name="Terms and Conditions" parent="base.menu_base_config" sequence="6"/>

this is working fine.

  • my_module.py

class extra_fields(osv.osv):

_inherit = "sale.order"
_columns = {
    'tc_name': fields.many2one('tc.name','Terms and Condition'),
    'tc_desc': fields.text('Description')
    }

def onchange_tc_name(self, cr, uid, ids, tc_name):
    v={}
    if tc_name:
        tc = self.pool.get('tc.name').browse(cr, uid, tc_name)
        v['tc_desc'] = tc.tc_desc
        return{'value':v}

my_module.xml

<record model="ir.ui.view" id="extra_fields_sale_order">
    <field name="name">sale.order.form</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_form" />
    <field name="arch" type="xml">
        <group name='sale_total' position='after'>
            <group string="Terms and Conditions">
                <field name="tc_name" string="T & C" widget="selection" onchange="onchange_tc_name(tc_name, tc_desc, context)"/>
                <field name="tc_desc" string="Description"/>
            </group>
        </group>
    </field>
</record>

The master wosks fine and even it pull downs in sale order view but the onchange method does'nt work. I need the description of the terms and condition master to populate one the description field in sale order on change of terms and condition selected. Can anyone help me out?

0
Avatar
Descartar
Sam path
Autor

Sorry i forgot to mention another thing can I edit the description field on sale order view after the onchange method executes

Avatar
René Schuster
Mejor respuesta

In your .xml file use on_change="..." attribute instead of onchange="...".

Also, follow the advise of senthil and double check your function parameters.

Regards.

post scriptum: Yes, you can change the description field. But whenever you change tc_name the on_change method will be triggered and replace the description.

3
Avatar
Descartar
Sam path
Autor

Thanks a lot Rene it worked for me..!

Sam path
Autor

Hi Rene, I have an another issue can you please help me out in that. The link is http://help.openerp.com/question/51091/filter-on-many2many-fields

Avatar
Jagdish Panchal
Mejor respuesta

HI,

Try this code

def onchange_tc_name(self, cr, uid, ids, tc_name):
    v={}
    if tc_name:
        tc_name_id = self.pool.get('tc.name').search(cr, uid,[('tc_name','=',tc_name)])
        for tc_name_data in self.pool.get('tc.name').browse(cr, uid, c_name_id):
            v = { 'tc_desc': tc_name_data.tc_desc}

    return{'value':v}
1
Avatar
Descartar
Senthilnathan

i think both v['tc_desc'] = tc.tc_desc & v = { 'tc_desc': tc.tc_desc}

Sam path
Autor

It doesn't work i tried both your answer but the data doesn't fetches.

Jagdish Panchal

I have update answer pls try it.

Avatar
Senthilnathan
Mejor respuesta

I think parameter problem

def onchange_tc_name(self, cr, uid, ids, tc_name):

See you have only one paramter in the py file

and try to pass three parameters

<field name="tc_name" string="T & C" widget="selection" on_change="onchange_tc_name(tc_name, tc_desc, context)"/>

Change it like this and check

<field name="tc_name" string="T & C" widget="selection" on_change="onchange_tc_name(tc_name)"/>

If there is problem again check ur server log post it here

1
Avatar
Descartar
Sam path
Autor

this doesn't work but there is no error displayed

¿Le interesa esta conversación? ¡Participe en ella!

Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.

Registrarse
Publicaciones relacionadas Respuestas Vistas Actividad
Preventing On change recursion
v7 onchange
Avatar
1
mar 15
6255
In the onchange function the readonly fields are not working
v7 readonly onchange
Avatar
Avatar
1
mar 15
8894
on_change inside linked one2many class
one2many v7 onchange
Avatar
Avatar
1
mar 15
5265
How to trigger function on object write? Resuelto
addon v7 orm onchange
Avatar
Avatar
Avatar
Avatar
4
jun 20
27989
How to edit sales.order.form to work with inline editing in the product grid?
product v7 sale.order.form grid
Avatar
Avatar
1
may 17
10581
Comunidad
  • Tutoriales
  • Documentación
  • Foro
Código abierto
  • Descargar
  • GitHub
  • Runbot
  • Traducciones
Servicios
  • Alojamiento en Odoo.sh
  • Soporte
  • Actualizaciones del software
  • Desarrollos personalizados
  • Educación
  • Encuentra un contador
  • Encuentra un partner
  • Conviértete en partner
Sobre nosotros
  • Nuestra empresa
  • Activos de marca
  • Contáctanos
  • Empleos
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Legal • Privacidad
  • Seguridad
الْعَرَبيّة 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 es un conjunto de aplicaciones de código abierto que cubren todas las necesidades de tu empresa: CRM, comercio electrónico, contabilidad, inventario, punto de venta, gestión de proyectos, etc.

La propuesta única de valor de Odoo es ser muy fácil de usar y estar totalmente integrado.

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