Skip to Content

Odoo 19: Setja fyrirtæki í geymslu ásamt gáttarnotendum – einingin partner_archive_users með spurningu í stað villuboða

3. nóvember 2026 | Odoo 19 Community | Eigin þróun
3. nóvember 2026 by
Odoo 19: Setja fyrirtæki í geymslu ásamt gáttarnotendum – einingin partner_archive_users með spurningu í stað villuboða

Odoo 19 einingin partner_archive_users: Spurning þegar fyrirtæki með gáttarnotendur er sett í geymslu

Viðskiptavinafyrirtæki hefur flutt sig, samningnum er lokið og þú vilt setja það í geymslu í Odoo. Odoo svarar með villuboðum: „Þú getur ekki sett í geymslu tengiliði sem eru tengdir virkum notanda. Settu fyrst viðkomandi notanda í geymslu.“ Hafi fyrirtækið marga gáttaraðganga þýðir það: leita að hverjum notanda fyrir sig, setja hvern í geymslu fyrir sig, aftur að fyrirtækinu, setja það aftur í geymslu.

Við skrifuðum til þess litlu eininguna Setja fyrirtæki í geymslu ásamt gáttarnotendum (partner_archive_users) fyrir Odoo 19. Í stað villuboðanna kemur spurning, og við „Já“ eru gáttarnotendurnir og fyrirtækið sett í geymslu í einu skrefi. Einingin er aðgengileg sem frjáls hugbúnaður undir AGPL-3-leyfinu á GitHub:

github.com/Alex0176/odoo-partner-archive-users

Við höfum notað eininguna hjá Biricon IT Services í framleiðslukerfinu okkar frá 3. nóvember 2026. Hún er ný, reynslan af henni er því stutt. Sá sem tekur hana upp ætti að lesa kaflana um gildissvið og takmarkanir .

Vandinn í staðal-Odoo

Odoo athugar þegar tengiliður er settur í geymslu hvort notandi sé tengdur honum og hættir við ef svo er. Athugunin er skynsamleg því að hver notandi þarf tengilið. Fyrir innri notendur, það er að segja starfsmenn, er lásinn einnig ætlaður. Hjá gáttarnotendum viðskiptavina er hann hins vegar fyrst og fremst handavinna. Hvert viðskiptavinafyrirtæki með gáttaraðganga, til dæmis til að skoða reikninga og miða, þarf sama ferli við vistun í geymslu:

  1. Leita að notendum fyrirtækisins og tengiliða þess,
  2. setja hvern fyrir sig í geymslu,
  3. aftur að fyrirtækinu,
  4. setja fyrirtækið í geymslu.

Lausnin: spurning

Einingin útvíkkar leiðina Aðgerð → Setja í geymslu á tengiliðnum, bæði í eyðublaði og í lista. Séu virkir gáttarnotendur tengdir völdu fyrirtæki eða tengiliðum þess opnast gluggi með spurningunni „Á í raun að setja fyrirtækið í geymslu? Enn eru virkir notendur í kerfinu.“ Þar fyrir neðan standa viðkomandi notendur með nafni, innskráningarnafni og tengilið.

Samanburður: Villuboð Odoo þegar fyrirtæki er sett í geymslu og spurningargluggi einingarinnar

  • Já, setja fyrirtæki og notendur í geymslu: Fyrst eru notendurnir settir í geymslu, síðan fyrirtækið.
  • Hætta við: Ekkert breytist.
  • Engir gáttarnotendur til staðar: Odoo hegðar sér eins og áður, enginn gluggi birtist.

Hvað er sett í geymslu og hvað ekki

Gildissviðið er viljandi þröngt:

Yfirlit: Gáttarnotendur og fyrirtæki eru sett í geymslu, tengiliðir haldast virkir, innri notendur eru aldrei snertir

  • Aðeins gáttar- og opinberir notendur (share = True). Innri notendur eru aldrei settir í geymslu um þessa leið. Sé starfsmannsaðgangur tengdur við tengiliðinn helst villuboð Odoo. Þannig læsir enginn starfsmann fyrir slysni af því að hann setti fyrirtæki í geymslu.
  • Tengiliðir haldast virkir sem tengiliðir. Aðeins gáttaraðgangar þeirra eru settir í geymslu. Það samsvarar staðal-Odoo, sem snertir heldur ekki undirtengiliði þegar fyrirtæki er sett í geymslu.
  • Aðeins geymsluleið viðmótsins. Bein write({'active': False}), til dæmis í innflutningi eða skriftu, fer óbreytt inn í athugun Odoo.

Tæknileg útfærsla

Einingin hefur enga nýja reiti á fyrirliggjandi líkönum. Hún samanstendur af útvíkkun á res.partner.action_archive og aðstoðarforriti (partner.archive.users.wizard) sem birtist sem gluggi.

ByggingarhlutiHlutverk
action_archive á tengiliðnumLeitar að virkum notendum með share = True sem eru tengdir tengiliðnum eða (hjá fyrirtækjum) tengiliðum fyrirtækisins. Séu einhverjir er glugginn skilaður í stað þess að setja í geymslu.
AðstoðarforritVistar fyrirtæki og fundna notendur, sýnir þá og framkvæmir við „Já“ vistunina í geymslu með samhengislyklinum archive_linked_users.
Samhengi skip_archive_users_wizardSlekkur á glugganum. Þá gildir athugun Odoo aftur.
AðgangurAðstoðarforritið mega innri notendur (base.group_user) búa til og nota.
ÞýðingÞýsk þýðing (de.po) og sniðmát (.pot) fylgja með.

Notendurnir eru fundnir og settir í geymslu með auknum réttindum (sudo). Þannig virkar glugginn einnig fyrir notendur án aðgangs að notendastjórnun. Bakhliðin er undir takmarkanir.

Uppgötvun: Prófunin var græn, en svargluggi samt bilaður

Einingin hafði við fyrstu notkun villu sem sjálfvirku prófanirnar fundu ekki. Við fyrsta smell á „Setja í geymslu“ í viðmótinu birtist í stað gluggans villuskjár Odoo með Cannot read properties of undefined (reading 'map').

Orsökin: Vefbiðlarinn kallar beint á action_archive og framkvæmir skilaða aðgerð án frekari úrvinnslu. Þar les hann nauðsynlega lykil aðgerðarinnar views. Aðgerð okkar hafði aðeins view_mode. Aðgerðir úr hnöppum með type="object" bætir þjónninn áður við (clean_action í call_button), en ekki beint kall á action_archive. Prófanirnar kölluðu aðeins á fallið í Python og þar kom vantandi reiturinn ekki í ljós.

Lagfæringin er ein lína ("views": [(False, "form")]), auk þess kemur athugun í prófuninni sem krefst einmitt þessa lykils. Við það var ekkert sett í geymslu. Lærdómurinn: Sá sem skilar aðgerð úr falli sem biðlarinn kallar beint á (action_archive, action_unarchive og áþekk) ætti alltaf að láta views fylgja með.

Uppsetning

git clone https://github.com/Alex0176/odoo-partner-archive-users.git
ln -s /pfad/odoo-partner-archive-users/partner_archive_users /pfad/addons/
odoo-bin -c odoo.conf -d <datenbank> -i partner_archive_users --stop-after-init

Háðleikar eru base og contacts. Eftir uppsetninguna þarf að endurræsa Odoo-þjónustuna því að einingin inniheldur Python-kóða. Sá sem rekur framleiðslukerfi setur eininguna fyrst upp á afriti gagnagrunnsins.

takmarkanir

  • Heimild. Þar sem notendurnir eru settir í geymslu með auknum réttindum getur hver sem má setja tengilið í geymslu einnig sett gáttaraðganga þessa fyrirtækis í geymslu í gegnum gluggann. Þetta á ekki við um innri notendur. Sá sem vill tryggja gáttaraðganga nákvæmar verður að aðlaga eininguna.
  • Engin sjálfvirk endurheimt. Sé fyrirtækið virkjað aftur síðar haldast notendurnir í geymslu. Þá verður að virkja aftur í höndunum.
  • Aðeins tengiliðir. Einingin varðar fyrirtæki sem tengiliði (res.partner). Að setja Odoo-fyrirtæki (res.company) í geymslu hefur aðrar athuganir, til dæmis þegar það er enn staðalfyrirtæki notenda. Einingin er ekki ætluð til þess.
  • Aðeins prófað með Odoo 19.0 Community. Fyrir aðrar útgáfur höfum við ekki athugað hana.

Algengar spurningar

Hvers vegna eru starfsmenn ekki settir í geymslu líka?

Innri notandi hefur réttindi í kerfinu og er oftast tengdur eigin gögnum, verkefnum og heimildum. Að læsa honum sem aukaverkun af því að setja fyrirtæki í geymslu er okkur of áhættusamt. Þess vegna helst villuboð Odoo.

Get ég slökkt á spurningunni?

Í kóðanum með samhenginu skip_archive_users_wizard. Stilling í viðmótinu er ekki til. Sá sem fjarlægir eininguna fær aftur staðalhegðun Odoo.

Undir hvaða leyfi er hún?

Undir AGPL-3. Villur og úrbætur eru vel þegnar sem issue í GitHub-geymslunni .

Aðstoð frá Biricon IT Services

Við sjáum um Odoo-uppsetningar fyrir lítil og meðalstór fyrirtæki: frá innleiðingu til sérsniðna og flutninga og áfram til daglegs reksturs. Ef þú vilt einfalda ferli eins og að setja viðskiptavinafyrirtæki í geymslu í Odoo, setja upp gátt fyrir viðskiptavini þína eða koma einingu örugglega í framleiðsluumhverfið þitt, hjálpum við með ánægju. Fleiri eigin þróunarverkefni: Skjalanúmer úr forskeyti, ári og teljara, Fyrirtækjaskrá og vistfangaathugun fyrir austurríska viðskiptavini og Vörusett í tilboði sem hluti.

Hafðu samband núna

Staða: 3. nóvember 2026. Einingarútgáfa 19.0.1.0.0 með lagfæringunni sama dag. Öll nöfn og innskráningarnöfn á myndunum eru frjálst valin.