Ir al contenido
Odoo Menú
  • Identificarse
  • Pruébalo gratis
  • Aplicaciones
    Finanzas
    • Contabilidad
    • Facturación
    • Gastos
    • Hoja de cálculo (BI)
    • Documentos
    • Firma electrónica
    Ventas
    • CRM
    • Ventas
    • TPV para tiendas
    • TPV para restaurantes
    • Suscripciones
    • Alquiler
    Sitios web
    • Creador de sitios web
    • Comercio electrónico
    • Blog
    • Foro
    • Chat en directo
    • e-learning
    Cadena de suministro
    • Inventario
    • Fabricación
    • PLM
    • Compra
    • Mantenimiento
    • Calidad
    Recursos Humanos
    • Empleados
    • Reclutamiento
    • Ausencias
    • Evaluación
    • Referencias
    • Flota
    Marketing
    • Marketing social
    • Marketing por correo electrónico
    • Marketing por SMS
    • Eventos
    • Automatización de marketing
    • Encuestas
    Servicios
    • Proyecto
    • Partes de horas
    • Servicio de campo
    • Servicio de asistencia
    • Planificación
    • Citas
    Productividad
    • Conversaciones
    • Aprobaciones
    • IoT
    • VoIP
    • Conocimientos
    • WhatsApp
    Aplicaciones de terceros Studio de Odoo Plataforma de Odoo Cloud
  • Industrias
    Comercio al por menor
    • Librería
    • Tienda de ropa
    • Tienda de muebles
    • Tienda de ultramarinos
    • Ferretería
    • Juguetería
    Alimentación y hostelería
    • Bar y pub
    • Restaurante
    • Comida rápida
    • Casa de huéspedes
    • Distribuidor de bebidas
    • Hotel
    Inmueble
    • Agencia inmobiliaria
    • Estudio de arquitectura
    • Construcción
    • Gestión inmobiliaria
    • Jardinería
    • Asociación de propietarios
    Consultoría
    • Empresa contable
    • Partner de Odoo
    • Agencia de marketing
    • Bufete de abogados
    • Adquisición de talentos
    • Auditorías y certificaciones
    Fabricación
    • Textil
    • Metal
    • Muebles
    • Alimentos
    • Cervecería
    • Regalos de empresas
    Salud y bienestar
    • Club deportivo
    • Óptica
    • Gimnasio
    • Terapeutas
    • Farmacia
    • Peluquería
    Oficios
    • Handyman
    • Hardware y soporte técnico
    • Sistemas de energía solar
    • Zapatero
    • Servicios de limpieza
    • Servicios de calefacción, ventilación y aire acondicionado
    Otros
    • Organización sin ánimo de lucro
    • Agencia de protección del medio ambiente
    • Alquiler de paneles publicitarios
    • Estudio fotográfico
    • Alquiler de bicicletas
    • Distribuidor de software
    Explorar todos los sectores
  • Comunidad
    Aprender
    • Tutoriales
    • Documentación
    • Certificaciones
    • Formación
    • Blog
    • Podcast
    Potenciar la educación
    • Programa de formación
    • Scale Up! El juego empresarial
    • Visita Odoo
    Obtener el software
    • Descargar
    • Comparar ediciones
    • Versiones
    Colaborar
    • GitHub
    • Foro
    • Eventos
    • Traducciones
    • Convertirse en partner
    • Servicios para partners
    • Registrar tu empresa contable
    Obtener servicios
    • Encontrar un partner
    • Encontrar un asesor fiscal
    • Contacta con un experto
    • Servicios de implementación
    • Referencias de clientes
    • Ayuda
    • Actualizaciones
    GitHub YouTube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Solicitar 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
  • Proyecto
  • 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

How to duplicate a line in a sale order?

Suscribirse

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

Se marcó esta pregunta
objectduplicate
1 Responder
19629 Vistas
Avatar
Pascal Tremblay

Hello guys!

We are in Odoo 10. I have created a button on each sale order line. We want to duplicate the sale order line in the same sale order when the button is clicked. See image below, the new duplicate icon at the right.

I think that we have to retrieve all the values of the current clicked line and after create the new line.

My skills are too limited to achieve this kind of thing.

COuld you guide me just a little please?

This is not really what we want to achieve, but this would give me a great beginning to achieve the rest.


Our actual code (empty!!!)

def dup_line(self):
        _logger.error("dup_line BEGIN")
        _logger.error("    self :: %s", str(self))
       
        return True


In image :



EDIT #1

I have now this code for my button :

@api.one
def dup_line(self):
     self.copy()

But I get this error :

The operation cannot be completed, probably due to the following:
- deletion: you may be trying to delete a record while other records still reference it- creation/update: a mandatory field is not correctly set
[object with reference: order_id - order.id]


EDIT #2

It is clear that the problem is the order_id field.

With this code, I can easily see the self.order_id in the debug. But the copy() function doesn't include the order_id field.

@api.one
def dup_line(self):
    logger.error("    self.order_id :: %s", str(self.order_id))
    self.copy()





1
Avatar
Descartar
Avatar
Akhil P Sivan
Mejor respuesta

Hi,

You may try like this:

class SaleOrderLine(models.Model):
    _inherit = "sale.order.line"
     

    @api.multi
    def dup_line(self):
         self.copy(default={'order_id':self.order_id.id})

If you want to pass some values to the newly created record, you can pass on the default arguement of copy()

order_id is not copied by default because copy=False attribute set on the field definition, if you check in sale.order.line model.

order_id = fields.Many2one('sale.order', string='Order Reference', required=True, ondelete='cascade', index=True, copy=False)
9
Avatar
Descartar
Pascal Tremblay
Autor

Thanks for your answer. COuld you explain why the order_id is not already copied with other values? Why do you we have to give it to copy() function?

Pascal Tremblay
Autor

Your line works well. Thanks for this. But, I have to refresh the sale order to see the new line. Not a problem for the moment.

Akhil P Sivan

check updated answer for why its not copied by default

Pascal Tremblay
Autor

I learn a lot with your answers! Big thanks!

Ankit H Gandhi(AHG)

Thanks @ Akhil P.

+1

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

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

Inscribirse
Publicaciones relacionadas Respuestas Vistas Actividad
How can I hide the 'duplicate' option in the 'more' button for a specific object Resuelto
duplicate
Avatar
Avatar
Avatar
Avatar
Avatar
4
oct 25
17016
How to implement custom version of "Duplicate" for products ?
duplicate
Avatar
Avatar
Avatar
2
jun 23
5185
Trace which odoo database that duplicated from
duplicate
Avatar
0
oct 17
3275
How to resolve ParseError: duplicate key value violates unique constraint
duplicate
Avatar
Avatar
1
jul 16
11853
How to find objects of a particular module?
object
Avatar
Avatar
Avatar
Avatar
3
mar 15
7126
Comunidad
  • Tutoriales
  • Documentación
  • Foro
Código abierto
  • Descargar
  • GitHub
  • Runbot
  • Traducciones
Servicios
  • Alojamiento Odoo.sh
  • Ayuda
  • Actualizar
  • Desarrollos personalizados
  • Educación
  • Encontrar un asesor fiscal
  • Encontrar un partner
  • Convertirse en partner
Sobre nosotros
  • Nuestra empresa
  • Activos de marca
  • Contacta con nosotros
  • Puestos de trabajo
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Información 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 empresariales de código abierto que cubre 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