Odoo ni moslashtirishning ikki yoʻli bor: Studio bilan kodsiz yoki Python modulida kod bilan. Tanlovni uchta qoida hal qiladi: Odoo Online da maxsus kodli modul ishlamaydi, Studio moslashtirishlarini Odoo yangilash xizmati oʻz ichiga oladi, maxsus modul uchun esa baza yangilanishidan oldin kod yangi versiyaga moslanishi kerak. Shuning uchun oddiy talabni Studio da, standartdan tubdan farq qiladigan mantiqni modulda bajarish maqsadga muvofiq.
Mebel ustaxonasi ikki talab bilan keldi, deylik. Birinchisi: buyurtmaga montaj sanasini qoʻshish. Ikkinchisi: har hujjatda xarajatni ustaxonaning oʻz formulasi bilan hisoblash. Ikkalasi ham moslashtirish hisoblanadi, ammo bir necha yildan keyin, baza yangi versiyaga oʻtganda, ular butunlay boshqa yuk keltirishi mumkin. Tanlov didga emas, hujjatdagi aniq qoidalarga tayanishi kerak, ular quyida.
Birinchi mezon: baza qayerda joylashgan
Odoo Online bazalarini Odoo kompaniyasi oʻzi yuritadi. Hujjat ochiq aytadi: Odoo Online maxsus modullar bilan ham, Odoo Apps Store dagi modullar bilan ham mos emas. Shu bilan birga Online uzoq muddatli ishchi muhit boʻla oladi, jumladan kod talab qilmaydigan moslashtirishlar bilan. Sababi oddiy: Python fayllari bor modulni Online bazaga oʻrnatib boʻlmaydi, shuning uchun yangilash vaqtida modul skriptlarini ishga tushirish ham mumkin emas. Faqat Python fayli yoʻq, sof maʼlumotdan iborat modullar istisno, ammo bu istisno har moduldan oldin alohida tekshirilishi kerak.
Demak, birinchi savol oddiy: baza qayerda turibdi? Online da yagona yoʻl Studio va standart sozlamalar. Odoo.sh va oʻz serveridagi bazalarda ikkala yoʻl ham ochiq, chunki yangilash hujjati maxsus modullarni shu ikki muhitda yangilash tartibini alohida tasvirlaydi.
Ikkinchi mezon: yangilashda kim javob beradi
Bu mezon koʻpincha unutiladi, ammo uning taʼsiri eng katta. Odoo hujjati maxsus modulni shunday taʼriflaydi: Odoo standart kodini kengaytiradigan va Studio da qurilmagan har qanday modul. Yaʼni Studio moslashtirishlari maxsus modul hisoblanmaydi.
Yangilash xizmati qoidalari ham shunga mos. Standart ilovalarning yangilanishi xizmat tarkibiga kiradi, Studio da qilingan moslashtirishlar esa, agar Studio hali oʻrnatilgan va obuna faol boʻlsa, ularga qoʻshiladi. Boshqa modullar, jumladan oʻzingizning yoki uchinchi tomon yozgan modullar, alohida qoʻllab-quvvatlash kelishuvi boʻlmasa, bu xizmatga kirmaydi.
Yana bir qoida bor. Bazada maxsus modul boʻlsa, uning yangi versiyaga mos varianti tayyor boʻlmaguncha baza yangilanmaydi, yangi versiya moslashtirishni buzsa esa uni qayta moslash modul egasining vazifasi. Studio qoidasining ikkinchi tomoni ham bor: Studio ni olib tashlasangiz yoki obuna tugasa, uning moslashtirishlari bu himoyadan chiqib ketadi.
Maxsus moduli bor bazani yangilash olti bosqichdan iborat. Avval ishlanmalar toʻxtatiladi va qayta koʻrib chiqiladi, keyin yangilangan sinov bazasi soʻraladi, uchinchi va toʻrtinchi bosqichda esa modul avval boʻsh bazada, soʻng yangilangan bazada oʻrnatiladigan qilinadi. Beshinchi bosqich keng sinov va mashqni, oxirgisi ishchi bazani yangilashni oʻz ichiga oladi, hujjat esa toʻliq mashqni ishchi bazani yangilashdan bir kun oldin oʻtkazishni tavsiya qiladi. Odoo.sh da bu jarayon qulayroq: sinov tarmogʻida har yangi oʻzgarish yuborilganda yangilangan nusxa qayta tiklanadi va barcha maxsus modullar yangilanadi. Studio moslashtirishlari uchun bunday alohida jarayonni hujjatdan topa olmadik.
Kod yangilashni nima uchun ogʻirlashtiradi
Sababi Odoo ning oʻzi oʻzgarib turishida. Hujjatda real misol bor: 15 dan 16 versiyaga oʻtishda obuna modeli sotuv buyurtmasiga qoʻshib yuborilgan. Natijada obunaga qoʻshilgan maxsus maydonlar avtomatik koʻchmagan va ularni maxsus yangilash skripti bilan koʻchirishga toʻgʻri kelgan. Standart tomonidan nom yoki tuzilma oʻzgarsa, maxsus kod maʼlumotni yoʻqotmaslik uchun qoʻlda moslanadi.
Odoo 20 da ham shunday oʻzgarishlar bor. Aktivlar shablonlari amortizatsiya shablonlari bilan almashtirilgan. Maxsus kod shu tushunchaga tayangan boʻlsa, uni qayta koʻrib chiqish kerak boʻladi, Studio da qurilgan oddiy maydon yoki ekran esa standart yangilash jarayoniga kiradi.
Hujjat yangilashdan keyin oltita narsani tekshirishni tavsiya qiladi: koʻrinishlar, email shablonlari, hisobotlar, server va avtomatik amallar, standart jarayonlardagi oʻzgarishlar hamda hisoblanuvchi maydonlar. Xarajat formulasi hisoblanuvchi maydon, hisobot ustuni va forma koʻrinishini oʻz ichiga olsa, shu oltitadan kamida uchtasi har yangilashda qayta sinaladi. Bu oddiy sanash, aniq vaqt hisobi emas. Yana bir nuqta: yangilash vaqtida muammoli koʻrinish oʻchirib qoʻyiladi, bu haqda yangilash hisobotida yoziladi.
| Gipotetik talab | Yangilashda tekshiriladigan | Kim javob beradi |
|---|---|---|
| Montaj sanasi maydoni, Studio da | Maydon va ekran standart yangilashdan oʻtadi, natijani koʻz bilan tekshirish kerak | Odoo yangilash xizmati, shartlar bajarilsa |
| Xarajat formulasi, modulda | Hisoblanuvchi maydon, hisobot va koʻrinishni qayta sinash, kerak boʻlsa skript yozish | Modul egasi |
Ikkala yoʻl bir bazada birga yashashi mumkin. Hujjat maxsus modulni avval boʻsh bazada tekshirishni aynan shu sababli tavsiya qiladi: ishchi bazadagi Studio moslashtirishlari, maxsus veb-sahifalar, email shablonlari va tarjimalar modulga aloqasi yoʻq muammolarni keltirib chiqarishi mumkin.
Uchinchi mezon: oʻzgarish qayerda yashaydi
Studio oʻzgarishlari bazaning ichida saqlanadi. Maydonni formaga sudrab qoʻysangiz, Studio alohida meros olingan koʻrinish yaratadi va unga oʻzgargan joyni koʻrsatuvchi manzilni yozadi. Yaʼni Studio ham ichkarida meros mexanizmidan foydalanadi, faqat uni sizning oʻrningizga yozadi.
Modulda esa hamma narsa fayl sifatida turadi: tavsif fayli, bogʻliq modullar roʻyxati va maʼlumot fayllari. Meros bu yerda qoʻlda yoziladi. Modul yozdirganda litsenziya masalasi ham paydo boʻladi: tavsif faylida litsenziya koʻrsatilmasa, standart qiymat ochiq litsenziya hisoblanadi, yopiq variantlar esa alohida tanlanadi. Studio dagi hamma narsani boshqa bazaga koʻchirish uchun eksport va import bor, lekin ikkala bazada versiya va ilovalar bir xil boʻlishi shart.
Toʻrtinchi mezon: mantiq qanchalik murakkab
Studio ning kuchi sozlashda: maydon, ekran, hisobot, tasdiqlash va oddiy qoidalar. Mantiq murakkablashganda chegara koʻrinadi. Masalan, formadagi tugma Python usulini chaqira oladi, lekin bu usul Odoo da allaqachon boʻlishi kerak, uni Studio yozmaydi.
Oraliq yoʻl ham bor. Avtomatik qoidalarda maydonni Python ifodasi bilan hisoblash yoki Python kodini bajarish amali mavjud. Hujjatdagi misol: vazifa ustuvorligi eng yuqori, yaʼni uch yulduzga qoʻyilganda, maxsus sana maydoniga shu lahzani yozib qoʻyuvchi qoida. Bu kod, faqat Studio ichida yozilgan. Hujjat bunga alohida ogohlantirish beradi: maxsus kodning qoʻllab-quvvatlanishi obuna tarkibiga kirmaydi va qoʻshimcha shartlar bilan olinadi. Shuning uchun murakkab mantiqni Studio ichiga yashirish yangilash yukini kamaytirmaydi, faqat uni koʻzdan olib tashlaydi.
Boshqa yoʻl: tayyor modul
Moslashtirishning yana bir varianti bor: boshqa birov yozgan tayyor modulni olish, masalan Odoo Apps Store dagi pulli yoki bepul modullarni. Ular ham maxsus modul qatoriga kiradi: Online da ishlamaydi, mualliflari esa faqat reklama qilingan funksiya ishlashi uchungina javob beradi, qoʻshimcha imkoniyat uchun haq soʻrashi mumkin. Odoo.sh da bunday modulni oʻrnatish mumkin, lekin kod ombori yopiq boʻlishi kerak, chunki ochiq omborlarda faqat bepul modullar saqlanishi tavsiya etiladi. Bu yoʻlning chuqur tahlili alohida maqolada.
Talab turi boʻyicha tanlov
Quyidagi jadval mebel ustaxonasi uchun gipotetik talablarni sanaydi, tavsiya ustuni esa tahririyatning yuqoridagi qoidalardan chiqargan mantigʻi, hujjatning toʻgʻridan-toʻgʻri koʻrsatmasi emas.
| Talab | Tavsiya | Asos |
|---|---|---|
| Buyurtmaga montaj sanasi maydoni | Studio | Maydon va ekran Studio tarkibida |
| PDF hisobotga yangi ustun | Studio | Hisobot muharriri bor |
| Katta buyurtmaga direktor tasdigʻi | Studio, tasdiqlash qoidasi | Tasdiqlash qoidalari Studio tarkibida |
| Tayyor boʻlganda mijozga xabar | Studio, avtomatik qoida | Hodisa va amal sozlanadi |
| Xarajatni oʻz formulasi bilan hisoblash | Modul | Murakkab mantiq kod hisoblanadi |
| Standart jarayonni tubdan almashtirish | Modul, avval standart bilan solishtirib | Ortiqcha ishlanmalar yangilashni ogʻirlashtiradi |
| Baza Odoo Online da | Faqat Studio | Maxsus modul mos emas |
Eng arzon moslashtirish: qilmaslik
Yangilash hujjati oddiy gap aytadi. Ishlanmalarni toʻxtating, ularni qayta koʻrib chiqing va funksional muqobil toping. Yangi versiya allaqachon qilib berayotgan narsani oʻzingiz yozmang, chunki bu texnik qarzni kamaytiradi va yangilashni yengillashtiradi. Hujjat yangilashning besh maqsadini sanaydi: qoʻllab-quvvatlanishda qolish, yangi imkoniyatlarni olish, tezlikni oshirish, texnik qarzni kamaytirish va xavfsizlikni yaxshilash. Har ortiqcha moslashtirish shu besh maqsadning kamida bittasiga qarshi ishlaydi.
Amalda bu shuni bildiradi: har moslashtirishdan oldin joriy versiyaning yangiliklarini oʻqib chiqing, maxsus kod yozilgan boʻlsa uni har yangi versiyada qayta koʻrib, standart ichiga kirgan qismini olib tashlang. Moslashtirish qancha kam boʻlsa, yangilash shuncha oson boʻladi. Har talab uchun ikki savol yetarli: yangi versiyada bu allaqachon bormi, va bu yoʻqolsa, uni kim tuzatadi? Birinchisiga javob versiya yangiliklarida, ikkinchisiga javob yangilash xizmati qoidalarida yotadi.
Maxsus modul bilan ishlaganda hujjat avtomatik testlar yozishni tavsiya qiladi, chunki ular keyingi yangilashda hamma sinovni qoʻlda takrorlash ehtiyojini kamaytiradi. Studio moslashtirishlari uchun bunday tavsiyani hujjatdan topa olmadik.
Odatiy xatolar
Hujjatlardan toʻrtta takrorlanuvchi xato koʻrinadi.
- Studio ichida Python kod yozib, uni kodsiz yechim deb hisoblash.
- Standart yoki meros olingan koʻrinishni XML orqali toʻgʻridan-toʻgʻri tahrirlash: yangilanishda u qayta yoziladi.
- Hisobotni nusxa olmasdan oʻzgartirish: sarlavha va oyoqcha oʻzgarishi barcha hisobotlarga taʼsir qiladi.
- Online bazaga uchinchi tomon modulini sotib olish: bu qaytarish uchun asos boʻlmaydi.
Oxirgi band eng ogʻir oqibatli. Odoo Apps shartlari modul sotib olinishidan oldin xaridor bazasi qaysi platformada ekanini tekshirishi shartligini yozadi va Online bazani pulni qaytarmaslik sabablari qatoriga qoʻshadi. Yaʼni moslashtirish tanlovi hosting tanlovidan boshlanadi.
Amalda nima qilish mumkin
Quyidagi qadamlar hujjat qoidalaridan chiqarilgan tahririyat xulosasi.
- Avval bazaning hosting turini aniqlang. Odoo Online da yoʻl yagona.
- Talabni standart imkoniyat bilan solishtiring. Yangi versiya uni oʻzi qilib bermayaptimi?
- Oddiy talab boʻlsa Studio dan boshlang va oʻzgarishni nusxa bazada tekshiring.
- Mantiq murakkab boʻlsa, uni modulga yozdirib, modul egasi va yangilash javobgarligini oldindan yozib qoʻying.
- Studio ichidagi Python kodni ham maxsus kod sifatida hisoblang va alohida roʻyxatda saqlang.
- Studio qoidalariga aniq nom bering va maqsadini izoh yorligʻida yozing: bu keyingi egasiga yordam beradi.
Studio va kod raqib emas, ikkalasi ham moslashtirish vositasi, farq esa javobgarlikda. Studio dagi oʻzgarishni yangilashda Odoo qoʻllab-quvvatlaydi, moduldagini esa uni yozgan odam. Har talabdan oldin shuni soʻrash kerak: yangi versiya buni oʻzi qilib bermayaptimi?
Asosiy atamalar
- Studio
- Odoo ichidagi kodsiz moslashtirish vositasi: maydon, ekran, hisobot va qoidalarni oʻzgartiradi.
- Maxsus modul
- Odoo ning standart kodini kengaytiradigan va Studio da qurilmagan har qanday modul. Odoo hujjati taʼrifi shunday.
- Meros
- Tayyor modul yoki ekranni oʻzgartirmasdan, uning ustiga yangi imkoniyat qoʻshish usuli.
- Odoo Online
- Odoo kompaniyasi oʻzi yuritadigan bulutli hosting. Unda foydalanuvchi serverga kirmaydi.
- Odoo.sh
- Odoo kompaniyasi taklif qiladigan platforma: kod omborini bulutda oʻrnatadi va sinov hamda ishchi muhitlarni yuritadi.
- Oʻz serveri
- Odoo ni kompaniya yoki hamkor oʻz serverida oʻrnatishi. Bunda hamma narsani oʻzi boshqaradi.
- Yangilash xizmati
- Bazani yangi Odoo versiyasiga oʻtkazadigan Odoo xizmati. Uning qamrovi alohida kelishuvda yozilgan.
- Sinov nusxasi
- Ishchi bazadan olingan nusxa. Unda xatosiz sinash mumkin, ishchi maʼlumotga zarar yetmaydi.
- Boʻsh baza
- Hech qanday maʼlumoti yoʻq yangi baza. Maxsus modul avval shunda tekshiriladi.
- Texnik qarz
- Tez bajarilgan, ammo keyinchalik tuzatish talab qiladigan yechimlar toʻplami.
Manbalar
Maqola quyidagi manbalarga tayanadi:
- Odoo S.A., Studio, Odoo 20.0 hujjatlari. https://www.odoo.com/documentation/20.0/applications/studio.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Odoo Online, Odoo 20.0 hujjatlari. https://www.odoo.com/documentation/20.0/administration/odoo_online.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Upgrade a customized database, Odoo 20.0 dasturchi hujjatlari. https://www.odoo.com/documentation/20.0/developer/howtos/upgrade_custom_db.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Upgrade a database, Odoo 20.0 hujjatlari, xizmat darajasi kelishuvi boʻlimi. https://www.odoo.com/documentation/20.0/administration/upgrade.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Module manifests, Odoo 20.0 dasturchi hujjatlari. https://www.odoo.com/documentation/20.0/developer/reference/backend/module.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Server framework 101, Chapter 12: Inheritance, Odoo 20.0 hujjatlari. https://www.odoo.com/documentation/20.0/developer/tutorials/server_framework_101/12_inheritance.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Studio: Automation rules, Odoo 20.0 hujjatlari. https://www.odoo.com/documentation/20.0/applications/studio/automated_actions.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Studio: Views, Odoo 20.0 hujjatlari. https://www.odoo.com/documentation/20.0/applications/studio/views.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Studio: Models, modules, and apps, Odoo 20.0 hujjatlari. https://www.odoo.com/documentation/20.0/applications/studio/models_modules_apps.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Odoo 20 Release Notes, 2026 sentyabr, Accounting boʻlimi. https://www.odoo.com/odoo-20-release-notes (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Odoo Apps FAQ, Odoo Apps Store, xaridorlar uchun savollar. https://apps.odoo.com/apps/faq (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Studio: PDF reports, Odoo 20.0 hujjatlari. https://www.odoo.com/documentation/20.0/applications/studio/pdf_reports.html (koʻrilgan: 23-oktabr, 2026)
- Odoo S.A., Odoo Apps Sales Conditions va Refund Policy, Odoo Apps Store. https://apps.odoo.com/apps/sales-conditions (koʻrilgan: 23-oktabr, 2026)