Skip to Content
Odoo Meniu
  • Autentificare
  • Try it free
  • Aplicații
    Finanțe
    • Contabilitate
    • Facturare
    • Cheltuieli
    • Spreadsheet (BI)
    • Documente
    • Semn
    Vânzări
    • CRM
    • Vânzări
    • POS Shop
    • POS Restaurant
    • Abonamente
    • Închiriere
    Site-uri web
    • Constructor de site-uri
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Lanț Aprovizionare
    • Inventar
    • Producție
    • PLM
    • Achiziție
    • Maintenance
    • Calitate
    Resurse Umane
    • Angajați
    • Recrutare
    • Time Off
    • Evaluări
    • Referințe
    • Flotă
    Marketing
    • Social Marketing
    • Marketing prin email
    • SMS Marketing
    • Evenimente
    • Automatizare marketing
    • Sondaje
    Servicii
    • Proiect
    • Foi de pontaj
    • Servicii de teren
    • Centru de asistență
    • Planificare
    • Programări
    Productivitate
    • Discuss
    • Aprobări
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Aplicații Terțe Odoo Studio Platforma Odoo Cloud
  • Industrii
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Managament
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Producție
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware and Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Comunitate
    Învăță
    • Tutorials
    • Documentație
    • Certificări
    • Instruire
    • Blog
    • Podcast
    Empower Education
    • Program Educațional
    • Scale Up! Business Game
    • Visit Odoo
    Obține Software-ul
    • Descărcare
    • Compară Edițiile
    • Lansări
    Colaborați
    • Github
    • Forum
    • Evenimente
    • Translations
    • Devino Partener
    • Services for Partners
    • Înregistrează-ți Firma de Contabilitate
    Obține Servicii
    • Găsește un Partener
    • Găsiți un contabil
    • Meet an advisor
    • Servicii de Implementare
    • Referințe ale clienților
    • Suport
    • Actualizări
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Obține un demo
  • Prețuri
  • Ajutor

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

  • CRM
  • e-Commerce
  • Contabilitate
  • Inventar
  • PoS
  • Proiect
  • MRP
All apps
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
All Posts Oameni Insigne
Etichete (View all)
odoo accounting v14 pos v15
Despre acest forum
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
All Posts Oameni Insigne
Etichete (View all)
odoo accounting v14 pos v15
Despre acest forum
Suport

One2Many field not records more than one value

Abonare

Primiți o notificare când există activitate la acestă postare

Această întrebare a fost marcată
errorone2many
4663 Vizualizări
Imagine profil
Carlos

Hi.

I have two models. One model has One2Many relation of the other. When i save the model. Only saves one register of the One2many relation. I need save n registers.

Here its the code. Im sorry for spanishnames off the variables.

Thanks in advance.

class EmpleadosProductos(models.Model):

 _name = "employee.as.product"

 #the One2Many realtion od the troble
 employee_line = fields.One2many(
  'employee.line',
  'id',
  string='Employee Lines',
  store=True
  )

 companyias = fields.Many2one('res.partner', 'Compañia', domain=[('is_company', '=', True)])
 amount_total = fields.Monetary(string='Total', store=True, readonly=True, compute='_calcularTotal')
 journal_entry = fields.Many2one('account.move')
 currency_id = fields.Many2one('res.currency', 'Currency', required=True, default=lambda self: self.env.user.company_id.currency_id.id)
 fecha = fields.Date('Fecha')
 referencia = fields.Char(string='Ref', required=True)
 _sql_constraints = [
     ('refererecia_constraint', 'unique(referencia)', 'La referencia debe de ser única!'),
 ]
 @api.one
 @api.depends('employee_line.total')
     def _calcularTotal(self):
         for empleado_obra in self:
             acumulador = 0.0
             for linea in empleado_obra.employee_line:
                 acumulador += linea.total
             empleado_obra.update({
                 'amount_total': acumulador
             })


class EmployeLine(models.Model):
 _name = 'employee.line'
 descripcion = fields.Text(string='Descripción', required=False)
 employee_id = fields.Many2one(
  'hr.employee',
  string="Empleado",
  requiered=True,
  change_default=True
  )

 currency_id = fields.Many2one('res.currency', 'Currency', required=True, default=lambda self: self.env.user.company_id.currency_id.id)
 apodo = fields.Char('apodo', readonly=False)
 precio_por_hora = fields.Float('Sueldo/hora', store=True)
 numero_de_horas = fields.Integer('Número de horas', store=True)

 total = fields.Monetary(string='Total', store=True, readonly=True, compute='_calcularTotalLine')
 _rec_name = 'apodo'

 @api.one
 @api.depends('numero_de_horas', 'precio_por_hora')
     def _calcularTotalLine(self):
       self.update({
                 'total': (self.precio_por_hora * self.numero_de_horas)
             })

 @api.onchange('employee_id')
     def onchange_employee_id(self):
         addr = {}
         if not self.employee_id.display_name:
          return addr
         if not self.employee_id.apodo:
          self.apodo = "no apodo"
         else:
    self.apodo = self.employee_id.apodo
    self.precio_por_hora = self.employee_id.precio_por_hora
         return addr


0
Imagine profil
Abandonează
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Înscrie-te
Related Posts Răspunsuri Vizualizări Activitate
?"Your country might be blocked by our hosting provider" error when I create new website
error
Imagine profil
0
oct. 25
371
Payment Page Return Error with Razorpay on Mobile Devices
error
Imagine profil
0
sept. 25
1008
how pass value to on2many field from parent form via context
one2many
Imagine profil
Imagine profil
1
ian. 25
2618
Error after installing "purchase" app in Odoo version 18
error
Imagine profil
Imagine profil
1
dec. 24
6354
error schema for TourStep Error
error
Imagine profil
0
nov. 24
2470
Comunitate
  • Tutorials
  • Documentație
  • Forum
Open Source
  • Descărcare
  • Github
  • Runbot
  • Translations
Servicii
  • Hosting Odoo.sh
  • Suport
  • Actualizare
  • Custom Developments
  • Educație
  • Găsiți un contabil
  • Găsește un Partener
  • Devino Partener
Despre Noi
  • Compania noastră
  • Active de marcă
  • Contactați-ne
  • Locuri de muncă
  • Evenimente
  • Podcast
  • Blog
  • Clienți
  • Aspecte juridice • Confidențialitate
  • Securitate
الْعَرَبيّة 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 este o suită de aplicații de afaceri open source care acoperă toate nevoile companiei dvs.: CRM, comerț electronic, contabilitate, inventar, punct de vânzare, management de proiect etc.

Propunerea de valoare unică a Odoo este să fie în același timp foarte ușor de utilizat și complet integrat.

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