autocompletar formulario

143 views
Skip to first unread message

marco garcia baturan

unread,
Feb 22, 2017, 10:50:37 PM2/22/17
to odoo-Argentina - Preguntas y respuestas para personalizadores
Buenas noches,

Estoy viendo como completar los campos de un formulario en un módulo desde el registro creado en el formulario de otro módulo al seleccionar la ficha creada en el primere módulo. Se lo explico con un ejemplo:
Servidor :Ubuntu 14.04
Versión Odoo 8.0
Imaginemos el módulo 1 que registra usuarios en el sistema introduciendo los datos:

ID: 1
Nombre: Marco

Lo guardamos y se crea un registro. Hasta ahí bien.
Luego vamos al módulo 2 y creamos un registro donde al seleccionar en su campo ID el ID del módulo 1 esto hace que se complete el campo Nombre en el formulario del módulo 2. COn un ejemplo se lo explico:

Módulo 2:
   ID: (Si selecciono 1 entnces....)
   Nombre:(Agrego el nombre automaticamente) Marco

Y guardamos.

codigo 1:
class registro(models.Model):
# llamo al modelo
_name = 'registro.paciente'
_rec_name = "id"
# aqui van las funciones y campos
# Declaro el ID de la tabla del modulo en python para que SQL pueda darlo como primary key
id = fields.Integer('Numero de ingreso', readonly=True)

Telefono1_Paciente = fields.Char(string='Telefono fijo paciente', size=9, required=True)

Nombre_Tutor_Legal = fields.Char(string='Nombre del tutor', size=60)

Codigo 2:
class admision(models.Model):
_name = 'admision.paciente'
#_inherit = 'registro.paciente'
paciente_id = fields.Many2one('registro.paciente', string = 'Número de registro')
# función autocompletar campos
@api.depends('paciente_id')
@api.onchange('telefono_contacto','persona_contacto','email','nombre_acompanante') # mete campos a afectar
def autofill(self):
# comdición; si esta con el id seleccionado
# self.id_anamnesis
# llenar los campos con los correspondientes del id
# self.telefono_contacto =''
# self.persona_contacto = ''
# self.email = ''
# self.nombre_acompanante = ''
pass # aquí la lógica
Un saludo,
Marco garcía Baturan.

Gustavo Orrillo

unread,
Feb 23, 2017, 5:32:06 AM2/23/17
to odoo-ar...@googlegroups.com
y si usas un campo related?

--
Recuerda siempre poner la mayor cantidad de datos para que se entienda bien que necesitas y que respondes. Algunos errores comunes:
 
- Siempre mencionar en que versión de odoo trabajas.
- Siempre mencionar si el servidor esta en LINUX o en windows y en que versión.
- No alcanza con colocar el debug del error, debes indicar que necesitas que haga el código.
- Comparte tu código en un servidor abierto como Github, Launchpad u otro.
- Si haces un manual, tutorial o algo de interés comunal, trata de usar google docs.
 
Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se valora el aporte que hagas. Cuanto mas ayudes mas ayuda recibirás.
 
Nuestras normas mínimas de convivencia puede leerlas en https://groups.google.com/d/forum/odoo-argentina?hl=es-ES
---
Has recibido este mensaje porque estás suscrito al grupo "odoo-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a odoo-argentina+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a odoo-argentina@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

marco garcia baturan

unread,
Feb 23, 2017, 6:44:46 AM2/23/17
to odoo-ar...@googlegroups.com
Hola Gustavo,

Tras ver muchos post en la red no encontre nada referente a related para dicha tarea pero lo intentaré así ¿Tienes algún ejemplo de muestra para que pueda aplicar?

Un saludo,
Marco

Para publicar en este grupo, envía un correo electrónico a odoo-ar...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Recuerda siempre poner la mayor cantidad de datos para que se entienda bien que necesitas y que respondes. Algunos errores comunes:
 
- Siempre mencionar en que versión de odoo trabajas.
- Siempre mencionar si el servidor esta en LINUX o en windows y en que versión.
- No alcanza con colocar el debug del error, debes indicar que necesitas que haga el código.
- Comparte tu código en un servidor abierto como Github, Launchpad u otro.
- Si haces un manual, tutorial o algo de interés comunal, trata de usar google docs.
 
Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se valora el aporte que hagas. Cuanto mas ayudes mas ayuda recibirás.
 
Nuestras normas mínimas de convivencia puede leerlas en https://groups.google.com/d/forum/odoo-argentina?hl=es-ES
---
Has recibido este mensaje porque estás suscrito a un tema del grupo "odoo-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/odoo-argentina/TQDJ_b0ZSkk/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a odoo-argentina+unsubscribe@googlegroups.com.

Gustavo Orrillo

unread,
Feb 23, 2017, 8:22:38 AM2/23/17
to odoo-ar...@googlegroups.com
es simple, solo tenes que crear un campo tipo many2one apuntando al modelo que necesitas relacionar, y luego creas el campo related que necesitas


2017-02-23 8:44 GMT-03:00 marco garcia baturan <marc...@gmail.com>:
Hola Gustavo,

Tras ver muchos post en la red no encontre nada referente a related para dicha tarea pero lo intentaré así ¿Tienes algún ejemplo de muestra para que pueda aplicar?

Un saludo,
Marco

marco garcia baturan

unread,
Feb 23, 2017, 11:09:30 AM2/23/17
to odoo-ar...@googlegroups.com
Ya lo logre, muchas gracias por tu explicación :-D
un abrazo
Reply all
Reply to author
Forward
0 new messages