Overslaan naar inhoud
Odoo Menu
  • Aanmelden
  • Probeer het gratis
  • Apps
    Financiën
    • Boekhouding
    • Facturatie
    • Onkosten
    • Spreadsheet (BI)
    • Documenten
    • Ondertekenen
    Verkoop
    • CRM
    • Verkoop
    • Kassasysteem winkel
    • Kassasysteem Restaurant
    • Abonnementen
    • Verhuur
    Websites
    • Websitebouwer
    • E-commerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Bevoorradingsketen
    • Voorraad
    • Productie
    • PLM
    • Inkoop
    • Onderhoud
    • Kwaliteit
    Personeelsbeheer
    • Werknemers
    • Werving & Selectie
    • Verlof
    • Evaluaties
    • Aanbevelingen
    • Wagenpark
    Marketing
    • Social media Marketing
    • E-mailmarketing
    • SMS Marketing
    • Evenementen
    • Marketingautomatisering
    • Enquêtes
    Diensten
    • Project
    • Urenstaten
    • Buitendienst
    • Helpdesk
    • Planning
    • Afspraken
    Productiviteit
    • Chat
    • Goedkeuringen
    • IoT
    • VoIP
    • Kennis
    • WhatsApp
    Apps van derden Odoo Studio Odoo Cloud Platform
  • Bedrijfstakken
    Detailhandel
    • Boekhandel
    • kledingwinkel
    • Meubelzaak
    • Supermarkt
    • Bouwmarkt
    • Speelgoedwinkel
    Food & Hospitality
    • Bar en Pub
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Vastgoedbeheer
    • Tuinieren
    • Vereniging van eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brewery
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Trades
    • Klusjesman
    • IT-hardware & support
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profitorganisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Browse all Industries
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijs- programma
    • Scale Up! Business Game
    • Bezoek Odoo
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Word een Partner
    • Services for Partners
    • Registreer je accountantskantoor
    Diensten
    • Vind een partner
    • Vind een boekhouder
    • Een adviseur ontmoeten
    • Implementatiediensten
    • Klantreferenties
    • Ondersteuning
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Vraag een demo aan
  • Prijzen
  • Help

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

  • CRM
  • e-Commerce
  • Boekhouding
  • Voorraad
  • PoS
  • Project
  • MRP
All apps
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Help

How to handle parent-child, master-detail?

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
variables
7439 Weergaven
Avatar
Ehab Mosilhy

I'm writing a warehouse management module and I came to the inventory step.

==========================================

class wh_inventory(osv.osv): _name = 'wh.inventory'

_columns = {
        'date' : fields.datetime('Date),
        'warehouse_id' : fields.many2one('wh.warehouse', 'Warehouse Name,required=True),
        'inventory_line_ids':fields.one2many('wh.inventory.line','inventory_id','Inventory),
        'notes':fields.char('Notes),
        'balance_track':fields.boolean('Balance Track')

}

==========================================

class wh_inventory_line(osv.osv):

_name = 'wh.inventory.line'

_columns = {

        'inventory_id':fields.many2one('wh.inventory', 'Inventory'),

        'warehouse_id':fields.related('inventory_id','warehouse_id'),

        'material_id' : fields.many2one('wh.material' ,'Material Name'),

        'balance':fields.float('Balance'),

        'previous_balance':fields.float('Previous Balance'),

}

I need to make an inventory every now and then for each warehouse separately and each inventory operation will be kept in the database as a master-detail relation, ie:

one record for the basic data such as id, date, warehouse_id etc. and this will be recorded in a table created by (inventory) object.

many records will keep the details of the operation (one record for each material) recording the material id, inventory id, balance, etc. and this will be recorded in the table (inventory_lines).

During the data entry, when the user selects a material, I need to check its current balance and display it in the balance field. In order to do this, I'll need to know the warehouse id because every warehouse shall have separate inventories.


I have many materials stored in many warehouses. For example: I can have a quantity of 5 pens in warehouse A and 10 pens in warehouse B and 6 pens in warehouse C.

First, I select the warehouse (A or B or C) --- let's say warehouse B

Then I select the material (Pen or notebook or whatever) --- let's say Pen

Now, I want to search the database to find the balance of (Pen) in (Warehouse B)

I can write something like this:

select balance from inventory_lines where material_id=mmmmmm and warehouse_id=wwwwww

So, I need to get the material id (mmmmm) and the warehouse id (wwwww)

And that will be done with each material I choose.

The warehouse id is in the column: inventory_id in the object: inventory 'warehouse_id' : fields.many2one('makhazen.warehouse', 'Warehouse Name',required=True),

The material id is in the column: material_id of the object inventory_line as in the picture in the question 'material_id' : fields.many2one('makhazen.material' ,'Material Name'),


I faced the following problem:

I could use the (on_change) method in the form view on the material_id field and could trigger a method to search for the balance in the database but I needed the warehouse_id which I couldn't get. The questions are: - How are this master-detail relationship is handled in openerp? how values are passed between the master table and the details table? - How can we extend the scope of the warehouse_id so that it can be seen from any method in the module? - I could change the values of the fields by calling a method and returning the desired values in a dictionary, but how to do the opposite (read them)?

It's very critical matter to me.

0
Avatar
Annuleer
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!

Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!

Aanmelden
Gerelateerde posts Antwoorden Weergaven Activiteit
There is a bug in Product Variables?
barcode variables
Avatar
Avatar
1
dec. 23
1675
Inquiring about Customization Options in Odoo e-commerce.
ecommerce variables
Avatar
Avatar
2
okt. 23
1774
How to put a contact instead of the partner in email template?
objects variables
Avatar
0
mrt. 15
5612
[Odoo16 CE] How to insert -- event.question answer_ids in to email template?
events variables emailtemplate
Avatar
0
jan. 25
1083
How to define a environment variable on Odoo.sh Opgelost
environment variables odoo.sh
Avatar
Avatar
1
feb. 22
14622
Community
  • Tutorials
  • Documentatie
  • Forum
Open Source
  • Downloaden
  • Github
  • Runbot
  • Vertalingen
Diensten
  • Odoo.sh Hosting
  • Ondersteuning
  • Upgrade
  • Gepersonaliseerde ontwikkelingen
  • Onderwijs
  • Vind een boekhouder
  • Vind een partner
  • Word een Partner
Over ons
  • Ons bedrijf
  • Merkelementen
  • Neem contact met ons op
  • Vacatures
  • Evenementen
  • Podcast
  • Blog
  • Klanten
  • Juridisch • Privacy
  • Beveiliging
الْعَرَبيّة 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 is een suite van open source zakelijke apps die aan al je bedrijfsbehoeften voldoet: CRM, E-commerce, boekhouding, inventaris, kassasysteem, projectbeheer, enz.

Odoo's unieke waardepropositie is om tegelijkertijd zeer gebruiksvriendelijk en volledig geïntegreerd te zijn.

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