Problema con view - me crea el campo en Postgres pero no graba los valores desde la view

158 views
Skip to first unread message

Vicktor Martin

unread,
Oct 9, 2014, 3:44:20 AM10/9/14
to openerp-s...@googlegroups.com
Hola,

Antes de nada decir que soy novato en desarrollo de Odoo, y estoy creando el siguiente modelo de prueba:

class Book(models.Model):
    _name = 'library.book'
    title = fields.Char(string='Book',
                        size=50,
                        required=True,
                        help='Short name of the book',
                        company_dependent=True)
    company_id = fields.Many2one('res.company',
                                string='Company',
                                required=False)
    supplier_id = fields.Many2one('res.partner',
                        string='Supplier',
                        domain=[('supplier','=',True)],
                        required=False)
    supplier_vat = fields.Char(string='Supplier Vat',
                            relation='supplier_id.vat',
                            readonly=True,
                            store=True)
    country_name = fields.Char(string='Country',
                            relation='supplier_id.country_id.name',
                            readonly=True,
                            store=True)

Quiero grabar dentro de mi modelo, a parte del supplier_id, el NIF (VAT) y el nombre del país del proveedor.

Lo que tengo en mi vista  book_view.xml para la vista form es:

        <record model="ir.ui.view" id="book_form_view">
            <field name="name">library.book.form</field>
            <field name="model">library.book</field>
            <field name="arch" type="xml">
                <form string="Books">
                    <field name="company_id" required="False">Company</field>
                    <field name="title" required="True">Title</field>
                    <field name="supplier_id" required="False">Supplier</field>
                    <field name="supplier_vat" required="False">Supplier VAT</field>
                    <field name="country_name" required="False">Country Name</field>
                </form>
            </field>
        </record>

Tema 1:  me muestra los campos y puedo asignarlos, pero no los graba en la BD
Tema 2: me muestra los campos (desplegables, cuadros de texto, ...) PERO NO las etiquetas (Company, Title, Supplier, etc)

¿Alguien me puede decir donde está el fallo?

Muchas gracias,

Víctor Martín





Pedro Manuel Baeza Romero

unread,
Oct 9, 2014, 3:47:12 AM10/9/14
to openerp-s...@googlegroups.com
Buenas, Víctor,

Para que te muestre las etiquetas, tienes que meter los elementos dentro de un group.

Y lo otro, quita el readonly de la definición de campos, y ponlo en la vista. Es algo que he descubierto recientemente que no pone bien la información de los campos related si le pones el readonly a nivel de campo.

Un saludo.

--
Has recibido este mensaje porque estás suscrito al grupo "Usuarios OpenERP en España" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Victor Martin

unread,
Oct 9, 2014, 6:09:12 AM10/9/14
to openerp-s...@googlegroups.com
Hola Pedro, 

Lo del group para que me muestre las etiquetas, perfecto.

Lo del readonly:
  1. Lo he quitado en el modelo y lo he puesto en la view, y sólo me salía la etiqueta pero ninguno de los 2 campos (parece como si al indicarle readonly lo que hace realmente fuera ponerlo invisible)
  2. Entonces lo he quitado también en la view, con lo que me deja indicar lo que quiera en estos 2 campos pero en NINGÚN caso me recupera los valores VAT del proveedor ni el nombre del país (y están informados).  Supongo que la relacion la tengo bien definida...

Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-users+unsub...@googlegroups.com.

Pedro Manuel Baeza Romero

unread,
Oct 9, 2014, 6:11:19 AM10/9/14
to openerp-s...@googlegroups.com
Los valores no te los va a recuperar hasta que le des a guardar. Los campos related funcionan así. Por eso, con el readonly puesto, te aparecían en blanco. Una cosa que se suele hacer es colocar un onchange para traerlos a visualización en cada momento.

Un saludo.

Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages