Skip to Content
Odoo Menu
  • Prisijungti
  • Išbandykite nemokamai
  • Programėlės
    Finansai
    • Apskaita
    • Pateikimas apmokėjimui
    • Sąnaudos
    • Skaičiuoklė (BI)
    • Dokumentai
    • Pasirašymas
    Pardavimai
    • CRM
    • Pardavimai
    • Kasų sistema - Parduotuvė
    • Kasų sistema - Restoranas
    • Prenumeratos
    • Nuoma
    Svetainės
    • Svetainių kūrėjimo įrankis
    • El. Prekyba
    • Internetinis Tinklaraštis
    • Forumas
    • Tiesioginis pokalbis
    • eMokymasis
    Tiekimo grandinė
    • Atsarga
    • Gamyba
    • PLM
    • Įsigijimai
    • Priežiūra
    • Kokybė
    Žmogaus ištekliai
    • Darbuotojai
    • Įdarbinimas
    • Atostogos
    • Įvertinimai
    • Rekomendacijos
    • Transporto priemonės
    Rinkodara
    • Socialinė rinkodara
    • Rinkodara el. paštu
    • SMS rinkodara
    • Renginiai
    • Rinkodaros automatizavimas
    • Apklausos
    Paslaugos
    • Projektas
    • Darbo laiko žiniaraščiai
    • Priežiūros tarnyba
    • Pagalbos tarnyba
    • Planavimas
    • Rezervacijos
    Produktyvumas
    • Diskucija
    • Patvirtinimai
    • IoT
    • VoIP
    • Žinių biblioteka
    • WhatsApp
    Trečiųjų šalių programos Odoo Studija Odoo debesijos platforma
  • Pramonės šakos
    Mažmeninė prekyba
    • Knygynas
    • Drabužių parduotuvė
    • Baldų parduotuvė
    • Maisto prekių parduotuvė
    • Techninės įrangos parduotuvė
    • Žaislų parduotuvė
    Food & Hospitality
    • Barai ir pub'ai
    • Restoranas
    • Greitasis maistas
    • Guest House
    • Gėrimų platintojas
    • Hotel
    Nekilnojamasis turtas
    • Real Estate Agency
    • Architektūros įmonė
    • Konstrukcija
    • Estate Managament
    • Sodininkauti
    • Turto savininkų asociacija
    Konsultavimas
    • Accounting Firm
    • Odoo Partneris
    • Marketing Agency
    • Teisinė firma
    • Talentų paieška
    • Auditai & sertifikavimas
    Gamyba
    • Textile
    • Metal
    • Furnitures
    • Maistas
    • Brewery
    • Įmonių dovanos
    Sveikata & Fitnesas
    • Sporto klubas
    • Akinių parduotuvė
    • Fitneso Centras
    • Sveikatos praktikai
    • Vaistinė
    • Kirpėjas
    Trades
    • Handyman
    • IT įranga ir palaikymas
    • Saulės energijos sistemos
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Kiti
    • Nonprofit Organization
    • Aplinkos agentūra
    • Reklaminių stendų nuoma
    • Fotografavimas
    • Dviračių nuoma
    • Programinės įrangos perpardavėjas
    Browse all Industries
  • Bendrija
    Mokykitės
    • Mokomosios medžiagos
    • Dokumentacija
    • Sertifikatai
    • Mokymai
    • Internetinis Tinklaraštis
    • Tinklalaidės
    Skatinkite švietinimą
    • Švietimo programa
    • Scale Up! Verslo žaidimas
    • Aplankykite Odoo
    Gaukite programinę įrangą
    • Atsisiųsti
    • Palyginkite versijas
    • Leidimai
    Bendradarbiauti
    • Github
    • Forumas
    • Renginiai
    • Vertimai
    • Tapkite partneriu
    • Services for Partners
    • Registruokite jūsų apskaitos įmonę
    Gaukite paslaugas
    • Susiraskite partnerį
    • Susirask buhalterį
    • Susitikti su konsultantu
    • Diegimo paslaugos
    • Klientų rekomendavimas
    • Palaikymas
    • Atnaujinimai
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Gaukite demo
  • Kainodara
  • Pagalba

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

  • CRM
  • e-Commerce
  • Apskaita
  • Atsarga
  • PoS
  • Projektas
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Žymos (View all)
odoo accounting v14 pos v15
About this forum
Pagalba

How to populate a one2many field from another one2many field?

Prenumeruoti

Get notified when there's activity on this post

This question has been flagged
one2manypython2.7openerp7openerp7.0
2 Replies
7254 Rodiniai
Portretas
Anirudh Lou

I have this situation w/c i don't know what to do about it. The case is this: In class sale_order I have this definition:

...
'sched_lines' : fields.one2many('schedule.schedule','Schedule'),
'factor_lines' : fields.one2many('sale.order.factor','Factor'),

So does, in class account_invoice i also have this definition:

...
'sched_lines' : fields.one2many('schedule.schedule','Schedule'),
'factor_lines' : fields.one2many('sale.order.factor','Factor'),


Back to class sale_order i override the method manual_invoice ,

        ...
for sale_order in self.browse(cr,uid,ids,context=context):
_logger.info("\n\t\t\tFACTOR LINES IN SALE ORDER ... %s"%(str(sale_order.factor_lines)))
_logger.info("\n\t\t\tHISTORY IN SALE ORDER ... %s"%(str(sale_order.sched_lines)))
inv_id = self.pool.get('account.invoice').search(cr,uid,[('id','in',[new_inv_ids]),('origin','=',sale_order.name)])

factor_list = self.pool.get('sale.order.factor').search(cr,uid,[('invoice_id','=',inv_id[0])])
_logger.info("\n\t\t\tfactor_list...%s"%(str(factor_list)))
factor_lines1 = [factors.id for factors in self.pool.get('sale.order.factor').browse(cr,uid,factor_list,context=context)]
_logger.info("\n\t\t\tfactor_lines1...%s"%(str(factor_lines1)))

# cr.execute('select id from sale_order_factor where invoice_id = %s', (tuple(inv_id)))
#---------------- factor_lines1 = map(lambda x: x[0], cr.fetchall())
# factor_lines1 = [(1,0,[factors.id for factors in sale_order.factor_lines])]
#--- _logger.info("\n\t\t\tfactor_lines1...%s"%(str(factor_lines1)))

self.pool.get('account.invoice').write(cr,uid,inv_id,{
'sched_lines': [(6,0,[sched.id for sched in sale_order.sched_lines])],
'factor_lines': [(6,0,[factor.id for factor in sale_order.factor_lines])],#factor_lines1
}

what i can't understand is that this statement "[(6,0,[factor.id for factor in sale_order.factor_lines])]" does not work. When i view the invoice it has not populated. It's source, that is the factor_lines in sale_order, is not empty. While this statement "[(6,0,[sched.id for sched in sale_order.sched_lines])]" works fine. What's inside in sched_lines from sale_order is being carried fine. Does anyone can point out what's the missing, if there is any, in my code? I am really stuck in this.


Any help is very much appreciated.

0
Portretas
Atmesti
Portretas
Anil Kesariya
Best Answer

Hi Anirudh Lou,

Wrong syntax followed,

Here is the solution : (Add Many2one field in both the relational model which is being used as one2many

_name = 'your.model.name'
'sched_lines' : fields.one2many('schedule.schedule','current_model_id', 'Schedule')

'factor_lines' : fields.one2many('sale.order.factor', 'current_model_id','Factor'),

#instead of current_model_id you can write your own model name where fields are defined.

Than add many2one fields:

class sale_order_factor(models.Model):

    _name = 'sale.order.factor'

    current_model_id = fields.Many2one('your.model.name', "Main Current Model")

#same as for other one2many field.

Hope this will help

Rgds,

Anil

0
Portretas
Atmesti
Anirudh Lou
Autorius

Yeah, thanks a lot. I also noticed it when i opened my project in inspecting what are my fields difinitions. Thanks again. :)

Portretas
Anirudh Lou
Autorius Best Answer

Okay, I got it there is nothing wrong about the code. The mistake is on my declaration of

 'factor_lines' : fields.one2many('sale.order.factor','Factor'), 

Instead of pointing it to it's counter part (many2one) in class sale_order_factor. It point to different class. By the way, i forgot that my declaration above is not correctly set as seen on the body part of this question, perhaps typo error.


0
Portretas
Atmesti
Enjoying the discussion? Don't just read, join in!

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

Registracija
Related Posts Replies Rodiniai Veikla
How to get an id of a parent class (many2one) from its child class (one2many)? Solved
one2many python2.7 openerp7
Portretas
Portretas
1
rugp. 15
8141
How to hide create button in tree view for all users except one group? Solved
openerp7 openerp7.0
Portretas
Portretas
Portretas
2
kov. 24
12541
Dynamically created filter for tree view Solved
openerp7 openerp7.0
Portretas
Portretas
Portretas
2
rugp. 21
14498
How to identify machine on which openerp is opened? Solved
openerp7 openerp7.0
Portretas
Portretas
Portretas
5
rugp. 20
8523
Print multiple custom reports in one file from tree view
openerp7 openerp7.0
Portretas
Portretas
1
gruod. 19
6086
Bendrija
  • Mokomosios medžiagos
  • Dokumentacija
  • Forumas
Atvirasis kodas
  • Atsisiųsti
  • Github
  • Runbot
  • Vertimai
Paslaugos
  • Odoo.sh talpinimas
  • Palaikymas
  • Atnaujinti
  • Pritaikytas programavimo kūrimas
  • Švietimas
  • Susirask buhalterį
  • Susiraskite partnerį
  • Tapkite partneriu
Apie mus
  • Mūsų įmonė
  • Prekės ženklo turtas
  • Susisiekite su mumis
  • Darbo pasiūlymai
  • Renginiai
  • Tinklalaidės
  • Internetinis Tinklaraštis
  • Klientai
  • Teisinis • Privatumas
  • Saugumas
الْعَرَبيّة 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 yra atvirojo kodo verslo programų rinkinys, kuris apima visas įmonės poreikius: CRM, El. Prekybą, Apskaitą, Atsargų, Kasų sistemą, Projektų valdymą ir kt.

Unikali Odoo vertės pasiūla – būti tuo pačiu metu labai lengvai naudojama ir visiškai integruota sistema.

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