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
    • 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
    • Inteligencia artificial
    • IoT
    • VoIP
    • Información
    • WhatsApp
    Aplicaciones de terceros Studio de Odoo Plataforma de Odoo Cloud
  • Sectores
    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
    • Asesoría 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 corporativos
    Salud y bienestar
    • Club deportivo
    • Óptica
    • Gimnasio
    • Especialistas en bienestar
    • Farmacia
    • Peluquería
    Oficios
    • Servicios de mantenimiento
    • 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 vallas publicitarias
    • 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 asesoría 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
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Sobre este foro
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Sobre este foro
Ayuda

skip the section and note while creating a serial number in order line

Suscribirse

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

Esta pregunta ha sido marcada
sequenceserial_numbernoteorder.linesection
2 Respuestas
6734 Vistas
Avatar
InspireNetworks, Bharath Singh

I need to skip the section and note while creating a serial number in orderline, i made many modification,still its considering the section and notes as a line item, And its creating a serial number for section and notes.

My Python code :

from odoo import api, fields, models


class SaleOrder(models.Model):
_inherit = 'sale.order'

@api.multi
@api.depends('order_line')
def _compute_maxim_line_sequence(self):

for sale in self:
for line in sale.order_line:
if line.name:
sale.maxim_line_sequence = (
maxim(sale.mapped('order_line.sequence') or [0]) + 1)

maxim_line_sequence = fields.Integer(
string='Maxim sequence in lines',
compute='_compute_maxim_line_sequence',
store=True
)

@api.multi
def _reset_sequence(self):
for rec in self:
current_sequence = 1
for line in rec.order_line:
if line.name:
line.sequence = current_sequence
current_sequence += 1

@api.multi
def write(self, line_values):
res = super(SaleOrder, self).write(line_values)
self._reset_sequence()
return res

@api.multi
def copy(self, default=None):
return super(SaleOrder,
self.with_context(keep_line_sequence=True)).copy(default)


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

# re-defines the field to change the default
sequence = fields.Integer(
help="Gives the sequence of this line when displaying the sale order.",
default=9999,
# related='x_seq_handle',
string="Sequence"
)

# displays sequence on the order line
sequence2 = fields.Integer(
help="Shows the sequence of this line in the sale order.",
related='sequence',
string="Line Number",
readonly=True,
store=True
)

@api.model
def create(self, values):
line = super(SaleOrderLine, self).create(values)
# We do not reset the sequence if we are copying a complete sale order
if self.env.context.get('keep_line_sequence'):
line.order_id._reset_sequence()
return line



here i can't able to restrict to create serial number to only order line contains product it.

can you please help me to do this.

0
Avatar
Descartar
Iñaki

Hi Bharath,

I tried to follow your example but in this code (taken from module set_sequence_number) it does not work:

@api.depends('order_id.order_line', 'order_id.order_line.product_id')
def _sequence_ref(self):
for line in self:
no = 0
line.sequence_ref = no
for l in line.order_id.order_line:
no += 1
l.sequence_ref = no

I wrote the line "if not line.display_type:" in all the places but I do not get it to work. I also didn't get for this other code:

@api.depends('sequence', 'move_id')
def _compute_number(self):
for s in self:
s.index = 0
for
invoice in self.mapped('move_id'):
index = 1
if
invoice.invoice_line_ids:
for line in invoice.invoice_line_ids:
line.index = index
index += 1

I would be happy if you can show me where should the if not condition goes. I am using Odoo14.

Thank you.

Avatar
Mohamed Salah
Mejor respuesta

did you find solution please?

0
Avatar
Descartar
Avatar
Niyas Raphy (Walnut Software Solutions)
Mejor respuesta

Hi,

If you need to exclude the sections and notes, you can add the condition like this:-  if not line.display_type , if the line is section or notes, the value will be set in this field.


You can see the field in the sale.order.line model:

display_type = fields.Selection([
('line_section', "Section"),
('line_note', "Note")], default=False, help="Technical field for UX purpose.")


Thanks

0
Avatar
Descartar
InspireNetworks, Bharath Singh
Autor

yeah already i tried this too, once again i tried this, still section are considered for serial number.

Niyas Raphy (Walnut Software Solutions)

can you show me the code of how you set sequence number, will be fine if you can add that as a comment here, in the questions there seems a lot of code

InspireNetworks, Bharath Singh
Autor

@api.multi

@api.depends('order_line')

def _compute_max_line_sequence(self):

for sale in self:

for line in sale.order_line:

if not line.display_type:

sale.max_line_sequence = (

max(sale.mapped('order_line.sequence') or [0]) + 1)

max_line_sequence = fields.Integer(

string='Max sequence in lines',

compute='_compute_max_line_sequence',

store=True

)

@api.multi

def _reset_sequence(self):

for rec in self:

current_sequence = 1

for line in rec.order_line:

if not line.display_type:

line.sequence = current_sequence

current_sequence += 1

i include the if not condition in these function

InspireNetworks, Bharath Singh
Autor

Hi @Niyas Raphy, did you find any issue in below code.

Niyas Raphy (Walnut Software Solutions)

what is the difference between these two functions

InspireNetworks, Bharath Singh
Autor

first function is for generating a serial number

second is used for resetting the serial number sequence for usecase scenarios.

¿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 does the sequence work with handle widget? Resuelto
widget sequence note section odoo12
Avatar
Avatar
1
abr 19
23190
How is the account.move.line name not shown in columns?
note section
Avatar
0
ene 25
3345
increment sale order line sequence by 10 Resuelto
sequence increment order.line
Avatar
Avatar
1
ene 24
15137
SO new section
sale sequence sale.order.line section V12
Avatar
0
sept 20
4931
Disable auto-assign of Serial Numbers to Sales Order Operations
serial_number
Avatar
Avatar
Avatar
3
jun 25
3955
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 Svenska ภาษาไทย 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