Siirry sisältöön
Odoo Menu
  • Kirjaudu sisään
  • Kokeile ilmaiseksi
  • Sovellukset
    Talous
    • Kirjanpito
    • Laskutus
    • Kulut
    • Datataulukot (BI)
    • Asiakirjat
    • Allekirjoita
    Myynti
    • CRM
    • Myynti
    • Kassajärjestelmä myymälään
    • Kassajärjestelmä ravintolaan
    • Tilaukset
    • Vuokraus
    Verkkosivut
    • Verkkosivun Rakennustyökalu
    • Verkkokauppa
    • Blogi
    • Foorumi
    • Livechat
    • Verkko-oppiminen
    Toimitusketju
    • Varastointi
    • Tuotanto
    • Tuotteen elinkaaren hallinta (PLM)
    • Ostot
    • Huolto
    • Laatu
    Henkilöstöhallinto
    • Työntekijät
    • Rekrytointi
    • Vapaat
    • Arvioinnit
    • Suositukset
    • Kuljetuskalusto
    Markkinointi
    • Somemarkkinointi
    • Sähköpostimarkkinointi
    • Tekstiviestimarkkinointi
    • Tapahtumat
    • Markkinoinnin automaatio
    • Kyselyt
    Palvelut
    • Projekti
    • Työaikakirjaukset
    • Kenttähuolto
    • Asiakaspalvelu
    • Suunnittelu
    • Ajanvaraukset
    Tuottavuus
    • Viestintä
    • Hyväksynnät
    • IoT
    • IP-puhe
    • Tietokirjasto
    • WhatsApp
    Kolmannen osapuolen sovellukset Odoo-Studio Odoo-Pilvialusta
  • Toimialat
    Vähittäiskauppa
    • Kirjakauppa
    • Vaatekauppa
    • Huonekaluliike
    • Ruokakauppa
    • Laitteistokauppa
    • Lelukauppa
    Ruoka & Majoitus
    • Baari ja Pubi
    • Ravintola
    • Pikaruoka
    • Majatalo
    • Juomien jakelija
    • Hotelli
    Kiinteistöt
    • Kiinteistönvälitystoimisto
    • Arkkitehtitoimisto
    • Rakentaminen
    • Kiinteistönhallinta
    • Puutarhanhoito
    • Kiinteistön omistajien yhdistys
    Konsultointi
    • Tilitoimisto
    • Odoo-kumppani
    • Markkinointitoimisto
    • Lakitoimisto
    • Osaajahankinta
    • Tilintarkastus & sertifiointi
    Tuotanto
    • Tekstiili
    • Metalli
    • Huonekalut
    • Ruoka
    • Panimo
    • Yrityslahjat
    Terveys & Liikunta
    • Urheiluseura
    • Silmälasiliike
    • Kuntokeskus
    • Hyvinvointialan ammattilaiset
    • Apteekki
    • Kampaamo
    Kaupat
    • Yleismies
    • IT-laitteisto & Tuki
    • Aurinkoenergiajärjestelmät
    • Suutari
    • Siivouspalvelut
    • LVI-palvelut
    Muut
    • Voittoa tavoittelematon järjestö
    • Ympäristötoimisto
    • Mainostaulujen vuokraus  
    • Valokuvaus
    • Leasing-pyörät
    • Ohjelmistojen jälleenmyyjä
    Selaa kaikkia toimialoja
  • Yhteisö
    Opi
    • Kurssit
    • Dokumentaatio
    • Todistukset
    • Koulutus
    • Blogi
    • Podcast
    Kannusta kouluttautumaan
    • Koulutusohjelmat
    • Scale Up! Liiketoimintapeli
    • Vieraile Odoolla
    Hanki ohjelmisto
    • Lataa
    • Vertaile versioita
    • Julkaisut
    Tee yhteistyötä
    • Github
    • Foorumi
    • Tapahtumat
    • Käännökset
    • Ryhdy kumppaniksi
    • Kumppanipalvelut
    • Rekisteröi tilitoimistosi
    Hanki palveluja
    • Löydä kumppani
    • Löydä kirjanpitäjä
    • Varaa asiantuntijatapaaminen
    • Implementaatiopalvelut
    • Asiakasreferenssit
    • Tuki
    • Versionkorotukset
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Varaa demo
  • Hinnoittelu
  • Asiakaspalvelu

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

  • CRM
  • e-Commerce
  • Kirjanpito
  • Varastointi
  • PoS
  • Projekti
  • MRP
All apps
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Apua

many2many in custom wizard

Tilaa

Saat ilmoituksen, kun tähän viestiin ilmaantuu aktiviteettia

Tämä kysymys on merkitty
wizardmany2many
7972 Näkymät
Avatar
Laurent33

Hi,

In my custom wizard with different steps, I want to populate a m2m field defined on second step by selecting records with choice of first step... How can I do that in python code of action_choose ?

class account_change_lotnbr_wizard(osv.osv_memory):
_name='iota.change.lotnbr.wizard'

def act_cancel(self, cr, uid, ids, context=None):
    #self.unlink(cr, uid, ids, context)
    return {'type':'ir.actions.act_window_close' }

def act_destroy(self, *args):
    return {'type':'ir.actions.act_window_close' }

def action_choose(self,cr,uid,ids,context=None):
    if not context:
        context={}

    this = self.browse(cr, uid, ids)[0]
    wizard=self.browse(cr,uid,ids[0],context=context)

    # Contrôle pour recherche
    if not wizard.date_invoice:
        raise osv.except_osv(_('Error !'), _('No date !'))
    if not wizard.product_id:
        raise osv.except_osv(_('Error !'), _('No product !'))
    if not wizard.new_lot_nbr:
        raise osv.except_osv(_('Error !'), _('No new lot number !'))

    # Définition des objets
    invoice_obj = self.pool.get('account.invoice')

    # Recherche des factures à réaffecter
    inv_select_ids = []
    inv_ids = invoice_obj.search(cr, uid, [('date_invoice', '=', wizard.date_invoice), ('type', '=', 'out_invoice')])
    invs = invoice_obj.browse(cr, uid, inv_ids, context)
    for inv in invs:
        inv_select = False
        for line in inv.invoice_line:
            if line.product_id.id == wizard.product_id.id:
                inv_select = True
                break
        if inv_select:
            inv_select_ids.append(inv.id)

    # Mise à jour du wizard pour passer à l'étape suivante
    self.write(cr, uid, ids, {'state':'get'}, {'invoice_ids':inv_select_ids})

    return {
        'type': 'ir.actions.act_window',
        'res_model': 'iota.change.lotnbr.wizard',
        'view_mode': 'form',
        'view_type': 'form',
        'res_id': this.id,
        'views': [(False, 'form')],
        'target': 'new',
        }

def action_confirm(self,cr,uid,ids,context=None):
    if not context:
        context={}

    #this = self.browse(cr, uid, ids)[0]
    wizard=self.browse(cr,uid,ids[0],context=context)

    # Contrôle pour recherche
    if not wizard.invoice_ids:
        raise osv.except_osv(_('Error !'), _('No invoice !'))

    return {'type':'ir.actions.act_window_close' }

_columns = {
           'date_invoice': fields.date('Invoice Date'),
           'product_id': fields.many2one('product.product', 'Product'),
           'new_lot_nbr': fields.char('Lot number', size=15),
           'invoice_ids':fields.many2many('account.invoice','wiz_change_lotnbr','wiz_id','invoice_id','Invoices'),
           'state': fields.selection( ( ('choose','choose'),
                                        ('get','get'),
                                   ) ),
           }

_defaults = {
    'date_invoice': fields.date.context_today,
    'state': lambda *a: 'choose',
}

account_change_lotnbr_wizard()

E.g : In the first step, I give a date and product_id when I go to step 2, i want to obtain a list of invoices with a date and which have one line of product in invoice_ids field

0
Avatar
Hylkää
Nautitko keskustelusta? Älä vain lue, vaan osallistu!

Luo tili jo tänään nauttiaksesi yksinoikeusominaisuuksista ja osallistuaksesi mahtavaan yhteisöömme!

Rekisteröidy
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
How to transfer id created wizard into main form?
wizard many2many
Avatar
Avatar
1
heinäk. 18
3992
Many2many field in wizard is showing empty (v9) ?
wizard many2many
Avatar
0
tammik. 16
4123
many2many automaticly filled
wizard many2many
Avatar
Avatar
1
kesäk. 15
14156
Is it possible to use many2many relation for other many2many field in wizard
wizard many2many
Avatar
Avatar
1
maalisk. 15
5355
Upon pressing save in a wizard, populate a many2many field
wizard many2many v15
Avatar
0
heinäk. 22
2980
Yhteisö
  • Kurssit
  • Dokumentaatio
  • Foorumi
Avoin lähdekoodi
  • Lataa
  • Github
  • Runbot
  • Käännökset
Palvelut
  • Odoo.sh hosting
  • Tuki
  • Versionkorotus
  • Räätälöidyt kehitykset
  • Koulutus
  • Löydä kirjanpitäjä
  • Löydä kumppani
  • Ryhdy kumppaniksi
Meistä
  • Yrityksemme
  • Brändiominaisuudet
  • Ota yhteyttä
  • Työpaikat
  • Tapahtumat
  • Podcast
  • Blogi
  • Asiakkaat
  • Oikeudellinen ilmoitus • Yksityisyys
  • Tietoturva
الْعَرَبيّة 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 on kokoelma avoimen lähdekoodin yrityssovelluksia, jotka kattavat kaikki yrityksesi tarpeet: asiakkuudenhallinta eli CRM, verkkokauppa, kirjanpito, varastointi, kassajärjestelmä, projektinhallinta, jne.

Odoon uniikki arvolupaus on olla samanaikaisesti erittäin helppokäyttöinen ja täysin integroitu.

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