Hoppa till innehåll
Odoo Meny
  • Logga in
  • Prova gratis
  • Appar
    Finanstjänster
    • Bokföring
    • Fakturering
    • Utgifter
    • Kalkylark (Affärsanalyser)
    • Dokument
    • Underskrifter
    Försäljning
    • CRM
    • Försäljning
    • Kassasystem Butik
    • Kassasystem Restaurang
    • Prenumerationer
    • Uthyrning
    Hemsidor
    • Hemsidesverktyg
    • E-handel
    • Blogg
    • Forum
    • Livechatt
    • Utbildning
    Försörjningskedja
    • Lager
    • Produktion
    • Produktens livscykel (PLM)
    • Inköp
    • Underhåll
    • Kvalitet
    HR
    • Anställda
    • Rekrytering
    • Ledighet
    • Utvärderingar
    • Rekommendationer
    • Fordon
    Marknadsföring
    • Sociala medier
    • E-postmarknadsföring
    • Sms-marknadsföring
    • Evenemang
    • Automatiserad marknadsföring
    • Enkäter
    Tjänster
    • Projekt
    • Tidrapporter
    • Fältservice
    • Kundtjänst
    • Planering
    • Tidsbokningar
    Produktivitet
    • Diskutera
    • Artificial Intelligence
    • IoT
    • VoIP
    • Kunskap
    • WhatsApp
    Community-appar Odoo Studio Odoo Cloud
  • Branscher
    Butiker
    • Bokaffärer
    • Klädbutiker
    • Möbelaffärer
    • Mataffärer
    • Byggvaruhus
    • Leksaksaffärer
    Restaurang & Hotell
    • Barer och pubar
    • Restauranger
    • Snabbmatsrestauranger
    • Gästhus
    • Dryckesdistributörer
    • Hotell
    Fastigheter
    • Fastighetsbyråer
    • Arkitektfirmor
    • Byggföretag
    • Fastighetsägare
    • Trädgårdsmästare
    • Bostadsrättsföreningar
    Hitta en konsult
    • Redovisningsbyrå
    • Odoo Partner
    • Reklambyråer
    • Advokatbyråer
    • Rekrytering
    • Revisioner och certifieringar
    Produktion
    • Textilproduktion
    • Metallproduktion
    • Möbelproduktion
    • Livsmedelsproduktion
    • Bryggerier
    • Företagsgåvor
    Hälsa och fitness
    • Sportklubbar
    • Optiker
    • Träningscenter
    • Friskvård
    • Apotek
    • Frisörsalonger
    Hantverk
    • Hantverkare
    • IT-utrustning och kundtjänst
    • Solceller, solpaneler och solenergi
    • Skomakare
    • Städföretag
    • VVS-tjänster
    Övrigt
    • Ideella föreningar
    • Miljöförvaltningar
    • Uthyrning av reklamtavlor
    • Fotografer
    • Cykeluthyrning
    • Återförsäljare av mjukvara
    Upptäck alla Branscher
  • Community
    Utbildning
    • Instruktionsvideor
    • Dokumentation
    • Certifiering
    • Utbildningar
    • Blogg
    • Podcast
    Lär dig med oss
    • Workshops
    • Företagsspelet Scale Up!
    • Studiebesök hos Odoo
    Mjukvaran
    • Ladda ner
    • Jämför utgåvor
    • Versionsinformation
    Samverkan
    • GitHub
    • Forum
    • Evenemang
    • Översättningar
    • Bli en partner
    • Partnertjänster
    • Registrera din redovisningsbyrå
    Våra tjänster
    • Partners
    • Revisorer
    • Träffa en rådgivare
    • Implementering
    • Kundrecensioner
    • Kundtjänst
    • Uppgraderingar
    GitHub Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Boka en demo
  • Priser
  • Hjälp
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Hjälp

What is the Python error `TypeError: 'bool' object is unsubscriptable`?

Prenumerera

Få ett meddelande när det finns aktivitet på detta inlägg

Denna fråga har flaggats
python
3 Svar
34336 Vyer
Avatar
ahmed

i am a beginner in eprnerp and I currently working on the implementation of the payroll module Moroccan openerp 6.0 ​​on Windows XP, so everything was a wonder until the last step where I wanted to calculate the pay slip every time I Click on the button I get this error message:

Traceback (most recent call last): File "netsvc.pyo", line 489, in dispatch File "service\web_services.pyo", line 599, in dispatch File "osv\osv.pyo", line 122, in wrapper File "osv\osv.pyo", line 176, in execute File "osv\osv.pyo", line 167, in execute_cr File "C:\Program Files\OpenERP6.0\Server\addons\syst_hr_payroll_ma\hr_payroll_ma.py", line 154, in compute_all_lines File "osv\orm.pyo", line 181, in <lambda> File "C:\Program Files\OpenERP6.0\Server\addons\syst_hr_payroll_ma\hr_payroll_ma.py", line 674, in compute_all_lines File "C:\Program Files\OpenERP6.0\Server\addons\syst_hr_payroll_ma\hr_payroll_ma.py", line 518, in get_igr TypeError: 'bool' object is unsubscriptable

And here is the line of code concern:

def get_igr(self, cr, uid, ids, montant, cotisations): #print('fonction IGR') res = {} taux=0 somme=0 salaire_net_imposable = 0 pool = pooler.get_pool(cr.dbname) id_bulletin = ids[0] bulletin = pool.get('hr.payroll_ma.bulletin').browse(cr, uid, id_bulletin) personnes = bulletin.employee_id.chargefam logement = bulletin.employee_id.logement params = self.pool.get('hr.payroll_ma.parametres') ids_params = params.search(cr, uid, []) dictionnaire = params.read(cr, uid, ids_params[0]) fraispro = montant * dictionnaire['fraispro'] / 100 if fraispro < dictionnaire['plafond']: salaire_net_imposable = montant - fraispro - cotisations - logement else : salaire_net_imposable = montant - dictionnaire['plafond'] - cotisations - logement

    objet_ir = self.pool.get('hr.payroll_ma.ir')
    id_ir = objet_ir.search(cr, uid, [])
    liste = objet_ir.read(cr, uid, id_ir, ['debuttranche', 'fintranche', 'taux', 'somme'])
    for tranche in liste:
        if(salaire_net_imposable >= tranche['debuttranche']/12) and (salaire_net_imposable < tranche['fintranche']/12):
            taux = (tranche['taux'])
            somme = (tranche['somme']/12) 

    ir_brute = (salaire_net_imposable * taux / 100) - somme
    if((ir_brute - (personnes * dictionnaire['charge'])) < 0):
        ir_net = 0
    else:
        ir_net = ir_brute - (personnes * dictionnaire['charge'])
    res = {'salaire_net_imposable':salaire_net_imposable,
         'taux':taux,
         'ir_net':ir_net,
         'credit_account_id':dictionnaire['credit_account_id'][0],
         'frais_pro' : fraispro,
         'personnes' : personnes
         }

    return res

So I apologize for the inconvenience and I hope you can help me thank you in advance

0
Avatar
Avbryt
ahmed
Författare

any help please ???

Andreas Brueckl

It would be good if you update your question which more code instead of just showing one line.

ahmed
Författare

agree this is done and I hope you can help me :)

Nicolas Bessi

Your dictionnaire var is probabley a boolean (False or True)

Andreas Brueckl

I can not see the additional code!

ahmed
Författare

and now you can see it ??

ahmed
Författare

yes it is true this boolean variable is but I do not know where is the problem exactly, is that I should not put type variable or there yardstick method for spesifique called boolean variable

Lucio

Can you please point line 518 in the code of hr_payroll_ma.py?

ahmed
Författare

yes lucio this is the line 518 of code : 'credit_account_id':dictionnaire['credit_account_id'][0],

Lucio

What are you getting now? I can not see any updates in your question although you are constantly updating it!

ahmed
Författare

yes I know there is no update in my question I wanted ONLY FOR that another person has come to see sorry

Avatar
Lucio
Bästa svar

You are defining dictionnarie within this 3 lines:

params = self.pool.get('hr.payroll_ma.parametres') 
ids_params = params.search(cr, uid, []) 
dictionnaire = params.read(cr, uid, ids_params[0])

And the error is coming from here:

dictionnaire['credit_account_id'][0]

because it seems that when accessing dictionnaire with key 'credit_account_id' you are getting False.

This is probably because the record you are reading in here:

dictionnaire = params.read(cr, uid, ids_params[0])

has no reference to an credit account.

It is weird for my that you are reading the first that appears, so I do not know how you want to solve this. If there should be a value in there or it might no be any, which value is supposed to be stored in dictionnarie in the first place...

But the explanation of why is not working, I am pretty sure that is the one above.

Good Luck!

1
Avatar
Avbryt
ahmed
Författare

thank you very much, I appreciate your effort to explain

Avatar
nazarii
Bästa svar

You need to change this line to:

'credit_account_id':dictionnaire['credit_account_id'] and dictionnaire['credit_account_id'][0] or False,

Error occurs because dictionary returned {'credit_account_id': False}, expected {'credit_account_id': [1,2,3...]} or smth like that. Hope this will help.

1
Avatar
Avbryt
Avatar
ahmed
Författare Bästa svar

thank you for your help as even despite it not work :(

0
Avatar
Avbryt
ahmed
Författare

problem solved: the problem was: I want to access a variable 'credit_account_id' in the form of pay slip without grasping parameters in payroll so it returns the value false to me generates this error thank you to everyone who tried to help me

Njuter du av diskussionen? Läs inte bara, delta också!

Skapa ett konto idag för att ta del av exklusiva funktioner och engagera dig i vår fantastiska community!

Registrera dig
Relaterade inlägg Svar Vyer Verksamhet
Display BOM version in Purchase order(for subcontracting) or in LOT/SN page
python
Avatar
0
mars 26
10
new python env
python
Avatar
0
mars 25
3570
What means "Too many values to unpack" message? Löst
python
Avatar
Avatar
Avatar
Avatar
Avatar
4
apr. 24
177596
have no data in screen. read data in my own module from different model
python
Avatar
0
dec. 23
3880
How to insert value to a one2many field in table with create method? Löst
python
Avatar
Avatar
Avatar
Avatar
Avatar
5
juli 25
235404
Community
  • Instruktionsvideor
  • Dokumentation
  • Forum
Öppen källkod
  • Ladda ner
  • GitHub
  • Runbot
  • Översättningar
Tjänster
  • Odoo.sh Hosting
  • Kundtjänst
  • Uppgradera
  • Anpassningsbara modifikationer
  • Utbildning
  • Revisorer
  • Partners
  • Bli en partner
Om oss
  • Vårt företag
  • Varumärkestillgångar
  • Kontakta oss
  • Jobb
  • Evenemang
  • Podcast
  • Blogg
  • Kunder
  • Juridiskt • Integritet
  • Säkerhet
الْعَرَبيّة 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 är ett affärssystem med öppen källkod som täcker alla dina företagsbehov: CRM, e-handel, bokföring, lager, kassasystem, projektledning, och så vidare.

Odoos unika värdeförslag är att samtidigt vara väldigt enkel att använda men också helt integrerad.

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