Siirry sisältöön

Odoo:n Tekstikenttä: Täydellinen Opas

Kaikki, mitä sinun tarvitsee tietää Odoo-tietomallin Tekstikentästä, peruskäytöstä tekniseen mukauttamiseen
6. maaliskuuta 2026 kirjoittanut
Odoo:n Tekstikenttä: Täydellinen Opas
Dasolo
| Ei vielä kommentteja

Johdanto


Tekstikenttä on yksi käytännöllisimmistä kenttätyypeistä Odoossa. Aina kun käyttäjä täyttää muistiinpanokentän, kirjoittaa tuotekuvauksen tai lisää sisäisen kommentin myyntitilaukseen, on todennäköistä, että hän kirjoittaa Tekstikenttään.


Se näyttää yksinkertaiselta tekstialueelta käyttöliittymässä, mutta sen ominaisuuksien ymmärtäminen ja se, miten se sopii Odoo-tietomalliin ja ORM:ään, tekee todellisen eron, kun suunnittelet lomakkeita, rakennat mukautettuja moduuleja tai asetat Odoo Studio -kenttiä tiimillesi.

Tämä opas kattaa kaiken siitä, mitä Tekstikenttä tallentaa ja miten se käyttäytyy, todellisiin liiketoimintakäyttötapauksiin, tekniseen mukauttamiseen, parhaisiin käytäntöihin ja virheisiin, joita useimmat ihmiset tekevät tämän kenttätyypin valitsemisessa.

Mikä on Tekstikenttä Odoossa


Odoon ORM:ssä fields.Text on kenttätyyppi monirivisen tavallisen tekstin tallentamiseen. Se vastaa TEXT -saraketta PostgreSQL:ssä, ilman pituusrajoitusta. Käyttäjät voivat kirjoittaa yhden lauseen tai useita kappaleita, ja kenttä käsittelee sen yhtä hyvin.


Lomakkeissa se renderöityy muokattavaksi <textarea> -elementiksi. Luettelonäkymissä se näkyy katkaistuna tavallisena tekstinä. Hakunäkymissä se tukee tekstipohjaista suodatusta aivan kuten Char-kenttä.


Tässä on esimerkki perus Text-kentän määritelmästä Python-moduulissa:

from odoo import fields, models

class SaleOrder(models.Model):
    _inherit = 'sale.order'

    internal_notes = fields.Text(
        string='Internal Notes',
        translate=False,
    )

Odoo Studiolla tämä kenttä kutsutaan Moniriviseksi tekstiksi. Kun se luodaan Studion kautta, Odoo lisää automaattisesti x_studio_ -etuliitteen. Kun luot sen koodin tai XML-RPC API:n kautta, määrittelet teknisen nimen itse.


Kuinka se eroaa Char- ja Html-kentistä

Kolme kenttätyyppiä Odoossa voi tallentaa tekstisisältöä, ja niiden käytön oikea aika on yleinen hämmennyksen aihe:


  • Char-kenttä: Yhden rivin tekstisyöttö. Paras lyhyille arvoille, kuten nimille, koodeille ja viitteille. Tukee valinnaista kokorajoitusta.
  • Text-kenttä: Monirivinen tekstialue. Paras muistiinpanoille, kuvauksille ja vapaamuotoisille kommenteille. Tallentaa tavallista tekstiä ilman muotoilua.
  • Html-kenttä: Monirivinen rikkaan tekstin muokkaaja. Paras sisältöön, jossa muotoilu on tärkeää, kuten sähköpostipohjat, tuotteen verkkokuvaukset tai verkkosivut. Tallentaa HTML-merkintöjä.

Text-kenttä sijaitsee näiden kahden välissä. Se antaa käyttäjille enemmän tilaa kuin Char-kenttä, mutta ilman HTML-merkintöjen monimutkaisuutta. Useimmille sisäisille muistiinpanoille ja yksinkertaisille kuvauksille se on oikea valinta Odoo-tietomallissa.

Kuinka Kenttä Toimii


Kun lisäät Text-kentän Odoo-malliin, kehys luo automaattisesti vastaavan TEXT -sarakkeen PostgreSQL:ssä moduulin asennuksen tai päivityksen aikana. Manuaalisia SQL-migraatioita ei tarvita.


Toisin kuin Char-kentässä, Text-kentissä ei ole käytettävissä size -parametria. Tietokannan sarake ei aseta merkkirajoitusta. Tämä on suunniteltu näin: Text-kentät on tarkoitettu avoimen sisällön tallentamiseen, jossa pituuden rajoittaminen etukäteen ei olisi järkevää.


Avainkenttäominaisuudet

Tekstikentän tärkeimmät ominaisuudet Odoo-kehyksessä:


  • käännä: Kun se on asetettu True, kentän arvo voidaan kääntää kunkin kielen mukaan. Hyödyllinen monikielisissä Odoo-instanseissa, joissa teksti muuttuu käyttäjän kielen mukaan.
  • pakollinen: Tekee kentästä pakollisen käyttöliittymä- ja ORM-tasolla. Käyttäjät eivät voi tallentaa tietuetta ilman sen täyttämistä.
  • oletusarvo: Asettaa automaattisen oletusarvon, kun uusia tietueita luodaan. Voi olla staattinen merkkijono tai kutsuttava metodi.
  • laske: Liittää Python-metodin, joka luo kentän arvon dynaamisesti. Hyödyllinen automaattisesti luoduissa yhteenvetoissa tai johdetuissa sisällöissä.
  • tallenna: Kun se yhdistetään laske-ominaisuuteen, se hallitsee, tallennetaanko lasketut arvot tietokantaan. Kun tallenna=True, arvo on haettavissa ja saatavilla raporteissa.
  • kopioi: Hallitsee, sisältyykö kentän arvo tietueen kopioimisen yhteydessä. Oletuksena True. Aseta False muistiinpanoille, joita ei pitäisi siirtää kopioihin.
  • indeksi: Ei yleisesti käytetä tekstikentillä, koska täysivärinen indeksointi toimii eri tavalla kuin Char-kentille käytettävä yksinkertainen B-puuindeksi. Haettavalle sisällölle PostgreSQL:n täysivärinen haku tai Odoon sisäänrakennettu suodatus on yleensä riittävä.

Miten se näkyy näkymissä

Lomakenäkymissä tekstikenttä renderöidään <textarea>-elementtinä, jota käyttäjät voivat muuttaa pystysuunnassa. Luettelonäkymissä sisältö katkaistaan sopimaan sarakkeen leveyteen. Hakunäkymissä se tukee tekstipohjaisia hakusuodattimia suoraan, kunhan lisäät sen hakunäkymän määrittelyyn.


Toisin kuin Html-kentät, tekstikenttä ei lataa WYSIWYG-editoria. Käyttäjät näkevät tavallisen tekstialueen ilman muotoilupalkkia. Se, mitä he kirjoittavat, on tarkalleen se, mikä tallennetaan tietokantaan, ja rivinvaihdot säilytetään.


Vuorovaikutus Odoo ORM:n kanssa

Kehittäjän näkökulmasta Odoo-kehityksessä tekstikenttien lukeminen ja kirjoittaminen on suoraviivaista. Pääset käsiksi arvoon suoraan tietueobjektissa, ja ORM huolehtii kaikesta pysyvyydestä. Rivinvaihdot tallennetaan sellaisenaan. Yksinkertaisille tekstikentille ei sovelleta automaattista puhdistusta tai pakotusta, mikä on yksi syy siihen, miksi se eroaa Html-kentästä, jossa Odoo soveltaa puhdistusta estääkseen XSS-ongelmia.

Liiketoimintakäyttötapaukset


Tekstikenttiä esiintyy Odoossa paikoissa, joissa käyttäjien on kirjoitettava enemmän kuin yksi rivi. Tässä on viisi konkreettista esimerkkiä todellisista liiketoimintatyönkuluista.


Myynti: Sisäiset tilausmuistiinpanot

Myyntitilauksissa note-kenttä ja joissakin toteutuksissa käytettävä internal_note-kenttä ovat tekstikenttiä. Myyntiedustajat käyttävät niitä tallentaakseen toimitusohjeita, erityisiä pakkausvaatimuksia tai asiakastoiveita, jotka eivät sovi siististi rakenteelliseen kenttään. Nämä muistiinpanot kulkevat tilauksen mukana ja ovat näkyvissä operatiivisille tiimeille ilman, että niitä tulostetaan asiakirjoihin.


Varasto: Tuotteen sisäiset muistiinpanot

Tuotteen lomakkeessa Odoo tarjoaa Muistiinpanot-välilehden, jossa on tekstikenttä sisäisiä kommentteja varten. Varastotiimit käyttävät tätä dokumentoidakseen käsittelyohjeita, herkkyysvaroituksia tai toimittajakohtaisia tietoja. Koska se on tavallista tekstiä eikä näytetä verkkosivustolla tai asiakirjoissa, on turvallista kirjoittaa operatiivisia tietoja, joita ulkopuoliset osapuolet eivät saisi nähdä.


Osto: Toimittajan ehdot ja toimitusohjeet

Ostotilauksissa tekstikenttä toimittajan muistiinpanoille mahdollistaa hankintatiimien dokumentoida erityisiä sopimuksia tai toimitusrajoituksia, jotka on vahvistettu sähköpostitse tai puhelimitse. Tämän tiedon liittäminen tilausrekisteriin estää väärinkäsityksiä, kun tavarat saapuvat ja alkuperäistä keskustelua ei enää ole helppo löytää.


CRM: Mahdollisuuksien yhteenveto ja kokousmuistiinpanot

Myyntitiimit, jotka työskentelevät CRM-putkessa, lisäävät usein tekstikentän mahdollisuustietueisiin asiakkaiden kokouksista, esiin tulleista vastalauseista tai ostoprosessin kontekstista peräisin olevia vapaamuotoisia muistiinpanoja. Toisin kuin keskustelusviitit, omistettu tekstikenttä pitää tämän tiedon rakenteellisena ja helposti luettavana yhdellä silmäyksellä, kun joku muu ottaa johdon.


HR: Työntekijöiden ja hakijoiden kommentit

HR-tiimien on usein tarpeen tallentaa haastattelumuistiinpanoja, perehdytyskommentteja tai suorituskykyhavaintoja kenttään, joka pysyy kiinnitettynä työntekijä- tai hakijarekisteriin. Tekstikenttä työntekijämallissa on siisti ja yksinkertainen tapa tallentaa tämä ilman erillisen mallin luomista. Se on haettavissa, tulostettavissa ja helppo sisällyttää mukautettuihin HR-raportteihin.

Tekstikentän Luominen tai Mukauttaminen


Tekstikentän lisäämiseen Odoo-malliin on kolme pääasiallista tapaa, riippuen teknisestä kontekstistasi ja käyttöönotto lähestymistavastasi.


Odoo Studion käyttäminen (ilman koodia)

Odoo Studio on helpoin reitti liiketoimintakäyttäjille ja konsultteille, jotka eivät halua kirjoittaa koodia. Lisätäksesi tekstikentän ilman kehitystyötä:

  1. Avaa Odoo Studio päävalikosta (vaatii Studio-sovelluksen).
  2. Siirry lomakkeeseen, johon haluat kentän.
  3. Vedä Monirivinen tekstikenttä Studio-sivupalkista lomakkeelle.
  4. Aseta kenttäominaisuuksien paneelissa etiketti, vaatimustila ja mahdollinen oletusarvo.
  5. Tallenna ja sulje Studio.

Studio hoitaa kentän luomisen ja näkymän päivityksen automaattisesti. Kenttä saa x_studio_-etuliitteen ja on heti käytettävissä lomakkeella ilman tietokannan migraatiota tai palvelimen uudelleenkäynnistystä.


Pythonin käyttäminen mukautetussa moduulissa

Kaikissa mukautuksissa, jotka tarvitsevat versionhallintaa ja käyttöönottoa useissa ympäristöissä, kentän määrittäminen Pythonissa on oikea lähestymistapa. Tämä on standardi Odoo-kehityskäytäntö:


from odoo import fields, models

class ResPartner(models.Model):
    _inherit = 'res.partner'

    x_client_notes = fields.Text(
        string='Client Notes',
        translate=False,
        copy=False,
    )

Kun olet määrittänyt kentän mallitiedostossa, sinun on lisättävä se asiaankuuluvaan näkymä-XML:ään, jotta se näkyy käyttöliittymässä. Odoo luo tietokantapalstan automaattisesti, kun asennat tai päivität moduulin. Tämä on suositeltu lähestymistapa kaikille tuotantoon liittyville Odoo-mukautuksille, joita on ylläpidettävä ajan myötä.


XML-RPC-API:n käyttäminen

Jos hallitset Odoo-kenttiä ohjelmallisesti, esimerkiksi osana käyttöönotto-skriptiä tai etäkonfiguraatiopäiväkirjaa, voit luoda Teksti-kenttiä XML-RPC-API:n kautta:


field_id = models.execute_kw(
    ODOO_DB, uid, ODOO_API_KEY,
    'ir.model.fields', 'create',
    [{
        'name': 'x_client_notes',
        'field_description': 'Client Notes',
        'model_id': model_id,
        'ttype': 'text',
        'state': 'manual',
        'translate': False,
        'copy': False,
    }]
)

Arvo ttype: text kertoo Odoolle, että se luo Teksti-kentän (toisin kuin char Char-kentälle tai html Html-kentälle). Asetus state: manual osoittaa, että tämä kenttä on luotu moduulin ulkopuolella, mikä on oikein Studio:n tai ohjelmallisesti API:n kautta luotujen kenttien kohdalla. Tämä on lähestymistapa, jota Dasolo käyttää asiakkaidensa etäkenttäkonfiguraatioiden käyttöönotossa.

Parhaat Käytännöt


1. Käytä Tekstiä, kun sisältö todella tarvitsee useita rivejä

Yleisin virhe on tarttua Teksti-kenttään, kun Char-kenttä riittäisi. Jos arvo on nimi, koodi, viittaus tai mikä tahansa, joka mahtuu yhdelle riville, käytä Char:ia. Varaa Teksti sisällölle, jossa käyttäjiltä odotetaan lauseiden tai kappaleiden kirjoittamista. Lyhyen yksittäisen arvon syöttäminen Teksti-kenttään luo kömpelön käyttäjäkokemuksen ja harhaanjohtavan tietomallin.


2. Käytä Html:ää, kun muotoilu on tärkeää

Jos käyttäjien on lisättävä luettelomerkkejä, lihavoitua tekstiä, hyperlinkkejä tai muuta visuaalista muotoilua sisältöön, Teksti-kenttä on väärä valinta. Käytä sen sijaan Html-kenttää. Teksti-kentät tukevat vain tavallista tekstiä. Käyttäjiltä pyytäminen kirjoittamaan muotoiltua sisältöä tavalliseen tekstialueeseen johtaa turhautuneisiin käyttäjiin, jotka odottavat muotoiluvaihtoehtoja, joita ei ole.


3. Ota käännös käyttöön käyttäjille suunnatulle monikieliselle sisällölle

Yrityksissä, jotka käyttävät Odoo:ta useilla kielillä, kaikki asiakkaille suunnatuissa asiakirjoissa tai verkkosivustolla näkyvät Teksti-kentät tulisi asettaa translate=True. Tämä antaa kääntäjille mahdollisuuden tarjota kielikohtaisia versioita sisällöstä ilman, että he ylikirjoittavat toistensa työtä. Sisäisille muistiinpanoille ja operatiivisille kommenteille, joita käyttäjät kirjoittavat itse, käännöstä ei yleensä tarvita.


4. Aseta copy=False muistiinpanoille, joita ei pitäisi kopioida

Kun käyttäjät kopioivat myyntitilauksen tai tuotteen, tekstikentät kopioidaan oletuksena. Muistiinpanoille, jotka tallentavat kontekstiin liittyvää tietoa alkuperäisestä tietueesta, kuten asiakaskeskustelu tai tietty toimitusongelma, tämä voi aiheuttaa sekaannusta. Aseta copy=False näille kentille, jotta kopioiduilla tietueilla on puhdas muistiinpanosarja.


5. Käytä compute with store=True automaattisesti luotujen yhteenvetojen varten

Tekstikenttiä voidaan laskea dynaamisesti Odoossa. Hyvä malli on rakentaa automaattisesti luotu yhteenvetokenttä, joka yhdistää arvoja muista kentistä tietueessa. store=True ja asianmukaiset @api.depends() -triggereiden avulla lasketut tekstit tallennetaan tietokantaan ja niistä tulee haettavia luettelonäkymissä ja suodattimissa. Tämä on käytännöllinen Odoo-laskettujen kenttien tekniikka kevyiden sisäisten yhteenvetojen luomiseksi ilman erillisen raportin rakentamista.

Yleiset Ansat


Valitse Teksti, kun Html on tarpeen

Jos kentän on tarkoitus sisältää sisältöä, joka näytetään verkkosivustolla tai muotoillussa PDF-raportissa, Tekstin käyttäminen Html:n sijaan poistaa kaiken muotoilun. Käyttäjät, jotka liittävät sisältöä, jossa on luettelopisteitä tai lihavoitua tekstiä, Tekstikenttään, näkevät sen tasaisena, muotoilemattona proosana. Kysy aina, tarvitseeko tulostuskanava muotoilua ennen kenttätyypin valitsemista.


Valitse Teksti, kun Char on oikea valinta

Tekstikenttä renderöityy korkeana, säädettävänä tekstialueena. Jos kenttä tulee koskaan sisältämään vain lyhyen arvon, kuten seurantakoodin tai tuotemuunnelmakoodin, Tekstin käyttäminen tekee lomakkeesta tarpeettoman kömpelön. Yhden rivin sisältö kuuluu Char-kenttään, joka renderöityy kompaktina tekstikenttänä, joka sopii luonnollisesti lomakeasetteluun.


Unohtaminen kääntää monikieliset nimilaput ja kuvaukset

Odoo-instantseissa, jotka on otettu käyttöön useissa maissa, translate=True -attribuutin puuttuminen käyttäjille näkyvästä Tekstikentästä tarkoittaa, että kaikki käyttäjät näkevät saman arvon kieliasetuksistaan riippumatta. Tämä on erityisen ongelmallista tuotteen kuvauksille ja kategorian muistiinpanoille, jotka näkyvät käyttöliittymässä. Korjaus on yksinkertainen, mutta sen lisääminen, kun tiedot ovat jo järjestelmässä, vaatii huolellista migraatiota olemassa olevien arvojen ylikirjoittamisen välttämiseksi.


Tekstin käyttäminen rakenteelliselle datalle

Tekstikenttä, joka tallentaa JSON:ia, putkieroteltuja arvoja tai muita käsin valmistettuja rakenteellisia muotoja, on huoltokysymys, joka odottaa tapahtumistaan. Jos tiedoilla on johdonmukainen rakenne, ne tulisi tallentaa asianmukaisiin Odoo-kenttätyyppeihin: Valinta kiinteille vaihtoehdoille, Many2one suhteille tai liittyvälle mallille, jossa on oikeat kentät. Rakenteen koodaus vapaatekstikenttään tekee datan luotettavan suodattamisen, ryhmittelyn tai raportoinnin mahdottomaksi.


Älä lisää kenttää hakunäkymään

Tekstikenttä, joka sisältää tärkeitä tietoja mutta ei ole mukana mallin hakunäkymässä, ei voi suodattaa luettelonäkymän hakupalkista. Käyttäjät päätyvät selaamaan tietueita löytääkseen tarvitsemansa sen sijaan, että he voisivat yksinkertaisesti kirjoittaa avainsanan. Jos tekstikenttä tallentaa tietoja, joita käyttäjät haluavat hakea, lisää se hakunäkymän määrittelyyn kenttää luodessasi.

Yhteenveto


Tekstikenttä on yksi niistä rakennuspalikoista Odoo-kehyksessä, joka näyttää huomaamattomalta, kunnes alat suunnitella lomakkeita vakavasti.


 Valinta Char-, Text- ja Html-kenttien välillä on yksi ensimmäisistä päätöksistä, joita kohtaat missä tahansa Odoo-kustomointiprojektissa, ja oikean valinnan tekeminen alusta alkaen välttää uudelleen tekemistä ja tietojen laatuongelmia myöhemmin.

Olitpa sitten lisäämässä muistiinpanokenttää Odoo Studiolla, määrittämässä sitä Python-moduulissa tai luomassa sitä ohjelmallisesti API:n kautta, tämän oppaan mallit auttavat sinua tekemään oikean päätöksen ja määrittämään kentän oikein käyttötapaasi varten.


Hyvin suunniteltu Odoo-tietomalli perustuu pieniin, hyvin valittuihin päätöksiin. Oikean kenttätyypin valinta jokaiselle tiedonpalalle on yksi niistä, ja tekstikenttä, käytettynä oikeassa kontekstissa, on luotettava ja joustava työkalu sellaisten sisältöjen tallentamiseen, jotka eivät sovi siististi rakenteisiin kenttiin.

Dasolossa autamme yrityksiä toteuttamaan, mukauttamaan ja optimoimaan Odoo:ta kaikilla osastoilla. Olitpa sitten tarvitsemasi apua puhtaan tietomallin suunnittelussa, mukautettujen kenttien ja työnkulkujen rakentamisessa tai täydellisen Odoo-toteutuksen perustamisesta alusta alkaen, tiimimme on täällä tukemassa sinua. Ota yhteyttä ja keskustellaan Odoo-projektistasi.

Odoo:n Tekstikenttä: Täydellinen Opas
Dasolo 6. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin