<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>BAHA — UZ</title><description>Maxsus Odoo 17–19 modullari, OWL komponentlari va POS boʻyicha qaydlar — Toshkentdagi real mijoz loyihalari tajribasidan.</description><link>https://blog.bahromnajmiddinov.uz</link><language>uz</language><item><title>Odoo 19 ni Linuxʼga oʻrnatish: toʻliq qoʻllanma</title><link>https://blog.bahromnajmiddinov.uz/blog/odoo-19-linux-ornatish</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/odoo-19-linux-ornatish</guid><description>Linux — Odoo uchun asosiy muhit. Odoo 19 ni uch usulda oʻrnatish mumkin: rasmiy repozitoriy, tayyor paket yoki sourcedan. Maqola PostgreSQL tayyorlash, har bir usul va worker hisobini bosqichma-bosqich koʻrsatadi.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/odoo-19-ni-linuxga-o-rnatish-to-liq-qo-llanma-1dc3c473402b) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;Oldingi maqolada Windowsʼga oʻrnatishni koʻrib chiqdik va u yerda bitta ogohlantirish bor edi: &lt;strong&gt;Windows production uchun mos emas.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Linux — bu Odoo haqiqatan ishlashi uchun yaratilgan muhit. Barcha jonli serverlar shu yerda turadi.&lt;/p&gt;
&lt;p&gt;Bu maqolada uchta usulni koʻrib chiqamiz, keyin esa production uchun eng muhim sozlamalarni. Barcha buyruqlar Odoo 19 uchun va rasmiy hujjatlardan olingan.&lt;/p&gt;
&lt;h2 id=&quot;qaysi-usulni-tanlashkerak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#qaysi-usulni-tanlashkerak&quot;&gt;Qaysi usulni tanlash kerak&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Repozitoriy orqali (apt / dnf)&lt;/strong&gt;&lt;br&gt;
Kimga: tez ishga tushirish kerak boʻlganlarga. Faqat Community.&lt;br&gt;
Yangilanish: apt upgrade bilan avtomatik yangilanadi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Tayyor paket (.deb / .rpm)&lt;/strong&gt;&lt;br&gt;
Kimga: Enterprise kerak boʻlganlarga yoki aniq versiya kerak boʻlsa.&lt;br&gt;
Yangilanish: qoʻlda boʻladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Manbadan (git)&lt;/strong&gt;&lt;br&gt;
Kimga: dasturchilarga, custom modul yozadiganlarga.&lt;br&gt;
Yangilanish: git pull bilan.&lt;/p&gt;
&lt;p&gt;Agar modul yozmoqchi boʻlsangiz — faqat uchinchi usul(tavsiya etiladi). Qolgan ikkitasi tayyor tizimni ishga tushiradi.&lt;/p&gt;
&lt;h2 id=&quot;tayyorgarlik-postgresql&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#tayyorgarlik-postgresql&quot;&gt;Tayyorgarlik: PostgreSQL&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Uchala usul ham PostgreSQL talab qiladi. Shuning uchun undan boshlaymiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Odoo 19 uchun minimal versiya — PostgreSQL 13.&lt;/strong&gt; Bu Odoo 19 da oʻzgargan: avval 12 yetarli edi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ubuntu / Debian:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;apt&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgresql&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo apt install postgresql -y&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Fedora / CentOS / RHEL:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Avval sudo buyrugʻi mavjud ekanligiga va toʻgʻri sozlanganiga ishonch hosil qiling, keyin:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;dnf&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-y&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgresql-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgresql-setup&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--initdb&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--unit&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgresql&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;enable&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgresql&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgresql&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo dnf install -y postgresql-serversudo postgresql-setup --initdb --unit postgresqlsudo systemctl enable postgresqlsudo systemctl start postgresql&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;1-usul-odoo-repozitoriysi-orqali&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-usul-odoo-repozitoriysi-orqali&quot;&gt;1-usul. Odoo repozitoriysi orqali&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Eng tez yoʻl. Odoo S.A. oʻz repozitoriysini taqdim etadi — faqat &lt;strong&gt;Community&lt;/strong&gt; versiyasi uchun.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ubuntu / Debian:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;wget&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-q&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-O&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;https://nightly.odoo.com/odoo.key&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;gpg&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--dearmor&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-o&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;/usr/share/keyrings/odoo-archive-keyring.gpg&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/19.0/nightly/deb/ ./&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;tee&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;/etc/apt/sources.list.d/odoo.list&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;apt-get&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x26;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;apt-get&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpgecho &amp;#x27;deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/19.0/nightly/deb/ ./&amp;#x27; | sudo tee /etc/apt/sources.list.d/odoo.listsudo apt-get update &amp;#x26;&amp;#x26; sudo apt-get install odoo&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Keyinchalik yangilash uchun oddiy apt-get upgrade buyrugʻi yetarli.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fedora:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;dnf&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;config-manager&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--add-repo=https://nightly.odoo.com/19.0/nightly/rpm/odoo.repo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;dnf&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-y&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;enable&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo dnf config-manager --add-repo=https://nightly.odoo.com/19.0/nightly/rpm/odoo.reposudo dnf install -y odoosudo systemctl enable odoosudo systemctl start odoo&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Muhim:&lt;/strong&gt; Enterprise uchun nightly repozitoriy mavjud emas. Agar Enterprise kerak boʻlsa, 2-usulga oʻting.&lt;/p&gt;
&lt;h2 id=&quot;2-usul-tayyor-paket-deb-yokirpm&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-usul-tayyor-paket-deb-yokirpm&quot;&gt;2-usul. Tayyor paket (.deb yoki .rpm)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu usul Community va Enterprise uchun ishlaydi.&lt;/p&gt;
&lt;p&gt;Paketni Odoo yuklab olish sahifasidan oling: &lt;strong&gt;odoo.com/page/download&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Enterprise paketini yuklab olish uchun toʻlovchi on-premise mijoz yoki hamkor sifatida tizimga kirgan boʻlishingiz kerak.&lt;/p&gt;
&lt;h2 id=&quot;ubuntu&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#ubuntu&quot;&gt;Ubuntu&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Odoo 19 ning****deb paketi hozircha Ubuntu Noble (24.04 LTS) ni qoʻllab-quvvatlaydi.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yuklab olgandan keyin &lt;strong&gt;root sifatida&lt;/strong&gt; bajaring:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;apt&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;update&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;apt&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;&amp;#x3C;paket_fayli_manzili&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;apt updateapt install &lt;paket_fayli_manzili&gt;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu buyruq uchta ishni birdan qiladi: Odooʻni xizmat (service) sifatida oʻrnatadi, kerakli PostgreSQL foydalanuvchisini yaratadi va serverni avtomatik ishga tushiradi.&lt;/p&gt;
&lt;h2 id=&quot;fedora&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#fedora&quot;&gt;Fedora&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Odoo 19 ning****rpm paketi Fedora 42 ni qoʻllab-quvvatlaydi.&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;dnf&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;localinstall&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo_19.0.latest.noarch.rpm&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;enable&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo dnf localinstall odoo_19.0.latest.noarch.rpmsudo systemctl enable odoosudo systemctl start odoo&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Brauzerda oching: &lt;a href=&quot;http://localhost:8069&quot; rel=&quot;noopener&quot;&gt;http://localhost:8069&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;3-usul-manbasourcedan-oʻrnatish-dasturchilar-uchun&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-usul-manbasourcedan-oʻrnatish-dasturchilar-uchun&quot;&gt;3-usul. Manba(Source)dan oʻrnatish (dasturchilar uchun)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar modul yozmoqchi boʻlsangiz yoki kodni oʻzgartirmoqchi boʻlsangiz — bu yagona toʻgʻri yoʻl.&lt;/p&gt;
&lt;h2 id=&quot;1-qadam-python&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-qadam-python&quot;&gt;1-qadam. Python&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo 19 &lt;strong&gt;Python 3.10 yoki undan yuqori&lt;/strong&gt; versiyani talab qiladi.&lt;/p&gt;
&lt;p&gt;Paket menejeri orqali oʻrnating va tekshiring:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;pip3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;python3 --versionpip3 --version&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Ubuntu 24.04 da Python 3.12 oldindan oʻrnatilgan — qoʻshimcha ish shart emas.&lt;/p&gt;
&lt;h2 id=&quot;2-qadam-postgresql-foydalanuvchisi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-qadam-postgresql-foydalanuvchisi&quot;&gt;2-qadam. PostgreSQL foydalanuvchisi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo postgres foydalanuvchisi bilan ulanishni **taqiqlaydi, yani postgres userni ishlata olmaysiz.**Yangi foydalanuvchi yaratish shart:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-u&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgres&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;createuser&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-R&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-S&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;USER&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;createdb&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;USER&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo -u postgres createuser -d -R -S $USERcreatedb $USER&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu yerda bitta qulaylik bor: PostgreSQL foydalanuvchisi Unix login bilan bir xil nomda boʻlgani uchun, bazaga parolsiz ulanish mumkin. Lokal ishlab chiqish uchun bu juda qulay.&lt;/p&gt;
&lt;h2 id=&quot;3-qadam-tizim-kutubxonalari&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-qadam-tizim-kutubxonalari&quot;&gt;3-qadam. Tizim kutubxonalari&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Baʼzi Python paketlari kompilyatsiya qilinadi, shuning uchun tizim kutubxonalari kerak:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;apt&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;python3-pip&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;libldap2-dev&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;libpq-dev&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;libsasl2-dev&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo apt install python3-pip libldap2-dev libpq-dev libsasl2-dev&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;4-qadam-kodni-yuklabolish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-qadam-kodni-yuklabolish&quot;&gt;4-qadam. Kodni yuklab olish&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;git&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;clone&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#219F80&quot;&gt;19.0&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--single-branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;https://github.com/odoo/odoo.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;git clone --branch 19.0 --single-branch https://github.com/odoo/odoo.git&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Enterprise ham kerak boʻlsa:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;git&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;clone&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#219F80&quot;&gt;19.0&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--single-branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;https://github.com/odoo/enterprise.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;git clone --branch 19.0 --single-branch https://github.com/odoo/enterprise.git&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Bu yerni tushunib olish muhim.&lt;/strong&gt; Enterprise repozitoriysi toʻliq Odoo kodini oʻz ichiga olmaydi — u faqat qoʻshimcha modullar toʻplami. Server kodi Communityʼda. Enterpriseʼni ishlatish degani — Community serverini ishga tushirib, addons-path ga Enterprise papkasini qoʻshish degani. Shuning uchun Enterprise uchun &lt;strong&gt;ikkala repozitoriy ham kerak.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;5-qadam-python-kutubxonalari&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-qadam-python-kutubxonalari&quot;&gt;5-qadam. Python kutubxonalari&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo papkasiga oʻting va oʻrnating:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;cd&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;/CommunityPath&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;pip&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-r&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;requirements.txt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;cd /CommunityPathpip install -r requirements.txt&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Maslahat:&lt;/strong&gt; bir nechta Odoo versiyasi bilan ishlasangiz yoki tizim Pythonʼini toza saqlamoqchi boʻlsangiz, virtualenv orqali alohida muhit yarating. Majburiy emas, lekin versiyalar aralashib ketishining oldini oladi.&lt;/p&gt;
&lt;p&gt;Bir eslatma: requirements.txt dagi paket versiyalari Odoo chiqqan paytdagi Debian/Ubuntu LTS versiyalariga mos tanlangan. Shuning uchun ularni oʻzboshimchalik bilan yangilash tavsiya etilmaydi.&lt;/p&gt;
&lt;h2 id=&quot;6-qadam-wkhtmltopdf&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#6-qadam-wkhtmltopdf&quot;&gt;6-qadam. wkhtmltopdf&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu paket pip orqali oʻrnatilmaydi. Qoʻlda oʻrnatish kerak va &lt;strong&gt;aynan 0.12.6 versiyasi&lt;/strong&gt; — faqat shu versiya kolontitullarni (header, footer) qoʻllab-quvvatlaydi.&lt;/p&gt;
&lt;p&gt;Yuklab olish: github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3&lt;/p&gt;
&lt;p&gt;Agar buni oʻtkazib yuborsangiz, Odoo ishlaydi — lekin PDF hisobot chiqarmoqchi boʻlganingizda xatolik beradi.&lt;/p&gt;
&lt;h2 id=&quot;7-qadam-rtlcss-ixtiyoriy&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#7-qadam-rtlcss-ixtiyoriy&quot;&gt;7-qadam. rtlcss (ixtiyoriy)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Faqat arab yoki ibroniy tillari kerak boʻlsa. Oʻzbek va rus tili uchun kerak emas.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;npm&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-g&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;rtlcss&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo npm install -g rtlcss&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;8-qadam-ishga-tushirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#8-qadam-ishga-tushirish&quot;&gt;8-qadam. Ishga tushirish&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;cd&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;/CommunityPath&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo-bin&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--addons-path=addons&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;cd /CommunityPathpython3 odoo-bin --addons-path=addons -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Enterprise bilan — &lt;strong&gt;Enterprise yoʻli birinchi turishi shart&lt;/strong&gt;, aks holda modullar notoʻgʻri yuklanadi:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo-bin&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--addons-path=../enterprise,addons&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;python3 odoo-bin --addons-path=../enterprise,addons -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Terminalda shu qator chiqishini kuting:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;odoo.modules.loading: Modules loaded.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;odoo.modules.loading: Modules loaded.&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Brauzerda oching: &lt;a href=&quot;http://localhost:8069&quot; rel=&quot;noopener&quot;&gt;http://localhost:8069&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Kirish: email admin, parol admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Diqqat:&lt;/strong&gt; bu Odoo interfeysiga kirish hisobi. U PostgreSQL foydalanuvchisidan butunlay boshqa narsa.&lt;/p&gt;
&lt;h2 id=&quot;konfiguratsiya-fayli&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#konfiguratsiya-fayli&quot;&gt;Konfiguratsiya fayli&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Har safar uzun buyruq yozish noqulay. Sozlamalarni faylga yozing — /etc/odoo/odoo.conf:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;ini&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;options&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_host&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; localhost&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_port&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 5432&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_user&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_password&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;addons_path&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; /opt/odoo/odoo/addons,/opt/odoo/custom-addons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;logfile&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; /var/log/odoo/odoo.log&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;[options]db_host = localhostdb_port = 5432db_user = odoodb_password = odooaddons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addonslogfile = /var/log/odoo/odoo.log&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Ishga tushirish:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo-bin&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-c&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;/etc/odoo/odoo.conf&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;python3 odoo-bin -c /etc/odoo/odoo.conf -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Paket orqali oʻrnatilgan boʻlsa, bu fayl allaqachon mavjud boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;production-uchun-eng-muhim-uchtanarsa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#production-uchun-eng-muhim-uchtanarsa&quot;&gt;Production uchun: eng muhim uchta narsa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Shu yergacha boʻlgan qismlar Odooʻni ishga tushiradi. Lekin real kompaniya ishlaydigan server uchun yana uchta narsa kerak.&lt;/p&gt;
&lt;h2 id=&quot;1-workerskoʻp-jarayonli-rejim&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-workerskoʻp-jarayonli-rejim&quot;&gt;1. Workers — koʻp jarayonli rejim&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Standart holatda Odoo bitta jarayonda ishlaydi va Pythonʼning GIL cheklovi sababli protsessorning bir qismidan foydalanadi. &lt;strong&gt;Multi-processing rejimi&lt;/strong&gt; esa ishni jarayonlar orasida taqsimlaydi.&lt;/p&gt;
&lt;p&gt;U —workers parametri nolga teng boʻlmagan songa oʻrnatilganda yoqiladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hisoblash qoidalari (rasmiy hujjatdan):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Workers soni = &lt;strong&gt;(CPU soni × 2) + 1&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;1 worker ≈ &lt;strong&gt;6 bir vaqtda ishlovchi foydalanuvchi&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Cron uchun &lt;strong&gt;alohida worker&lt;/strong&gt; kerak&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Operativ xotira.&lt;/strong&gt; Hisob soʻrovlarning 20% ogʻir, 80% yengil degan taxminga asoslanadi. Ogʻir worker ≈ 1 GB, yengil worker ≈ 150 MB.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;Kerakli RAM = workers × ((0.8 × 150MB) + (0.2 × 1024MB))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;Kerakli RAM = workers × ((0.8 × 150MB) + (0.2 × 1024MB))&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Amaliy misol (rasmiy hujjatdagi namuna).&lt;/strong&gt; Server: 4 CPU, 8 thread. 60 bir vaqtda ishlovchi foydalanuvchi.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;60 ÷ 6 = &lt;strong&gt;10&lt;/strong&gt; — nazariy kerakli workers soni&lt;/li&gt;
&lt;li&gt;(4 × 2) + 1 = &lt;strong&gt;9&lt;/strong&gt; — nazariy maksimal workers soni&lt;/li&gt;
&lt;li&gt;Tanlov: &lt;strong&gt;8 worker + 1 cron&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;RAM = 9 × ((0.8×150) + (0.2×1024)) ≈ &lt;strong&gt;3 GB&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Konfiguratsiya fayliga:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;ini&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;options&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;limit_memory_hard&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 1677721600&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;limit_memory_soft&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 629145600&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;limit_request&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 8192&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;limit_time_cpu&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 600&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;limit_time_real&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 1200&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;max_cron_threads&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;workers&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;[options]limit_memory_hard = 1677721600limit_memory_soft = 629145600limit_request = 8192limit_time_cpu = 600limit_time_real = 1200max_cron_threads = 1workers = 8&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Eslatma:&lt;/strong&gt; multi-processing rejimi Linux serverlari uchun chuqur moslashtirilgan va &lt;strong&gt;Windowsʼda ishlamaydi.&lt;/strong&gt; Bu Linuxʼni tanlashning yana bir sababi.&lt;/p&gt;
&lt;h2 id=&quot;2-reverse-proxynginx&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-reverse-proxynginx&quot;&gt;2. Reverse proxy (nginx)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odooʻni toʻgʻridan-toʻgʻri 8069 portda internetga chiqarish kerak emas. Oldiga nginx qoʻyiladi — u HTTPS, statik fayllar va yuklamani taqsimlash bilan shugʻullanadi.&lt;/p&gt;
&lt;p&gt;Ikkita narsani unutmang:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;LiveChat uchun alohida yoʻnaltirish.&lt;/strong&gt; Multi-processing rejimida LiveChat uchun alohida worker ishga tushadi va u —gevent-port da tinglaydi. Odatiy holda HTTP soʻrovlar oddiy workerlarga boradi. Shuning uchun proxyʼda /websocket/ bilan boshlanadigan soʻrovlarni LiveChat workerʼiga yoʻnaltirish &lt;strong&gt;shart&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Proxy rejimi.&lt;/strong&gt; Odooʻni —proxy-mode bilan ishga tushiring — shunda u proxyʼniki emas, haqiqiy mijoz maʼlumotlarini (hostname, scheme, IP) ishlatadi.&lt;/p&gt;
&lt;h2 id=&quot;3-systemdxizmati&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-systemdxizmati&quot;&gt;3. systemd xizmati&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Server qayta ishga tushganda Odoo ham avtomatik koʻtarilishi kerak. Paket orqali oʻrnatilgan boʻlsa, bu allaqachon sozlangan:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;enable&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;systemctl&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;status&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo systemctl enable odoosudo systemctl start odoosudo systemctl status odoo&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Manbadan oʻrnatgan boʻlsangiz, /etc/systemd/system/odoo.service faylini qoʻlda yaratish kerak boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;eng-koʻp-uchraydigan-xatolar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#eng-koʻp-uchraydigan-xatolar&quot;&gt;Eng koʻp uchraydigan xatolar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;FATAL: role “odoo” does not exist&lt;/strong&gt;&lt;br&gt;
PostgreSQL foydalanuvchisi yaratilmagan yoki konfiguratsiyada boshqa nom koʻrsatilgan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;could not connect to server: Connection refused&lt;/strong&gt;&lt;br&gt;
PostgreSQL ishlamayapti: sudo systemctl status postgresql&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pip install -r requirements.txt kompilyatsiya xatosi&lt;/strong&gt;&lt;br&gt;
Tizim kutubxonalari oʻrnatilmagan. libldap2-dev libpq-dev libsasl2-dev ni oʻrnating.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;externally-managed-environment xatosi (Ubuntu 23.04+)&lt;/strong&gt;&lt;br&gt;
Yangi Ubuntu versiyalari tizim Pythonʼiga pip bilan oʻrnatishni bloklaydi. Yechim — virtualenv ishlatish. Bu aslida toʻgʻriroq yoʻl ham.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PDF hisobot chiqmaydi yoki kolontitulsiz&lt;/strong&gt;&lt;br&gt;
wkhtmltopdf oʻrnatilmagan yoki notoʻgʻri versiya. Aynan 0.12.6 kerak.&lt;/p&gt;
&lt;p&gt;**Port band:**&lt;strong&gt;Address already in use&lt;/strong&gt;&lt;br&gt;
Boshqa Odoo nusxasi ishlab turibdi yoki port egallangan: —http-port=8070&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sayt sekin ishlaydi, foydalanuvchilar kutadi&lt;/strong&gt;&lt;br&gt;
Workers sozlanmagan. Standart bitta jarayonli rejim 5–10 foydalanuvchidan koʻpini koʻtarmaydi.&lt;/p&gt;
&lt;h2 id=&quot;qisqa-xulosa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#qisqa-xulosa&quot;&gt;Qisqa xulosa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Linuxʼda Odoo oʻrnatish murakkab emas — murakkablik &lt;strong&gt;toʻgʻri usulni tanlashda&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tezda koʻrib chiqish kerakmi → &lt;strong&gt;repozitoriy&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Enterprise kerakmi → &lt;strong&gt;paket&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Modul yozasizmi → &lt;strong&gt;manbadan&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Real kompaniya ishlaydimi → &lt;strong&gt;manbadan yoki paket + workers + nginx + systemd&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Oxirgi qatorni eʼtiborsiz qoldirmang. Odooʻni oʻrnatish — bu 20 daqiqalik ish. Uni production uchun toʻgʻri sozlash — bu alohida mavzu va u serverning qancha foydalanuvchi koʻtarishini belgilaydi.&lt;/p&gt;</content:encoded><category>devops</category></item><item><title>Odoo 19 ni macOSʼga oʻrnatish: toʻliq qoʻllanma</title><link>https://blog.bahromnajmiddinov.uz/blog/odoo-19-macos-ornatish</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/odoo-19-macos-ornatish</guid><description>Odoo macOS uchun tayyor installer chiqarmaydi, shuning uchun Macʼda faqat sourcedan oʻrnatiladi — dasturchi uchun aynan kerakli usul. Maqola Xcode, Python, PostgreSQL, kutubxonalar va wkhtmltopdf ni qadamma-qadam koʻrsatadi.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/odoo-19-ni-macosga-o-rnatish-to-liq-qo-llanma-28eec00576b5) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;Windows va Linux haqidagi maqolalardan keyin mantiqiy savol keladi: Macʼda-chi?&lt;/p&gt;
&lt;p&gt;Javob qisqa: &lt;strong&gt;Odoo macOS uchun tayyor installer chiqarmaydi.&lt;/strong&gt; Rasmiy paketlar faqat Debian asosidagi distributivlar, RPM asosidagi distributivlar va Windows uchun mavjud.&lt;/p&gt;
&lt;p&gt;Yaʼni Macʼda bitta yoʻl bor — manbadan oʻrnatish. Va bu yomon xabar emas. Modul yozadigan dasturchi baribir shu usulni tanlaydi, chunki installer kodga kirish imkonini bermaydi.&lt;/p&gt;
&lt;p&gt;Quyida butun jarayon bosqichma-bosqich. Barcha buyruqlar Odoo 19 uchun va rasmiy hujjatlardan olingan.&lt;/p&gt;
&lt;h2 id=&quot;nima-kerakboʻladi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#nima-kerakboʻladi&quot;&gt;Nima kerak boʻladi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ishni boshlashdan oldin shu beshtasi kerak:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Homebrew&lt;/strong&gt; yoki &lt;strong&gt;MacPorts&lt;/strong&gt; — paket menejeri&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python 3.10&lt;/strong&gt; yoki undan yuqori&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PostgreSQL 13&lt;/strong&gt; yoki undan yuqori&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Xcode Command Line Tools&lt;/strong&gt; — kompilyatsiya uchun&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Git&lt;/strong&gt; — kodni yuklab olish uchun&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Homebrew oʻrnatilmagan boʻlsa, brew.sh saytidagi buyruqni bajaring. Qolgan hamma narsa shu orqali oʻrnatiladi.&lt;/p&gt;
&lt;h2 id=&quot;1-qadam-xcode-command-linetools&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-qadam-xcode-command-linetools&quot;&gt;1-qadam. Xcode Command Line Tools&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu birinchi boʻlishi kerak, chunki Odooʻning baʼzi Python kutubxonalari C kodini kompilyatsiya qilishni talab qiladi. Busiz pip install xatolik bilan toʻxtaydi.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;xcode-select&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--install&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;xcode-select --install&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Oyna chiqadi — &lt;strong&gt;Install&lt;/strong&gt; ni bosing va tugashini kuting. Toʻliq Xcode oʻrnatish shart emas, faqat Command Line Tools yetarli.&lt;/p&gt;
&lt;p&gt;Agar allaqachon oʻrnatilgan boʻlsa, buyruq “already installed” deb javob beradi. Bu normal.&lt;/p&gt;
&lt;h2 id=&quot;2-qadam-python&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-qadam-python&quot;&gt;2-qadam. Python&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo 19 &lt;strong&gt;Python 3.10 yoki undan yuqori&lt;/strong&gt; versiyani talab qiladi. Bu talab Odoo 17 da oʻzgargan — undan oldin 3.7 yetarli edi.&lt;/p&gt;
&lt;p&gt;Homebrew orqali oʻrnating:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;brew&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;python3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;brew install python3&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Tekshiring:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;pip3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;python3 --versionpip3 --version&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Muhim nuqta.&lt;/strong&gt; macOSʼda tizimning oʻz Pythonʼi ham bor va u Odoo uchun mos emas. Shuning uchun har doim python3 va pip3 buyruqlarini ishlating — python emas. Agar python3 —version eski versiyani koʻrsatsa, Homebrewʼning Pythonʼi PATH da toʻgʻri turmagan boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;3-qadam-postgresql&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-qadam-postgresql&quot;&gt;3-qadam. PostgreSQL&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Odoo 19 uchun minimal versiya — PostgreSQL 13.&lt;/strong&gt; Bu Odoo 19 da oʻzgargan: avval 12 yetarli edi.&lt;/p&gt;
&lt;p&gt;Rasmiy hujjat macOS uchun &lt;strong&gt;Postgres.app&lt;/strong&gt; ni tavsiya qiladi: postgresapp.com&lt;/p&gt;
&lt;p&gt;Bu oddiy ilova — yuklab olasiz, Applications papkasiga tashlaysiz va ishga tushirasiz. Terminal bilan ovora boʻlish shart emas.&lt;/p&gt;
&lt;h2 id=&quot;cli-vositalarini-path-gaqoʻshish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#cli-vositalarini-path-gaqoʻshish&quot;&gt;CLI vositalarini PATH ga qoʻshish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Postgres.app bilan birga createuser, createdb, psql kabi buyruqlar keladi. Lekin ular terminalda ishlashi uchun PATH sozlanishi kerak.&lt;/p&gt;
&lt;p&gt;Qanday qilish kerakligi Postgres.app hujjatida yozilgan: postgresapp.com/documentation/cli-tools.html&lt;/p&gt;
&lt;p&gt;Bu qadamni oʻtkazib yubormang — keyingi qadamda aynan shu buyruqlar kerak boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;foydalanuvchi-yaratish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#foydalanuvchi-yaratish&quot;&gt;Foydalanuvchi yaratish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo postgres foydalanuvchisi bilan ulanishni &lt;strong&gt;taqiqlaydi&lt;/strong&gt;. Yangi foydalanuvchi yaratish shart:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-u&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;postgres&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;createuser&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-R&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-S&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;USER&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;createdb&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;USER&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo -u postgres createuser -d -R -S $USERcreatedb $USER&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu yerda bitta qulaylik bor: PostgreSQL foydalanuvchisi tizim loginʼi bilan bir xil nomda boʻlgani uchun, bazaga parolsiz ulanish mumkin. Lokal ishlab chiqish uchun bu juda qulay — konfiguratsiyada parol yozish shart emas.&lt;/p&gt;
&lt;h2 id=&quot;4-qadam-kodni-yuklabolish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-qadam-kodni-yuklabolish&quot;&gt;4-qadam. Kodni yuklab olish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Git oʻrnatilmagan boʻlsa:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;brew&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;brew install git&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Community versiyasini klonlang:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;git&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;clone&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#219F80&quot;&gt;19.0&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--single-branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;https://github.com/odoo/odoo.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;git clone --branch 19.0 --single-branch https://github.com/odoo/odoo.git&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Enterprise ham kerak boʻlsa, ikkinchi repozitoriyni ham oling:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;git&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;clone&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#219F80&quot;&gt;19.0&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--single-branch&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;https://github.com/odoo/enterprise.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;git clone --branch 19.0 --single-branch https://github.com/odoo/enterprise.git&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Bu yerni tushunib olish kerak.&lt;/strong&gt; Enterprise repozitoriysi toʻliq Odoo kodini oʻz ichiga olmaydi — u faqat qoʻshimcha modullar toʻplami. Server kodi Communityʼda. Enterpriseʼni ishlatish degani — Community serverini ishga tushirib, addons-path ga Enterprise papkasini qoʻshish degani.&lt;/p&gt;
&lt;p&gt;Shuning uchun Enterprise uchun &lt;strong&gt;ikkala repozitoriy ham kerak.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;5-qadam-python-kutubxonalari&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-qadam-python-kutubxonalari&quot;&gt;5-qadam. Python kutubxonalari&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo papkasiga oʻting va oʻrnating:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;cd&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;/CommunityPath&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;pip3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;setuptools&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;wheel&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;pip3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-r&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;requirements.txt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;cd /CommunityPathpip3 install setuptools wheelpip3 install -r requirements.txt&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;CommunityPath — siz klonlagan odoo papkasining manzili.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Virtual muhit haqida.&lt;/strong&gt; Bir nechta Odoo versiyasi bilan ishlasangiz yoki tizim Pythonʼini toza saqlamoqchi boʻlsangiz, virtualenv orqali alohida muhit yarating:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-m&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;venv&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;venv&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;venv/bin/activate&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;pip3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-r&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;requirements.txt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;python3 -m venv venvsource venv/bin/activatepip3 install -r requirements.txt&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu majburiy emas, lekin Macʼda men buni tavsiya qilaman. Homebrew Pythonʼini global paketlar bilan toʻldirish keyinchalik tartibsizlikka olib keladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agar oʻrnatish xatolik bersa:&lt;/strong&gt; avval Xcode Command Line Tools oʻrnatilganini tekshiring (1-qadam). Bu eng koʻp uchraydigan sabab.&lt;/p&gt;
&lt;h2 id=&quot;6-qadam-python-boʻlmagan-bogʻliqliklar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#6-qadam-python-boʻlmagan-bogʻliqliklar&quot;&gt;6-qadam. Python boʻlmagan bogʻliqliklar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Rasmiy hujjat aniq ogohlantiradi: Python boʻlmagan bogʻliqliklar paket menejeri orqali oʻrnatilishi kerak — Homebrew yoki MacPorts.&lt;/p&gt;
&lt;p&gt;Bu pip orqali oʻrnatilmaydigan tizim kutubxonalari. Odatda requirements.txt oʻrnatilayotganda qaysi biri yetishmayotgani xatolik matnida koʻrinadi, keyin uni brew install bilan qoʻshasiz.&lt;/p&gt;
&lt;h2 id=&quot;7-qadam-wkhtmltopdf&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#7-qadam-wkhtmltopdf&quot;&gt;7-qadam. wkhtmltopdf&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu paket pip orqali oʻrnatilmaydi. Qoʻlda oʻrnatish kerak va &lt;strong&gt;aynan 0.12.6 versiyasi&lt;/strong&gt; — faqat shu versiya kolontitullarni (header, footer) qoʻllab-quvvatlaydi.&lt;/p&gt;
&lt;p&gt;Yuklab olish: github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3&lt;/p&gt;
&lt;p&gt;Agar buni oʻtkazib yuborsangiz, Odoo ishlaydi — lekin PDF hisobot chiqarmoqchi boʻlganingizda xatolik beradi. Bu koʻpincha loyihaning oʻrtasida, hisobot kerak boʻlganda maʼlum boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;8-qadam-rtlcss-ixtiyoriy&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#8-qadam-rtlcss-ixtiyoriy&quot;&gt;8-qadam. rtlcss (ixtiyoriy)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Faqat arab yoki ibroniy tillarini qoʻllab-quvvatlash kerak boʻlsa. Oʻzbek va rus tili uchun kerak emas — oʻtkazib yuborsangiz boʻladi.&lt;/p&gt;
&lt;p&gt;Node.js ni paket menejeri orqali oʻrnating, keyin:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;npm&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-g&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;rtlcss&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;sudo npm install -g rtlcss&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;9-qadam-ishga-tushirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#9-qadam-ishga-tushirish&quot;&gt;9-qadam. Ishga tushirish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Hammasi tayyor:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;cd&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;/CommunityPath&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo-bin&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--addons-path=addons&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;cd /CommunityPathpython3 odoo-bin --addons-path=addons -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;mydb — PostgreSQL maʼlumotlar bazasining nomi.&lt;/p&gt;
&lt;p&gt;Enterprise bilan ishlasangiz — &lt;strong&gt;Enterprise yoʻli birinchi turishi shart&lt;/strong&gt;, aks holda modullar notoʻgʻri yuklanadi:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo-bin&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;--addons-path=../enterprise,addons&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;python3 odoo-bin --addons-path=../enterprise,addons -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;tayyor-ekanini-qandaybilasiz&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#tayyor-ekanini-qandaybilasiz&quot;&gt;Tayyor ekanini qanday bilasiz&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Terminalda shu qator chiqishini kuting:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;odoo.modules.loading: Modules loaded.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;odoo.modules.loading: Modules loaded.&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Brauzerda oching: &lt;a href=&quot;http://localhost:8069&quot; rel=&quot;noopener&quot;&gt;http://localhost:8069&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Kirish maʼlumotlari:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Email: admin&lt;/li&gt;
&lt;li&gt;Parol: admin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Diqqat:&lt;/strong&gt; bu Odoo interfeysiga kirish hisobi. U PostgreSQL foydalanuvchisidan butunlay boshqa narsa. Ikkisini aralashtirmang.&lt;/p&gt;
&lt;h2 id=&quot;konfiguratsiya-fayli&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#konfiguratsiya-fayli&quot;&gt;Konfiguratsiya fayli&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Har safar uzun buyruq yozish noqulay. Sozlamalarni faylga yozing — masalan, odoo.conf:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;ini&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;options&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_host&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; localhost&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_port&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 5432&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_user&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;addons_path&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; addons,../custom-addons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;[options]db_host = localhostdb_port = 5432db_user = odooaddons_path = addons,../custom-addons&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Postgres.app bilan parolsiz ulanish ishlasa, db_password qatorini yozish shart emas.&lt;/p&gt;
&lt;p&gt;Ishga tushirish:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;python3&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo-bin&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-c&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;odoo.conf&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;python3 odoo-bin -c odoo.conf -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Enterprise bilan ishlasangiz, addons_path qatorini shunday yozing:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;addons_path = ../enterprise,addons,../custom-addons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;addons_path = ../enterprise,addons,../custom-addons&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;eng-koʻp-uchraydigan-xatolar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#eng-koʻp-uchraydigan-xatolar&quot;&gt;Eng koʻp uchraydigan xatolar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;pip3 install -r requirements.txt kompilyatsiya xatosi bilan toʻxtaydi&lt;/strong&gt;&lt;br&gt;
Xcode Command Line Tools oʻrnatilmagan. xcode-select —install ni bajaring va qaytadan urinib koʻring.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;createuser: command not found&lt;/strong&gt;&lt;br&gt;
Postgres.app ning CLI vositalari PATH ga qoʻshilmagan. 3-qadamdagi havoladagi koʻrsatmani bajaring.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FATAL: role ”…” does not exist&lt;/strong&gt;&lt;br&gt;
PostgreSQL foydalanuvchisi yaratilmagan yoki konfiguratsiyada boshqa nom koʻrsatilgan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;could not connect to server&lt;/strong&gt;&lt;br&gt;
Postgres.app ishlamayapti. Ilovani oching va server yashil holatda ekanini tekshiring.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;python3 eski versiyani koʻrsatadi&lt;/strong&gt;&lt;br&gt;
Tizim Pythonʼi ishlayapti, Homebrewʼniki emas. PATH tartibini tekshiring yoki toʻgʻridan-toʻgʻri /opt/homebrew/bin/python3 manzilini ishlating.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PDF hisobot chiqmaydi yoki kolontitulsiz&lt;/strong&gt;&lt;br&gt;
wkhtmltopdf oʻrnatilmagan yoki notoʻgʻri versiya. Aynan 0.12.6 kerak.&lt;/p&gt;
&lt;p&gt;**Port band:**&lt;strong&gt;Address already in use&lt;/strong&gt;&lt;br&gt;
Boshqa Odoo nusxasi ishlab turibdi yoki 8069 port egallangan: —http-port=8070&lt;/p&gt;
&lt;h2 id=&quot;macʼda-ishlash-haqida-bir-nechaeslatma&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#macʼda-ishlash-haqida-bir-nechaeslatma&quot;&gt;Macʼda ishlash haqida bir necha eslatma&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Production uchun Mac ishlatilmaydi.&lt;/strong&gt; Bu aytilmagan qoida. Mac — bu ishlab chiqish mashinasi. Jonli server Linuxʼda turadi. Macʼda yozilgan modul Linux serverda sinalishi kerak, chunki fayl tizimi va bogʻliqliklar farq qilishi mumkin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Multi-processing rejimi haqida.&lt;/strong&gt; Odooʻning koʻp jarayonli rejimi (—workers) Linux serverlari uchun chuqur moslashtirilgan. Lokal ishlab chiqishda bu baribir kerak emas — bitta jarayon yetarli.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Docker alternativa sifatida.&lt;/strong&gt; Agar bir nechta Odoo versiyasi bilan parallel ishlasangiz, Docker koʻproq qulaylik beradi — har bir versiya oʻz konteynerida, PostgreSQL ham alohida. Lekin bu alohida mavzu va kod bilan ishlash biroz murakkabroq boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;qisqa-xulosa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#qisqa-xulosa&quot;&gt;Qisqa xulosa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;macOSʼda Odoo oʻrnatish Linuxʼdagiga juda oʻxshash — farq faqat paket menejerida va PostgreSQL ni oʻrnatish usulida.&lt;/p&gt;
&lt;p&gt;Eng muhim uchta nuqta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Xcode Command Line Tools birinchi boʻlsin.&lt;/strong&gt; Aks holda kutubxonalar oʻrnatilmaydi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;python3 va****pip3 ishlating&lt;/strong&gt;, python emas.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Virtual muhit yarating.&lt;/strong&gt; Macʼda global paketlar tez tartibsizlanadi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Qolgan hammasi standart: PostgreSQL, kod, kutubxonalar, ishga tushirish.&lt;/p&gt;</content:encoded><category>devops</category></item><item><title>Odoo 19 ni Windowsʼga oʻrnatish: toʻliq qoʻllanma</title><link>https://blog.bahromnajmiddinov.uz/blog/odoo-19-windows-ornatish</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/odoo-19-windows-ornatish</guid><description>Odoo 19 ni Windowsga ikki yoʻl bilan oʻrnatish mumkin: tizimni koʻrib chiqish uchun tayyor installer yoki modul yozish uchun sourcedan oʻrnatish. Windows production uchun mos emas; maqola ikkala yoʻlni va tipik xatolarni koʻrsatadi.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/odoo-19-ni-windowsga-o-rnatish-to-liq-qo-llanma-6a71d1ec012c) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;Windowsʼga Odoo oʻrnatish haqida savol berilganda, javob har doim bitta savoldan boshlanadi: &lt;strong&gt;nima uchun kerak?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Agar tizimni koʻrib chiqmoqchi boʻlsangiz — tayyor installer 15 daqiqada ishga tushadi. Agar modul yozmoqchi boʻlsangiz — sourcedan oʻrnatish shart, boshqa yoʻli yoʻq.&lt;/p&gt;
&lt;p&gt;Ikkala usulni ham toʻliq koʻrib chiqamiz. Barcha buyruqlar Odoo 19 uchun va rasmiy hujjatlardan olingan.&lt;/p&gt;
&lt;h2 id=&quot;avval-muhim-ogohlantirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#avval-muhim-ogohlantirish&quot;&gt;Avval muhim ogohlantirish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo rasmiy hujjatida aniq yozilgan: &lt;strong&gt;Windows paketi faqat test yoki bitta foydalanuvchili lokal muhit uchun moʻljallangan.&lt;/strong&gt; Odoo uni production uchun ishlatishni tavsiya qilmaydi — cheklovlar va xavflar sababli.&lt;/p&gt;
&lt;p&gt;Yaʼni:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Maqsad                                | Windows mos keladimi?               |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| ------------------------------------  | ----------------------------------- |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Tizimni ko’rib chiqish, o’rganish     | Ha                                  |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Modul yozish, dasturlash              | Ha                                  |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Mijozga demo ko’rsatish               | Ha                                  |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Real kompaniya ishlaydigan server     | Yo’q — Ubuntu Server ishlating      |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;| Maqsad                                | Windows mos keladimi?               || ------------------------------------  | ----------------------------------- || Tizimni ko’rib chiqish, o’rganish     | Ha                                  || Modul yozish, dasturlash              | Ha                                  || Mijozga demo ko’rsatish               | Ha                                  || Real kompaniya ishlaydigan server     | Yo’q — Ubuntu Server ishlating      |&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu maqolada Windowsʼga oʻrnatishni koʻrib chiqamiz. Lekin agar sizning maqsadingiz jonli tizim boʻlsa, boshqa yoʻldan ketish kerak.&lt;/p&gt;
&lt;h2 id=&quot;1-usul-tayyor-installer-engoson&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-usul-tayyor-installer-engoson&quot;&gt;1-usul. Tayyor installer (eng oson)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu usul foydalanuvchilar uchun. Hech narsa sozlash shart emas — PostgreSQL ham installer ichida keladi.&lt;/p&gt;
&lt;h2 id=&quot;1-qadam-installerni-yuklaboling&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-qadam-installerni-yuklaboling&quot;&gt;1-qadam. Installerni yuklab oling&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo rasmiy sahifasidan Windows installerini oling: &lt;strong&gt;odoo.com/page/download&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ikkita variant bor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Community&lt;/strong&gt; — bepul, ochiq kodli&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise&lt;/strong&gt; — pullik, yuklab olish uchun toʻlovchi mijoz yoki hamkor sifatida tizimga kirish talab qilinadi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Community versiyasini nightly serverdan ham olsa boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;2-qadam-faylni-ishga-tushiring&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-qadam-faylni-ishga-tushiring&quot;&gt;2-qadam. Faylni ishga tushiring&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Yuklab olingan .exe faylni oching.&lt;/p&gt;
&lt;h2 id=&quot;3-qadam-smartscreen-ogohlantirishini-oʻting&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-qadam-smartscreen-ogohlantirishini-oʻting&quot;&gt;3-qadam. SmartScreen ogohlantirishini oʻting&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Windows 8 va undan yuqori versiyalarda &lt;strong&gt;“Windows protected your PC”&lt;/strong&gt; oynasi chiqishi mumkin. Bu virus degani emas — shunchaki Microsoft imzolamagan fayl.&lt;/p&gt;
&lt;p&gt;Bajaring:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;More info&lt;/strong&gt; tugmasini bosing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run anyway&lt;/strong&gt; ni tanlang&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;4-qadam-uac-soʻrovini-tasdiqlang&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-qadam-uac-soʻrovini-tasdiqlang&quot;&gt;4-qadam. UAC soʻrovini tasdiqlang&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Administrator huquqlarini soʻraganda &lt;strong&gt;Yes&lt;/strong&gt; ni bosing.&lt;/p&gt;
&lt;h2 id=&quot;5-qadam-oʻrnatishni-yakunlang&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-qadam-oʻrnatishni-yakunlang&quot;&gt;5-qadam. Oʻrnatishni yakunlang&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Keyingi qadamlarni odatdagidek bosib oʻting. Oʻrnatish tugagach &lt;strong&gt;Odoo oʻzi avtomatik ishga tushadi.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Brauzerda &lt;a href=&quot;http://localhost:8069&quot; rel=&quot;noopener&quot;&gt;http://localhost:8069&lt;/a&gt; manzilini oching.&lt;/p&gt;
&lt;p&gt;Shu bilan tamom. Bu usulda PostgreSQL alohida oʻrnatilmaydi — u installer bilan birga keladi.&lt;/p&gt;
&lt;h2 id=&quot;2-usul-sourcedan-oʻrnatish-dasturchilar-uchun&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-usul-sourcedan-oʻrnatish-dasturchilar-uchun&quot;&gt;2-usul. Sourcedan oʻrnatish (dasturchilar uchun)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar modul yozmoqchi boʻlsangiz yoki kodni oʻzgartirmoqchi boʻlsangiz, bu yagona toʻgʻri yoʻl. Jarayon uzunroq, lekin har bir qadam tushunarli.&lt;/p&gt;
&lt;h2 id=&quot;1-qadam-python-oʻrnatish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-qadam-python-oʻrnatish&quot;&gt;1-qadam. Python oʻrnatish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo 19 &lt;strong&gt;Python 3.10 yoki undan yuqori&lt;/strong&gt; versiyani talab qiladi. (Bu talab Odoo 17 da oʻzgargan — undan oldin 3.7 yetarli edi.)&lt;/p&gt;
&lt;p&gt;Pythonʼni rasmiy saytdan yuklab oling: python.org/downloads/windows&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Oʻrnatishda ikkita narsani unutmang:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Add Python 3 to PATH&lt;/strong&gt; katagiga belgi qoʻying&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customize Installation&lt;/strong&gt; ni bosing va &lt;strong&gt;pip&lt;/strong&gt; belgilanganini tekshiring&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Birinchi band eng koʻp unutiladigan narsa. Agar uni oʻtkazib yuborsangiz, keyin terminalda python buyrugʻi ishlamaydi va qaytadan oʻrnatishga toʻgʻri keladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tekshirish:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; python &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; pip &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; python --versionC:\&gt; pip --version&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Ikkala buyruq ham versiya raqamini chiqarishi kerak. Agar python topilmasa — PATH sozlanmagan.&lt;/p&gt;
&lt;h2 id=&quot;2-qadam-postgresql-oʻrnatish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-qadam-postgresql-oʻrnatish&quot;&gt;2-qadam. PostgreSQL oʻrnatish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo maʼlumotlar bazasi sifatida PostgreSQL ishlatadi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Odoo 19 uchun minimal versiya — PostgreSQL 13.&lt;/strong&gt; (Bu ham oʻzgargan: Odoo 18 gacha 12 yetarli edi.)&lt;/p&gt;
&lt;p&gt;Yuklab oling: postgresql.org/download/windows&lt;/p&gt;
&lt;h2 id=&quot;path-gaqoʻshish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#path-gaqoʻshish&quot;&gt;PATH ga qoʻshish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Oʻrnatishdan keyin PostgreSQLʼning bin papkasini tizim PATH oʻzgaruvchisiga qoʻshing. Odatiy manzil:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\Program Files\PostgreSQL\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;versiya&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;\bin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\Program Files\PostgreSQL\&lt;versiya&gt;\bin&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;foydalanuvchi-yaratish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#foydalanuvchi-yaratish&quot;&gt;Foydalanuvchi yaratish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Muhim:&lt;/strong&gt; Odoo postgres foydalanuvchisi bilan ulanishni taqiqlaydi. Shuning uchun yangi foydalanuvchi yaratish shart.&lt;/p&gt;
&lt;p&gt;pgAdmin orqali:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;pgAdmin&lt;/strong&gt; ni oching&lt;/li&gt;
&lt;li&gt;Serverga ikki marta bosib ulaning&lt;/li&gt;
&lt;li&gt;Menyudan &lt;strong&gt;Object → Create → Login/Group Role&lt;/strong&gt; ni tanlang&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Role Name&lt;/strong&gt; maydoniga nom kiriting (masalan, odoo)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Definition&lt;/strong&gt; tabini oching, parol kiriting (masalan, odoo) va &lt;strong&gt;Save&lt;/strong&gt; bosing&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Foydalanuvchi nomi va parolni eslab qoling — ular keyingi qadamlarda kerak boʻladi.&lt;/p&gt;
&lt;h2 id=&quot;3-qadam-build-tools-for-visualstudio&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-qadam-build-tools-for-visualstudio&quot;&gt;3-qadam. Build Tools for Visual Studio&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu qadam koʻpincha oʻtkazib yuboriladi va keyin pip install xatolik bilan toʻxtaydi.&lt;/p&gt;
&lt;p&gt;Odooʻning baʼzi Python kutubxonalari C kodini kompilyatsiya qilishni talab qiladi. Windowsʼda buning uchun Microsoftʼning kompilyatori kerak.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Build Tools for Visual Studio&lt;/strong&gt; ni yuklab oling: visualstudio.microsoft.com/downloads&lt;/li&gt;
&lt;li&gt;Oʻrnatuvchida &lt;strong&gt;Workloads&lt;/strong&gt; tabiga oʻting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C++ build tools&lt;/strong&gt; ni tanlang va oʻrnating&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bu bir necha gigabayt joy oladi, lekin iloji yoʻq — busiz pip install -r requirements.txt ishlamaydi.&lt;/p&gt;
&lt;h2 id=&quot;4-qadam-git-oʻrnatish-va-kodni-yuklabolish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-qadam-git-oʻrnatish-va-kodni-yuklabolish&quot;&gt;4-qadam. Git oʻrnatish va kodni yuklab olish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar Git oʻrnatilmagan boʻlsa: git-scm.com/download/win&lt;/p&gt;
&lt;p&gt;Keyin kodni klonlang. Community uchun:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; git clone &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;branch &lt;/span&gt;&lt;span style=&quot;--0:#219F80&quot;&gt;19.0&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;single&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;branch https:&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;github.com&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;odoo&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;odoo.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; git clone --branch 19.0 --single-branch https://github.com/odoo/odoo.git&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Enterprise ham kerak boʻlsa, ikkinchi repozitoriyni ham oling:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; git clone &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;branch &lt;/span&gt;&lt;span style=&quot;--0:#219F80&quot;&gt;19.0&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;single&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;branch https:&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;github.com&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;odoo&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;enterprise.git&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; git clone --branch 19.0 --single-branch https://github.com/odoo/enterprise.git&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Bu yerda bir nuqtani tushunib olish kerak.&lt;/strong&gt; Enterprise repozitoriysi toʻliq Odoo kodini oʻz ichiga olmaydi — u faqat qoʻshimcha modullar toʻplami. Server kodi Communityʼda. Enterpriseʼni ishlatish degani — Community serverini ishga tushirib, addons-path ga Enterprise papkasini qoʻshish degani.&lt;/p&gt;
&lt;p&gt;Shuning uchun Enterprise uchun &lt;strong&gt;ikkala repozitoriy ham kerak.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;5-qadam-python-kutubxonalarini-oʻrnatish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-qadam-python-kutubxonalarini-oʻrnatish&quot;&gt;5-qadam. Python kutubxonalarini oʻrnatish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Terminalni &lt;strong&gt;Administrator sifatida&lt;/strong&gt; oching. Bu talab — oddiy terminalda baʼzi paketlar oʻrnatilmaydi.&lt;/p&gt;
&lt;p&gt;Odoo papkasiga oʻting va buyruqlarni bajaring:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; cd \CommunityPath&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; pip install setuptools wheel&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; pip install &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;r requirements.txt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; cd \CommunityPathC:\&gt; pip install setuptools wheelC:\&gt; pip install -r requirements.txt&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;CommunityPath — bu siz klonlagan odoo papkasining manzili.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Maslahat:&lt;/strong&gt; Agar bir nechta Odoo versiyasi bilan ishlasangiz yoki tizim Pythonʼini toza saqlamoqchi boʻlsangiz, virtualenv orqali alohida muhit yarating. Bu majburiy emas, lekin keyinchalik versiyalar aralashib ketishining oldini oladi.&lt;/p&gt;
&lt;h2 id=&quot;6-qadam-wkhtmltopdf-pdf-hisobotlar-uchun&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#6-qadam-wkhtmltopdf-pdf-hisobotlar-uchun&quot;&gt;6-qadam. wkhtmltopdf (PDF hisobotlar uchun)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu paket pip orqali oʻrnatilmaydi — uni qoʻlda oʻrnatish kerak.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Muhim nuqta:&lt;/strong&gt; kolontitullar (header va footer) ishlashi uchun aynan &lt;strong&gt;0.12.6 versiyasi&lt;/strong&gt; kerak. Boshqa versiyalarda ular chiqmaydi.&lt;/p&gt;
&lt;p&gt;Yuklab olish manzili: github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3&lt;/p&gt;
&lt;p&gt;Agar buni oʻtkazib yuborsangiz, Odoo ishlaydi — lekin PDF hisobot chiqarmoqchi boʻlganingizda xatolik beradi.&lt;/p&gt;
&lt;h2 id=&quot;7-qadam-rtlcss-faqat-oʻngdan-chapga-yoziladigan-tillaruchun&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#7-qadam-rtlcss-faqat-oʻngdan-chapga-yoziladigan-tillaruchun&quot;&gt;7-qadam. rtlcss (faqat oʻngdan chapga yoziladigan tillar uchun)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu qadam faqat arab yoki ibroniy tillarini qoʻllab-quvvatlash kerak boʻlsa bajariladi. Oʻzbek yoki rus tili uchun kerak emas — oʻtkazib yuborsangiz boʻladi.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; npm install &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;g rtlcss&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; npm install -g rtlcss&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Oldin Node.js oʻrnatilgan boʻlishi kerak: nodejs.org/en/download&lt;/p&gt;
&lt;p&gt;Keyin PATH ga rtlcss.cmd joylashgan papkani qoʻshing. Odatda:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\Users\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;\AppData\Roaming\npm\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\Users\&lt;user&gt;\AppData\Roaming\npm\&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;8-qadam-odooʻni-ishga-tushirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#8-qadam-odooʻni-ishga-tushirish&quot;&gt;8-qadam. Odooʻni ishga tushirish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Hammasi tayyor. Serverni ishga tushiramiz:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; cd CommunityPath&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; python odoo&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;bin &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;r dbuser &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;w dbpassword &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;addons&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;addons &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;d mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; cd CommunityPath/C:\&gt; python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Parametrlar:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Parametr               | Ma’nosi                                    |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| ---------------------- | ------------------------------------------ |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| -r dbuser              | PostgreSQL foydalanuvchi nomi (2-qadamda yaratgan) |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| -w dbpassword          | PostgreSQL paroli                          |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| --addons-path=addons   | Modullar qidiriladigan papkalar            |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| -d mydb                | Ma’lumotlar bazasi nomi                    |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;| Parametr               | Ma’nosi                                    || ---------------------- | ------------------------------------------ || -r dbuser              | PostgreSQL foydalanuvchi nomi (2-qadamda yaratgan) || -w dbpassword          | PostgreSQL paroli                          || --addons-path=addons   | Modullar qidiriladigan papkalar            || -d mydb                | Ma’lumotlar bazasi nomi                    |&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;enterprise-bilan-ishga-tushirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#enterprise-bilan-ishga-tushirish&quot;&gt;Enterprise bilan ishga tushirish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar Enterprise ham kerak boʻlsa, addons-path ga uning papkasini qoʻshing. &lt;strong&gt;Enterprise yoʻli birinchi turishi shart&lt;/strong&gt; — aks holda modullar notoʻgʻri yuklanadi:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; python odoo&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;bin &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;r dbuser &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;w dbpassword &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;addons&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;..&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;enterprise&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;addons &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;d mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; python odoo-bin -r dbuser -w dbpassword --addons-path=../enterprise,addons -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;tayyor-ekanini-qandaybilasiz&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#tayyor-ekanini-qandaybilasiz&quot;&gt;Tayyor ekanini qanday bilasiz&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Terminalda shu qator chiqishini kuting:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;odoo.modules.loading: Modules loaded.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;odoo.modules.loading: Modules loaded.&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Shundan keyin brauzerda oching: &lt;a href=&quot;http://localhost:8069&quot; rel=&quot;noopener&quot;&gt;http://localhost:8069&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Kirish maʼlumotlari:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Email: admin&lt;/li&gt;
&lt;li&gt;Parol: admin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Diqqat:&lt;/strong&gt; bu Odoo interfeysiga kirish akkounti(hisobi). U -r parametrida koʻrsatilgan PostgreSQL foydalanuvchisidan butunlay boshqa narsa. Ikkisini aralashtirmang.&lt;/p&gt;
&lt;h2 id=&quot;konfiguratsiya-faylini-ishlatish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#konfiguratsiya-faylini-ishlatish&quot;&gt;Konfiguratsiya faylini ishlatish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Har safar uzun buyruq yozish noqulay. Yaxshisi — barcha sozlamalarni faylga yozib qoʻyish.&lt;/p&gt;
&lt;p&gt;odoo.conf nomli fayl yarating:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;ini&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;options&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_host&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; localhost&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_port&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; 5432&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_user&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;db_password&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; odoo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;addons_path&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; addons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;[options]db_host = localhostdb_port = 5432db_user = odoodb_password = odooaddons_path = addons&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Endi ishga tushirish shunday boʻladi:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;powershell&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;C:\&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; python odoo&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;bin &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;c odoo.conf &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;d mydb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;C:\&gt; python odoo-bin -c odoo.conf -d mydb&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Enterprise bilan ishlasangiz, addons_path qatorini shunday yozing:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;addons_path = ../enterprise,addons&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;addons_path = ../enterprise,addons&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Konfiguratsiya faylining qoʻshimcha foydasi: parollar buyruqlar tarixida qolmaydi.&lt;/p&gt;
&lt;h2 id=&quot;eng-koʻp-uchraydigan-xatolar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#eng-koʻp-uchraydigan-xatolar&quot;&gt;Eng koʻp uchraydigan xatolar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;‘python’ is not recognized as an internal or external command&lt;/strong&gt;&lt;br&gt;
Python oʻrnatishda “Add Python 3 to PATH” belgilanmagan. Pythonʼni qaytadan oʻrnating yoki PATH ni qoʻlda sozlang.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pip install -r requirements.txt kompilyatsiya xatosi bilan toʻxtaydi&lt;/strong&gt;&lt;br&gt;
Build Tools for Visual Studio oʻrnatilmagan (3-qadam). C++ build tools ni oʻrnating va buyruqni qaytadan bajaring.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FATAL: role “odoo” does not exist&lt;/strong&gt;&lt;br&gt;
PostgreSQLʼda foydalanuvchi yaratilmagan yoki -r parametrida boshqa nom koʻrsatilgan. pgAdminʼda foydalanuvchini tekshiring.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;could not connect to server&lt;/strong&gt;&lt;br&gt;
PostgreSQL xizmati ishlamayapti. Windows Servicesʼda postgresql-x64-&lt;versiya&gt; xizmatini topib ishga tushiring.&lt;/versiya&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PDF hisobot chiqmaydi yoki kolontitulsiz chiqadi&lt;/strong&gt;&lt;br&gt;
wkhtmltopdf oʻrnatilmagan yoki notoʻgʻri versiya. Aynan 0.12.6 kerak (6-qadam).&lt;/p&gt;
&lt;p&gt;**Port band —**&lt;strong&gt;Address already in use&lt;/strong&gt;&lt;br&gt;
8069 portni boshqa dastur egallagan. Boshqa port bilan ishga tushiring: —http-port=8070&lt;/p&gt;
&lt;h2 id=&quot;qaysi-usulni-tanlashkerak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#qaysi-usulni-tanlashkerak&quot;&gt;Qaysi usulni tanlash kerak&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Vaziyat                                   | Usul                          |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| --------------------------------------    | ----------------------------- |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Odoo’ni ko’rib chiqmoqchiman              | Installer                     |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Mijozga demo ko’rsatmoqchiman             | Installer                     |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Modul yozaman, kodni o’zgartiraman        | Manbadan                      |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Bir nechta Odoo versiyasi bilan ishlayman | Manbadan + virtualenv         |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;| Kompaniya uchun jonli server kerak        | Ubuntu Server, Windows emas   |&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;| Vaziyat                                   | Usul                          || --------------------------------------    | ----------------------------- || Odoo’ni ko’rib chiqmoqchiman              | Installer                     || Mijozga demo ko’rsatmoqchiman             | Installer                     || Modul yozaman, kodni o’zgartiraman        | Manbadan                      || Bir nechta Odoo versiyasi bilan ishlayman | Manbadan + virtualenv         || Kompaniya uchun jonli server kerak        | Ubuntu Server, Windows emas   |&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Oxirgi qatorni takrorlayman, chunki bu eng koʻp qilinadigan xato. Windowsʼda oʻrnatilgan Odooʻni real kompaniyaga berib yuborish — keyinchalik maʼlumot yoʻqolishi, sekin ishlash va zaxira nusxa muammolariga olib keladi. Odoo buni rasman tavsiya qilmaydi.&lt;/p&gt;
&lt;h2 id=&quot;keyingi-qadam&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#keyingi-qadam&quot;&gt;Keyingi qadam&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Oʻrnatish tugadi. Endi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Modul yozmoqchi boʻlsangiz&lt;/strong&gt; — odoo-bin scaffold buyrugʻi bilan boʻsh modul shabloni yaratishdan boshlang&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Oʻzgarishlarni koʻrish uchun&lt;/strong&gt; — —dev=all parametrini qoʻshing, shunda kodni oʻzgartirganda server qayta yuklanadi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modulni yangilash uchun&lt;/strong&gt; — -u modul_nomi parametridan foydalaning&lt;/li&gt;
&lt;/ul&gt;</content:encoded><category>devops</category></item><item><title>Biznesingiz foyda qilayotganini qanday bilasiz?</title><link>https://blog.bahromnajmiddinov.uz/blog/biznes-foyda-qilayotganini-qanday-bilish</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/biznes-foyda-qilayotganini-qanday-bilish</guid><description>Koʻproq sotuv koʻproq foyda degani emas. Foyda uch bosqichda hisoblanadi — yalpi, operatsion va sof foyda. Maqola toʻliq misol bilan har birini, zarar qayerda yashirinishini va doimiy kuzatish kerak boʻlgan raqamlarni koʻrsatadi.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/biznesingiz-foyda-qilayotganini-qanday-bilasiz-a4106a9b2bd0) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;Koʻproq sotuv degani koʻproq foyda degani emas!&lt;/p&gt;
&lt;p&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;#x22;src&amp;#x22;:&amp;#x22;../../../assets/posts/business-profit/image-1.png&amp;#x22;,&amp;#x22;alt&amp;#x22;:&amp;#x22;Sotuvdan sof foydagacha boʻlgan oylik hisob: 300 mln sotuv, tannarx, yalpi foyda, xarajatlar va sof foyda.&amp;#x22;,&amp;#x22;index&amp;#x22;:0}&quot;&gt;&lt;/p&gt;
&lt;p&gt;Bu eng koʻp uchraydigan xato. Va u Excelʼda ham, ERPʼda ham bir xil tarzda sodir boʻladi. Quyida foyda qanday hisoblanishini va qaysi raqamlarga qarash kerakligini bosqichma-bosqich koʻrib chiqamiz.&lt;/p&gt;
&lt;h2 id=&quot;avval-eng-asosiysi-pul-foyda&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#avval-eng-asosiysi-pul-foyda&quot;&gt;Avval eng asosiysi: pul ≠ foyda&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kassangizda pul bor boʻlishi mumkin, lekin siz zarar koʻrayotgan boʻlishingiz mumkin. Yoki aksincha — kassa boʻsh, lekin biznes foyda qilyapti.&lt;/p&gt;
&lt;p&gt;Sabab oddiy. Kassadagi pul quyidagilardan ham kelib chiqadi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mijoz oldindan toʻlagan, lekin siz tovarni hali bermagansiz — bu pul sizniki emas, qarzingiz&lt;/li&gt;
&lt;li&gt;Siz yetkazib beruvchiga hali toʻlamagansiz — yaʼni uning puli hozircha sizda turibdi&lt;/li&gt;
&lt;li&gt;Kredit olgansiz — bu umuman daromad emas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Shuning uchun “kassada pul bormi?” degan savol &lt;strong&gt;foyda haqida hech narsa aytmaydi.&lt;/strong&gt; Bu faqat bugun toʻlovlaringizni qoplay olasizmi yoki yoʻqmi — shuni koʻrsatadi.&lt;/p&gt;
&lt;h2 id=&quot;foyda-uch-bosqichda-hisoblanadi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#foyda-uch-bosqichda-hisoblanadi&quot;&gt;Foyda uch bosqichda hisoblanadi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu uchta raqamni ajratib olmaguningizcha biznesingiz haqida hech narsa bilmaysiz.&lt;/p&gt;
&lt;h2 id=&quot;1-bosqich-yalpi-foyda-grossprofit&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-bosqich-yalpi-foyda-grossprofit&quot;&gt;1-bosqich. Yalpi foyda (Gross Profit)&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;Yalpi foyda = Sotuvdan tushum − Sotilgan tovar tannarxi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;Yalpi foyda = Sotuvdan tushum − Sotilgan tovar tannarxi&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu eng sodda raqam: tovarni qanchaga oldingiz va qanchaga sotdingiz.&lt;/p&gt;
&lt;p&gt;Misol:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tovarni 70 000 soʻmga oldingiz&lt;/li&gt;
&lt;li&gt;100 000 soʻmga sotdingiz&lt;/li&gt;
&lt;li&gt;Yalpi foyda = 30 000 soʻm, yaʼni &lt;strong&gt;30%&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu yerda ikkita qoidani buzmaslik kerak:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tannarxga tovar narxidan tashqari hamma narsa kiradi.&lt;/strong&gt; Yetkazib berish, bojxona, yuk tushirish, zavoddagi qadoqlash — bularning hammasi tannarx. Faqat hisob-fakturadagi raqamni olsangiz, foydangizni koʻtarib koʻrsatasiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tannarx sotilgan paytdagi tannarx boʻlishi kerak.&lt;/strong&gt; Agar bir xil tovarni turli narxda olgan boʻlsangiz (bugun 70 000, keyingi oy 80 000), qaysi birini hisobga olasiz? Bu yerda hisob usuli tanlanadi — FIFO yoki oʻrtacha narx. Tanlagan usulingizni oʻzgartirmaslik kerak, aks holda raqamlar taqqoslanmaydi.&lt;/p&gt;
&lt;h2 id=&quot;2-bosqich-operatsion-foyda&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-bosqich-operatsion-foyda&quot;&gt;2-bosqich. Operatsion foyda&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;Operatsion foyda = Yalpi foyda − Operatsion xarajatlar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;Operatsion foyda = Yalpi foyda − Operatsion xarajatlar&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Operatsion xarajatlar — bu tovarga bogʻliq boʻlmagan, lekin biznesni ushlab turish uchun toʻlanadigan hamma narsa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ish haqi va soliqlari&lt;/li&gt;
&lt;li&gt;Ijara&lt;/li&gt;
&lt;li&gt;Kommunal toʻlovlar&lt;/li&gt;
&lt;li&gt;Reklama&lt;/li&gt;
&lt;li&gt;Transport va yoqilgʻi&lt;/li&gt;
&lt;li&gt;Bank xizmatlari&lt;/li&gt;
&lt;li&gt;Dasturiy taʼminot, aloqa&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu yerda eng koʻp qilinadigan xato — &lt;strong&gt;oʻz ish haqini hisobga olmaslik.&lt;/strong&gt; Agar siz biznesda har kuni ishlasangiz, sizning mehnatingiz ham xarajat. Boshqa odam yollasangiz qancha toʻlar edingiz — oʻsha raqamni yozing. Aks holda “foyda” deb koʻrsatayotgan narsangiz aslida sizning maoshingiz boʻlib chiqadi.&lt;/p&gt;
&lt;h2 id=&quot;3-bosqich-sof-foyda-netprofit&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-bosqich-sof-foyda-netprofit&quot;&gt;3-bosqich. Sof foyda (Net Profit)&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;Sof foyda = Operatsion foyda − Kredit foizlari − Soliqlar&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;Sof foyda = Operatsion foyda − Kredit foizlari − Soliqlar&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Mana shu — haqiqiy foyda. Siz egasi sifatida olishingiz mumkin boʻlgan pul.&lt;/p&gt;
&lt;h2 id=&quot;toʻliq-misol&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#toʻliq-misol&quot;&gt;Toʻliq misol&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bir oylik hisob:&lt;/p&gt;

























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Koʻrsatkich&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;Summa (mln soʻm)&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Sotuvdan tushum&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sotilgan tovar tannarxi&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−210&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Yalpi foyda&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;strong&gt;90 (30%)&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ish haqi&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−35&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ijara&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−18&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Transport&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−12&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Reklama&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−8&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Boshqa xarajatlar&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Operatsion foyda&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;strong&gt;7&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Kredit foizi&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Soliq&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Sof foyda&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;300 million savdo. Kassa toʻla. Sof foyda — nol.&lt;/p&gt;
&lt;p&gt;Yuqoridagi tanishimning holati aynan shu edi. U faqat birinchi qatorga qarar edi.&lt;/p&gt;
&lt;h2 id=&quot;zarar-qayerda-yashirinadi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#zarar-qayerda-yashirinadi&quot;&gt;Zarar qayerda yashirinadi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar savdo bor, lekin foyda yoʻq boʻlsa, sabab odatda shu toʻrttasidan biri:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chegirma nazoratsiz.&lt;/strong&gt; Sotuvchi bitimni yopish uchun chegirma beradi. 30% marjadan 10% chegirma bersangiz, foydangizning uchdan biri yoʻqoladi. Koʻp joyda bu umuman hisoblanmaydi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sklad qotib qolgan.&lt;/strong&gt; Omborda bir yildan beri yotgan tovar — bu pul. U ishlamayapti, lekin siz uni sotib olish uchun pul toʻlagansiz. Koʻpincha bu “aktiv” deb koʻriladi, aslida esa muzlab qolgan mablag’.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Debitorlik qarzi oʻsyapti.&lt;/strong&gt; Tovarni berdingiz, hujjat yopildi, foyda hisobga tushdi — lekin pul kelmadi. Qogʻozda foyda bor, kassada pul yoʻq. Agar qarz undirilmasa, u foyda emas, zarar.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yashirin xarajatlar.&lt;/strong&gt; Yoʻqotilgan tovar, qaytarib olingan mahsulot, brak, transportdagi shikast. Bular alohida hisoblanmasa, tannarx ichiga singib ketadi va siz muammoni koʻrmaysiz.&lt;/p&gt;
&lt;h2 id=&quot;doimiy-kuzatish-kerak-boʻlganraqamlar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#doimiy-kuzatish-kerak-boʻlganraqamlar&quot;&gt;Doimiy kuzatish kerak boʻlgan raqamlar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Har oy, kamida shu beshtasi:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Yalpi marja (%).&lt;/strong&gt; Oydan oyga tushib borayaptimi? Bu eng erta ogohlantiruvchi signal. Marja tushsa — yo tannarx oshgan, yo chegirmalar nazoratdan chiqqan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Operatsion xarajatlarning savdoga nisbati (%).&lt;/strong&gt; Savdo oʻsganda bu foiz tushishi kerak. Agar oʻssa — siz oʻsishdan emas, xarajatdan oʻsyapsiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Break-even nuqtasi.&lt;/strong&gt; Nolga chiqish uchun oyiga qancha sotish kerak?&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;Break-even = Doimiy xarajatlar ÷ Yalpi marja foizi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;Break-even = Doimiy xarajatlar ÷ Yalpi marja foizi&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Yuqoridagi misolda: doimiy xarajatlar 83 mln, marja 30%. Demak break-even = 83 ÷ 0.30 = &lt;strong&gt;277 mln soʻm.&lt;/strong&gt; Shundan kam sotsangiz — zarar.&lt;/p&gt;
&lt;p&gt;Bu raqamni bilish juda muhim, chunki u sizga aniq maqsad beradi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Sklad aylanishi.&lt;/strong&gt; Tovar oʻrtacha necha kunda sotiladi? Agar 120 kun boʻlsa, siz pulingizni toʻrt oyga muzlatib qoʻygansiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Debitorlik muddati.&lt;/strong&gt; Mijozlar oʻrtacha necha kunda toʻlaydi? Agar bu raqam oʻsib borsa, oldinda pul tanqisligi kutilmoqda.&lt;/p&gt;
&lt;h2 id=&quot;buni-qanday-hisoblash-mumkin&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#buni-qanday-hisoblash-mumkin&quot;&gt;Buni qanday hisoblash mumkin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Excelʼda.&lt;/strong&gt; Kichik biznes uchun ishlaydi, lekin uchta shart bor: har bir kirim hujjatda tannarx yozilsin, xarajatlar kategoriyalarga boʻlinsin, hisob oy yopilgandan keyin 3 kun ichida tayyor boʻlsin. Agar hisobot oy oʻrtasida chiqsa, undan qaror chiqara olmaysiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ERP tizimida.&lt;/strong&gt; Bu yerda asosiy foyda shundaki, tannarx har bir sotuv hujjatida avtomatik hisoblanadi — siz uni qoʻlda kiritmaysiz. Odooʻda masalan, mahsulot kategoriyasida hisob usulini (FIFO yoki oʻrtacha) va avtomatik valuatsiyani yoqsangiz, har bir yetkazib berishda tannarx jurnalga oʻzi tushadi. Shundan keyin yalpi marjani mahsulot, mijoz yoki sotuvchi kesimida koʻrish mumkin boʻladi.&lt;/p&gt;
&lt;p&gt;Lekin bu yerda bitta ogohlantirish bor: &lt;strong&gt;tizim faqat siz kiritgan maʼlumot qanchalik toʻgʻri boʻlsa, shuncha toʻgʻri hisoblaydi.&lt;/strong&gt; Agar transport xarajatini tannarxga qoʻshmasangiz, Odoo ham uni hisoblamaydi. Avtomatlashtirish notoʻgʻri hisobni toʻgʻrilab bermaydi — faqat uni tezroq koʻrsatadi.&lt;/p&gt;
&lt;h2 id=&quot;eng-qisqajavob&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#eng-qisqajavob&quot;&gt;Eng qisqa javob&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar vaqtingiz yoʻq boʻlsa, shu uchta savolga javob bering:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Yalpi marjam necha foiz va u oshyaptimi yoki tushyaptimi?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nolga chiqish uchun oyiga qancha sotishim kerak va men bundan yuqoridamanmi?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qogʻozdagi foydam kassaga tushdimi yoki debitorlikda qolyaptimi?&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Shu uchtasiga aniq raqam bilan javob bera olsangiz — biznesingizni nazorat qilyapsiz. Bera olmasangiz, hozir foyda qilayotgan boʻlsangiz ham, buni bilib emas, tasodifan qilyapsiz.&lt;/p&gt;</content:encoded><category>accounting</category></item><item><title>Bankdagi pul — biznes foydasi emas. Nega?</title><link>https://blog.bahromnajmiddinov.uz/blog/bankdagi-pul-biznes-foydasi-emas</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/bankdagi-pul-biznes-foydasi-emas</guid><description>Bank qoldigʻi faqat shu ondagi holatni koʻrsatadi, foydani emas. Undan mijozlar avansi, yetkazib beruvchilarga qarz, soliq, ish haqi va kredit ajratilgach qolgan erkin pul haqiqiy holatni bildiradi; maqola buni amaliy misolda koʻrsatadi.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/bankdagi-pul-biznes-foydasi-emas-nega-116e3d8cec2c) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;#x22;src&amp;#x22;:&amp;#x22;../../../assets/posts/cash-is-not-profit/image-1.png&amp;#x22;,&amp;#x22;alt&amp;#x22;:&amp;#x22;Slayd: bankdagi pul foyda emas — 500 million qoldiqning haqiqiy erkin qismi minus 35 million.&amp;#x22;,&amp;#x22;index&amp;#x22;:0}&quot;&gt;&lt;/p&gt;
&lt;p&gt;Tadbirkor bilan suhbat. “Ishlar qalay?” deb soʻrayman. “Zoʻr,” deydi, “hisobda 500 million bor.”&lt;/p&gt;
&lt;p&gt;Shu javobning oʻzi muammo. Chunki u bitta savolga javob bermaydi: &lt;strong&gt;bu pulning qancha qismi uniki?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hisobdagi qoldiq — bu shunchaki bugungi kundagi raqam. U sizga biznes foyda qilayotganini ham, qilmayotganini ham aytmaydi. Quyida nega bunday ekanini va bank qoldigʻini qanday toʻgʻri oʻqish kerakligini koʻrib chiqamiz.&lt;/p&gt;
&lt;h2 id=&quot;bank-qoldigʻi-faqat-shu-ondagi-holatni-koʻrsatadi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#bank-qoldigʻi-faqat-shu-ondagi-holatni-koʻrsatadi&quot;&gt;Bank qoldigʻi faqat shu ondagi holatni koʻrsatadi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;#x22;src&amp;#x22;:&amp;#x22;../../../assets/posts/cash-is-not-profit/image-2.png&amp;#x22;,&amp;#x22;alt&amp;#x22;:&amp;#x22;Slayd: bank qoldigʻi bir ondagi holat, jarayon emas — kirim va chiqim oqimi.&amp;#x22;,&amp;#x22;index&amp;#x22;:0}&quot;&gt;&lt;/p&gt;
&lt;p&gt;Tasavvur qiling, hovuzga suv quyilyapti va bir vaqtning oʻzida u yerdan suv chiqib ketyapti. Siz hovuzga qarab, “ichida 500 litr suv bor” deysiz.&lt;/p&gt;
&lt;p&gt;Toʻgʻri. Lekin bu sizga quyidagilarni aytmaydi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Suv koʻpayyaptimi yoki kamayyaptimi&lt;/li&gt;
&lt;li&gt;Qanchasi ertaga chiqib ketishi kerak&lt;/li&gt;
&lt;li&gt;Qanchasi sizniki, qanchasi qarzga olingan&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bank hisobi ham shunday. U &lt;strong&gt;jarayonni&lt;/strong&gt; emas, &lt;strong&gt;bir ondagi holatni&lt;/strong&gt; koʻrsatadi. Kecha 800 million boʻlgan, ertaga 200 million boʻlishi mumkin — raqamning oʻzi hech narsa demaydi.&lt;/p&gt;
&lt;h2 id=&quot;hisobdagi-pulning-kimga-tegishli-ekanini-ajratibchiqing&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#hisobdagi-pulning-kimga-tegishli-ekanini-ajratibchiqing&quot;&gt;Hisobdagi pulning kimga tegishli ekanini ajratib chiqing&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Mana shu — eng muhim qismi. Bir varaq oling va bugungi bank qoldigʻini boʻlaklarga ajrating.&lt;/p&gt;
&lt;h2 id=&quot;1-mijozlar-oldindan-toʻlaganpul&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-mijozlar-oldindan-toʻlaganpul&quot;&gt;1. Mijozlar oldindan toʻlagan pul&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Mijoz buyurtma berdi, 100 million toʻladi, tovar hali yetkazilmagan. Bu pul hisobingizda turibdi — lekin u &lt;strong&gt;sizniki emas, qarzingiz&lt;/strong&gt;. Ertaga tovarni yetkazib bermasangiz, uni qaytarib berishingiz kerak.&lt;/p&gt;
&lt;h2 id=&quot;2-yetkazib-beruvchilarga-toʻlanmagan-summa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-yetkazib-beruvchilarga-toʻlanmagan-summa&quot;&gt;2. Yetkazib beruvchilarga toʻlanmagan summa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Siz tovarni olgansiz, hujjat yopilgan, lekin toʻlov muddati keyingi oyda. Bu pul hozircha sizda — lekin u ham &lt;strong&gt;sizniki emas&lt;/strong&gt;. Bu shunchaki boshqa odamning puli vaqtincha sizda turibdi.&lt;/p&gt;
&lt;h2 id=&quot;3-soliq-va-ishhaqi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-soliq-va-ishhaqi&quot;&gt;3. Soliq va ish haqi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Oy oxirida toʻlanadigan ish haqi, soliqlar, ijtimoiy toʻlovlar. Ular hali hisobdan chiqmagan, lekin allaqachon &lt;strong&gt;band qilingan pul&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&quot;4-kredit&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-kredit&quot;&gt;4. Kredit&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kredit olgansiz va u hisobga tushgan. Bu daromad emas. Bu — foizi bilan qaytariladigan qarz. Hisobdagi raqam oʻsgan, lekin biznesingiz bir tiyin ham boyimagan.&lt;/p&gt;
&lt;h2 id=&quot;5-qolgani&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-qolgani&quot;&gt;5. Qolgani&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Yuqoridagi toʻrttasini ayirgandan keyin qolgan summa — mana shu haqiqatan sizning ixtiyoringizdagi pul.&lt;/p&gt;
&lt;h2 id=&quot;amaliy-misol&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#amaliy-misol&quot;&gt;Amaliy misol&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bank hisobi: &lt;strong&gt;500 mln soʻm&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;#x22;src&amp;#x22;:&amp;#x22;../../../assets/posts/cash-is-not-profit/image-3.png&amp;#x22;,&amp;#x22;alt&amp;#x22;:&amp;#x22;Slayd: 500 mln qoldiq, minus balans — avanslar, qarzlar, soliq va kredit ayrilgach erkin pul −35 mln.&amp;#x22;,&amp;#x22;index&amp;#x22;:0}&quot;&gt;&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Nima&lt;/th&gt;&lt;th align=&quot;right&quot;&gt;Summa (mln soʻm)&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Mijozlar oldindan toʻlagan (tovar berilmagan)&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−140&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Yetkazib beruvchilarga qarz&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−180&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ish haqi va soliq (shu oy toʻlanadi)&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−95&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Kredit (asosiy qarz qismi)&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;−120&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Haqiqiy erkin pul&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;strong&gt;−35&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Hisobda yarim milliard turibdi. Aslida esa kompaniya &lt;strong&gt;35 million minusda.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Va eng xavflisi — bu odam oʻzini boy his qiladi. U yangi mashina oladi yoki ikkinchi filial ochadi. Ikki oydan keyin ish haqini toʻlashga pul topa olmaydi.&lt;/p&gt;
&lt;h2 id=&quot;nega-foyda-va-pul-bir-vaqtdakelmaydi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#nega-foyda-va-pul-bir-vaqtdakelmaydi&quot;&gt;Nega foyda va pul bir vaqtda kelmaydi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu ikkisi boshqa-boshqa qoidalar boʻyicha hisoblanadi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Foyda&lt;/strong&gt; hujjat yopilganda yoziladi. Tovarni yetkazdingiz, hisob-faktura berdingiz — foyda hisobga tushdi. Mijoz toʻlaganmi yoki yoʻqmi, buning ahamiyati yoʻq.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pul&lt;/strong&gt; esa faqat haqiqatan kelganda yoki ketganda harakatlanadi.&lt;/p&gt;
&lt;p&gt;Shuning uchun toʻrtta holat boʻlishi mumkin:&lt;/p&gt;
&lt;p&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;#x22;src&amp;#x22;:&amp;#x22;../../../assets/posts/cash-is-not-profit/image-4.png&amp;#x22;,&amp;#x22;alt&amp;#x22;:&amp;#x22;Slayd: foyda va pul bir narsa emas — toʻrt holat: foyda bor/yoʻq, pul bor/yoʻq.&amp;#x22;,&amp;#x22;index&amp;#x22;:0}&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ikkinchi holat eng koʻp uchraydigani va eng xavflisi.&lt;/strong&gt; Qogʻozda hamma narsa yaxshi, lekin kassada pul yoʻq. Koʻp biznes aynan shu holatda yopiladi — foydasiz emas, &lt;strong&gt;pulsiz&lt;/strong&gt; qolgani uchun.&lt;/p&gt;
&lt;h2 id=&quot;foyda-bor-lekin-pul-yoʻqsabablari&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#foyda-bor-lekin-pul-yoʻqsabablari&quot;&gt;Foyda bor, lekin pul yoʻq — sabablari&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar hisobotda foyda koʻrsatilayotgan boʻlsa-yu, hisobda pul boʻlmasa, javob shu uchtasidan biri:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Debitorlik qarzi.&lt;/strong&gt; Tovarni berdingiz, foyda yozildi, pul kelmadi. Har bir toʻlanmagan hisob-faktura — bu mijozga bergan foizsiz kredit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sklad.&lt;/strong&gt; Pulni tovarga aylantirdingiz. Omborda yotgan har bir qop — bu muzlatilgan mablag’. Sklad qancha katta boʻlsa, hisobda shuncha kam pul qoladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kredit asosiy qarzi.&lt;/strong&gt; Kredit toʻlovining foiz qismi xarajat sifatida hisobga olinadi, lekin &lt;strong&gt;asosiy qarz qismi xarajat emas.&lt;/strong&gt; Yaʼni u foydani kamaytirmaydi, lekin pulni olib ketadi. Shuning uchun foyda 50 mln boʻlishi mumkin, kreditga esa 60 mln toʻlaysiz.&lt;/p&gt;
&lt;p&gt;Shunga qoʻshimcha — egasining shaxsiy ehtiyojlariga olingan pullar. Ular ham foydadan ayirilmaydi, lekin hisobdan chiqib ketadi.&lt;/p&gt;
&lt;h2 id=&quot;ikkita-raqamni-ajratibyuring&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#ikkita-raqamni-ajratibyuring&quot;&gt;Ikkita raqamni ajratib yuring&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Biznesni tushunish uchun oyma-oy ikkita alohida hisobot kerak.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Foyda va zarar hisoboti&lt;/strong&gt; — biznes model ishlayaptimi, degan savolga javob beradi. Savdo, tannarx, xarajatlar, sof foyda.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pul oqimi hisoboti&lt;/strong&gt; — ertaga toʻlovlarni qoplay olasizmi, degan savolga javob beradi. Oy boshidagi qoldiq, kirimlar, chiqimlar, oy oxiridagi qoldiq.&lt;/p&gt;
&lt;p&gt;Bittasini ikkinchisi bilan almashtirib boʻlmaydi. Birinchisi biznes &lt;strong&gt;foydalimi&lt;/strong&gt; deb soʻraydi, ikkinchisi &lt;strong&gt;tirik qoladimi&lt;/strong&gt; deb soʻraydi. Ikkalasiga ham javob kerak.&lt;/p&gt;
&lt;h2 id=&quot;har-hafta-tekshiriladigan-uchtaraqam&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#har-hafta-tekshiriladigan-uchtaraqam&quot;&gt;Har hafta tekshiriladigan uchta raqam&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img __ASTRO_IMAGE_=&quot;{&amp;#x22;src&amp;#x22;:&amp;#x22;../../../assets/posts/cash-is-not-profit/image-5.png&amp;#x22;,&amp;#x22;alt&amp;#x22;:&amp;#x22;Slayd: savdo toʻxtasa necha oy yashaysiz — zaxira = erkin pul ÷ oylik doimiy xarajat.&amp;#x22;,&amp;#x22;index&amp;#x22;:0}&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Erkin pul.&lt;/strong&gt; Bank qoldigʻidan yuqoridagi toʻrtta band ayirilgan summa. Bu — haqiqatan sizning ixtiyoringizdagi pul.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Oldinda turgan 30 kunlik toʻlovlar.&lt;/strong&gt; Keyingi oy ichida qancha pul chiqishi kerak? Agar bu raqam erkin puldan katta boʻlsa, siz hozir tanqislik tomon ketyapsiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Kassa zaxirasi.&lt;/strong&gt; Agar ertaga savdo toʻxtasa, necha oy ushlab turasiz?&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;Zaxira = Erkin pul ÷ Oylik doimiy xarajat&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;Zaxira = Erkin pul ÷ Oylik doimiy xarajat&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Masalan erkin pul 90 mln, oylik doimiy xarajat 45 mln → zaxira &lt;strong&gt;2 oy&lt;/strong&gt;. Bu xavfli chegara. Sogʻlom koʻrsatkich — kamida 3 oy.&lt;/p&gt;
&lt;h2 id=&quot;erp-buni-qanday-koʻrsatadi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#erp-buni-qanday-koʻrsatadi&quot;&gt;ERP buni qanday koʻrsatadi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar hisobni tizimda yuritsangiz, bu raqamlarni qoʻlda yigʻish shart emas.&lt;/p&gt;
&lt;p&gt;Odoo misolida: bank hisobi qoldigʻi bitta hisobda turadi, mijozlar avansi ikkinchisida, yetkazib beruvchiga qarz uchinchisida. Ular &lt;strong&gt;alohida kontlarda&lt;/strong&gt; yozilgani uchun, erkin pulni hisoblash oddiy formulaga aylanadi.&lt;/p&gt;
&lt;p&gt;Lekin bu yerda bitta shart bor: toʻlovlar hujjatlar bilan toʻgʻri bogʻlangan boʻlishi kerak. Agar avans oddiy kirim sifatida yozilsa va buyurtmaga ulanmasa, tizim uni ham “sizning pulingiz” deb koʻrsatadi. &lt;strong&gt;Notoʻgʻri kiritilgan maʼlumot avtomatik hisobda ham notoʻgʻri chiqadi&lt;/strong&gt; — faqat tezroq va ishonchliroq koʻrinishda.&lt;/p&gt;
&lt;h2 id=&quot;qisqa-xulosa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#qisqa-xulosa&quot;&gt;Qisqa xulosa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bank hisobidagi raqamni koʻrganingizda oʻzingizga bitta savol bering:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Shu pulning qancha qismi ertaga boshqa odamga tegishli?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Agar javobni 30 soniyada ayta olmasangiz, siz biznesingizning moliyaviy holatini bilmaysiz — faqat bugungi hisob qoldigʻini bilasiz. Bu ikkisi bir narsa emas.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Siz erkin pulni alohida hisoblaysizmi yoki bank qoldigʻiga qarab qaror qabul qilasizmi? Zaxirangiz necha oyga yetadi?&lt;/em&gt;&lt;/p&gt;</content:encoded><category>accounting</category></item><item><title>ERP joriy qilish: 8 bosqichli checklist</title><link>https://blog.bahromnajmiddinov.uz/blog/erp-joriy-qilish-checklist</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/erp-joriy-qilish-checklist</guid><description>ERP loyihalari koʻpincha kod emas, qarorlar sabab muvaffaqiyatsiz boʻladi. Bu checklist yirik integratorlar ishlatadigan 8 bosqichli tartibni — discovery dan go-live va qoʻllab-quvvatlashgacha — kichik loyihalarga moslab beradi.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/erp-joriy-qilish-8-bosqichli-checklist-e3ebdd7ae40a) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;Men koʻrgan muvaffaqiyatsiz ERP loyihalarining hech birida sabab “dasturchi kodni yomon yozdi” boʻlmagan. Sabab har doim boshqa joyda edi: kimdir qaror qabul qilmadi, kimdir eski bazadagi 4 000 ta dublikat mahsulotni yangi tizimga olib oʻtdi, kimdir “bu ham kerak edi-ku” deb loyihani toʻxtovsiz kengaytirdi.&lt;/p&gt;
&lt;p&gt;Shuning uchun yirik integratorlar dasturlash metodologiyasiga emas, &lt;strong&gt;joriy qilish metodologiyasiga&lt;/strong&gt; pul sarflaydi. SAPʼda u SAP Activate, Oracleʼda Oracle Unified Method, Microsoftʼda Sure Step deb ataladi. Nomlar boshqa — skelet bitta.&lt;/p&gt;
&lt;p&gt;Quyida oʻsha skeletning amaliy koʻrinishi. Har bir bosqichda: nima qilinadi, nimaga eʼtibor beriladi va qayerda koʻpchilik qoqiladi.&lt;/p&gt;
&lt;h2 id=&quot;1-discoveryhozir-nimabor&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-discoveryhozir-nimabor&quot;&gt;1. Discovery — hozir nima bor?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu bosqichda maqsad yechim taklif qilish emas. Maqsad — &lt;strong&gt;mavjud holatni gapirmasdan tinglab, yozib olish&lt;/strong&gt; (AS-IS).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nima qilinadi:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Har bir boʻlimning real jarayoni kuzatiladi. Soʻrovnoma emas, kuzatuv: odam ekranda nimani bosadi, qaysi Excel faylni ochadi, kimga qoʻngʻiroq qiladi.&lt;/li&gt;
&lt;li&gt;Har bir boʻlimdan bitta &lt;strong&gt;key user&lt;/strong&gt; tayinlanadi — oʻz sohasi boʻyicha qaror qabul qila oladigan odam.&lt;/li&gt;
&lt;li&gt;Ogʻriqli nuqtalar raqamga aylantiriladi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Oxirgi punkt eng muhimi. “Skladda tartib yoʻq” — bu shikoyat, oʻlchov emas. “Oyiga 40 soat qoʻlda inventarizatsiya, oxirgi 3 oyda 12 ta notoʻgʻri yuklash” — bu oʻlchov. Loyiha tugagach, muvaffaqiyatni aynan shu raqamlar bilan isbotlaysiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chiqish hujjati:&lt;/strong&gt; loyiha doirasi (scope). Nima kiradi, nima kirmaydi — yozma ravishda. Keyinroq muqarrar ravishda paydo boʻladigan “bu ham kerak edi-ku” bahsini faqat shu hujjat yopadi.&lt;/p&gt;
&lt;h2 id=&quot;2-designqanday-boʻlishikerak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-designqanday-boʻlishikerak&quot;&gt;2. Design — qanday boʻlishi kerak?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AS-ISʼdan TO-BEʼga oʻtish. Va bu bosqichning yuragi — &lt;strong&gt;Fit-Gap analiz&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Har bir talab ikkiga ajratiladi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fit&lt;/strong&gt; — tizimning standart funksiyasi bilan qoplanadi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gap&lt;/strong&gt; — qoplanmaydi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gapʼning har biriga aniq qaror yoziladi:&lt;/p&gt;
&lt;p&gt;Qaror Qachon tanlanadi Jarayonni oʻzgartirish Talab odat boʻlgani uchun mavjud, biznes qiymati yoʻq Konfiguratsiya bilan yopish Standart sozlamalar yetarli Customization (kod) Talab kompaniyaning raqobat ustunligi yoki qonun talabi Keyingi fazaga qoldirish Hozir kerak emas, ammo unutilmasligi kerak&lt;/p&gt;
&lt;h2 id=&quot;nega-standartga-yaqin-turishkerak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#nega-standartga-yaqin-turishkerak&quot;&gt;Nega standartga yaqin turish kerak&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu — yirik implementorlarning eng qatʼiy qoidasi va koʻpincha mijozga eng yoqmaydigan qoidasi.&lt;/p&gt;
&lt;p&gt;Har bir ortiqcha customization — bir martalik xarajat emas, &lt;strong&gt;obuna&lt;/strong&gt;. Siz uni bir marta yozasiz, keyin har bir versiya yangilanishida, har bir yangi modul qoʻshilganda va har bir xato tekshiruvida yana toʻlaysiz. 20 ta customization bilan chiqqan tizim 3 yildan keyin yangilanmay qoladi — chunki yangilanish narxi yangi loyiha narxiga tenglashadi.&lt;/p&gt;
&lt;p&gt;Amaliy mezon: agar talab “biz doim shunday qilganmiz” bilan asoslansa — jarayonni oʻzgartiring. Agar “mijozlarimiz aynan shuni talab qiladi” bilan asoslansa — kod yozing.&lt;/p&gt;
&lt;h2 id=&quot;3-buildkonfiguratsiya-keyin-development&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-buildkonfiguratsiya-keyin-development&quot;&gt;3. Build — konfiguratsiya, keyin development&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Tartib muhim: &lt;strong&gt;avval sozlash, keyin kod.&lt;/strong&gt; Tajribamda talablarning katta qismi kodsiz, faqat toʻgʻri sozlash bilan yopiladi — shart sizning tizimni yetarlicha chuqur bilishingizda.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Texnik minimum:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uchta alohida muhit: &lt;strong&gt;Development → Staging → Production&lt;/strong&gt;. Productionda tajriba qilish — yozilmagan qoidani buzish.&lt;/li&gt;
&lt;li&gt;Butun kod Gitʼda. Mijoz serveridagi “faqat shu yerda bor” fayl — kelajakdagi falokat.&lt;/li&gt;
&lt;li&gt;Migratsiya va maʼlumot skriptlari &lt;strong&gt;idempotent&lt;/strong&gt; boʻlsin: ikki marta ishga tushirilsa ham natija bir xil.&lt;/li&gt;
&lt;li&gt;Har bir oʻzgarish Stagingʻda sinalmaguncha Productionʼga chiqmaydi.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4-data-migrationeng-koʻp-vaqt-yeydiganbosqich&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-data-migrationeng-koʻp-vaqt-yeydiganbosqich&quot;&gt;4. Data migration — eng koʻp vaqt yeydigan bosqich&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Loyiha rejasida bu bosqich odatda kam baholanadi. Amalda esa u koʻpincha butun loyihaning eng uzun qismi boʻlib chiqadi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bosqichlar:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Roʻyxat.&lt;/strong&gt; Nima koʻchiriladi: mahsulot katalogi, kontragentlar, sklad qoldigʻi, ochilish balansi, ochiq buyurtmalar, qarzdorlik.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tozalash.&lt;/strong&gt; Eski bazadagi axlat yangi tizimga oʻtmasligi kerak. 4 000 ta mahsulotning 1 200 tasi dublikat boʻlsa — ularni migratsiyadan &lt;strong&gt;oldin&lt;/strong&gt; birlashtiring. Keyin emas.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sinov importi.&lt;/strong&gt; Kamida ikki marta, toʻliq hajmda, Staging muhitida.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Solishtirish (reconciliation).&lt;/strong&gt; Har bir importdan keyin: jami sklad qoldigʻi, jami debitor/kreditor qarzdorlik, konto balanslari — eski tizim bilan tiyin-tiyingacha mos kelishi kerak.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Agar 4-punkt bajarilmasa, siz xatoni goʻliveʼdan keyin, buxgalter hisobotni yopolmay qolganda topasiz.&lt;/p&gt;
&lt;h2 id=&quot;5-uatmijoz-qabultesti&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-uatmijoz-qabultesti&quot;&gt;5. UAT — mijoz qabul testi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;User Acceptance Testing&lt;/strong&gt; — tizimni mijozning oʻzi tekshiradigan bosqich. Sizning ichki testingiz bu emas.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Qoidalar:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Test stsenariylari real hujjatlar asosida yoziladi: oʻtgan oyning haqiqiy buyurtmasini oling va uni sotuv → yetkazib berish → invoys → toʻlov zanjiri boʻylab oʻtkazing.&lt;/li&gt;
&lt;li&gt;Testni key userʼlar bajaradi. Siz faqat kuzatasiz va yozib borasiz.&lt;/li&gt;
&lt;li&gt;Har bir topilgan xato roʻyxatga tushadi, masʼul va muddat belgilanadi, yopilguncha kuzatiladi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UAT rasman qabul qilinmaguncha go-live yoʻq.&lt;/strong&gt; Bu sizni ham, mijozni ham himoya qiladi.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;6-trainingtizimni-odamlar-ishlatadi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#6-trainingtizimni-odamlar-ishlatadi&quot;&gt;6. Training — tizimni odamlar ishlatadi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Texnik jihatdan mukammal tizim, agar kassir undan qoʻrqsa, ishlamaydi.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oʻqitish &lt;strong&gt;rollar boʻyicha&lt;/strong&gt; boʻlinadi: kassirga kassa kerak, buxgalterga hisobot. Hammaga hamma narsani koʻrsatish — vaqtni behuda sarflash.&lt;/li&gt;
&lt;li&gt;Materiallar mijoz xodimlari tushunadigan tilda: qisqa videolar va 1–2 betlik amaliy yoʻriqnomalar.&lt;/li&gt;
&lt;li&gt;Har bir boʻlimda 1–2 ta &lt;strong&gt;champion&lt;/strong&gt; tayyorlanadi. Ular kundalik savollarning 80 foizini siz ishtirok etmasdan yopadi va qoʻllab-quvvatlash yukini keskin kamaytiradi.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;7-go-livecutover&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#7-go-livecutover&quot;&gt;7. Go-live — cutover&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Cutover — eski tizimdan yangisiga oʻtishning aniq soatlarga boʻlingan rejasi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sana tanlash.&lt;/strong&gt; Oy yoki chorak boshi qulay: buxgalteriya davri toza boshlanadi. Yuqori mavsum oʻrtasi — eng yomon variant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cutover rejasi soatlab yoziladi:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;18:00 — eski tizimda yangi hujjat kiritish to&apos;xtatiladi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;19:00 — yakuniy qoldiq va balanslar olinadi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;20:00 — ma&apos;lumot importi boshlanadi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;23:00 — solishtirish va tekshiruv&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;00:30 — GO / NO-GO qarori&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;08:00 — yangi tizimda ish boshlanadi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;18:00 — eski tizimda yangi hujjat kiritish to&amp;#x27;xtatiladi19:00 — yakuniy qoldiq va balanslar olinadi20:00 — ma&amp;#x27;lumot importi boshlanadi23:00 — solishtirish va tekshiruv00:30 — GO / NO-GO qarori08:00 — yangi tizimda ish boshlanadi&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Rollback rejasi.&lt;/strong&gt; Har bir cutover rejasida “agar ishlamasa nima qilamiz” bandi boʻlishi shart: qaysi nuqtaga qaytamiz, eski tizim qancha vaqt tirik turadi, qarorni kim qabul qiladi. Bu reja deyarli hech qachon ishlatilmaydi — ammo u boʻlmasa, tungi soat ikkida panika boshlanadi.&lt;/p&gt;
&lt;h2 id=&quot;8-hyper-carebirinchi-24hafta&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#8-hyper-carebirinchi-24hafta&quot;&gt;8. Hyper-care — birinchi 2–4 hafta&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Go-live loyihaning tugashi emas. Undan keyingi 2–4 hafta — kuchaytirilgan qoʻllab-quvvatlash rejimi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Javob muddati odatdagidan qisqa.&lt;/li&gt;
&lt;li&gt;Har kuni qisqa yigʻilish: bugun kim nimaga qoqildi?&lt;/li&gt;
&lt;li&gt;Topilgan muammolar tezda tuzatiladi va yoʻriqnomalarga qaytariladi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Shu davr yakunlangandan keyingina loyiha odatiy support rejimiga topshiriladi. Topshirish ham rasmiy boʻlsin: nima ishlayapti, nima qoldi, keyingi faza nima.&lt;/p&gt;
&lt;h2 id=&quot;xulosa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#xulosa&quot;&gt;Xulosa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ushbu sakkiz bosqichda murakkab texnologiya yoʻq. Ularning hammasi — tartib-intizom haqida.&lt;/p&gt;
&lt;p&gt;Va aynan shuning uchun koʻpchilik ularni oʻtkazib yuboradi: Discovery “vaqtni yeydi”, Fit-Gap “keraksiz qogʻozbozlik”, UAT “biz oʻzimiz tekshirdik-ku” boʻlib tuyuladi. Har bir oʻtkazib yuborilgan bosqich esa go-live kunida qaytib keladi — faqat bir necha barobar qimmat narxda.&lt;/p&gt;
&lt;p&gt;Loyihalar texnik sabablarga koʻra kamdan-kam qulaydi. Koʻpincha sabab uchta: &lt;strong&gt;hujjatsiz kengaygan scope, tozalanmagan maʼlumot va mijoz tomonida qaror qabul qiladigan odamning yoʻqligi.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Agar loyihani boshlashdan oldin shu uchtasini yopib olsangiz, qolgani texnika masalasi.&lt;/p&gt;</content:encoded><category>erp-basics</category></item><item><title>Odoo joriy qilishda eng koʻp uchraydigan 10 ta xato</title><link>https://blog.bahromnajmiddinov.uz/blog/odoo-joriy-qilishda-10-xato</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/odoo-joriy-qilishda-10-xato</guid><description>Odoo joriy qilishdagi muammolar deyarli hech qachon platformada emas, qarorlarda boʻladi. Maqola eng koʻp uchraydigan 10 ta xatoni — rejasiz boshlashdan yangilanishni rejalashtirmaslikkacha — va ulardan qanday qochishni koʻrib chiqadi.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/odoo-joriy-qilishda-eng-kop-uchraydigan-10-ta-xato-97e0209b1f82) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;Odoo bilan ishlaganlar orasida bir gap bor: “Odoo demoʻda juda oddiy koʻrinadi.” Va bu haqiqat. Muammolar demoʻdan keyin — modullar ulanib, jarayonlar chizilib, maʼlumot koʻchirila boshlaganda paydo boʻladi.&lt;/p&gt;
&lt;p&gt;Men bu maqolani yozishdan oldin faqat oʻz tajribamga tayanmadim. Turli mamlakatlardagi Odoo implementorlari, foydalanuvchi sharhlari va rasmiy hujjatlarda takrorlanadigan maʼlumotlarni koʻrib chiqdim. Xulosa hamma joyda bir xil: bu maqoladagi har bir xato — dasturiy taʼminotning emas, jarayonning xatosi.&lt;/p&gt;
&lt;p&gt;Quyida oʻsha xatolar. Har biri uchun: &lt;strong&gt;nega sodir boʻladi&lt;/strong&gt;, &lt;strong&gt;nimaga olib keladi&lt;/strong&gt; va &lt;strong&gt;qanday oldini olinadi&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&quot;1-rejasizboshlash&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-rejasizboshlash&quot;&gt;1. Rejasiz boshlash&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Eng koʻp uchraydigani va eng qimmati. Koʻp kompaniyalar ichki jarayonlarini aniqlamasdan turib modullarni oʻrnatishga kirishadi — natijada tartibsizlik va chalkashlik yuzaga keladi.&lt;/p&gt;
&lt;p&gt;Buning tipik koʻrinishi: “Avval Sale va Inventoryʼni yoqib koʻraylik, keyin qarab olamiz.” Ikki oydan keyin maʼlum boʻladiki, sklad hisobi notoʻgʻri sozlangan, chunki hech kim mahsulot kategoriyalari boʻyicha valuatsiya siyosatini oldindan hal qilmagan edi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nega bunday boʻladi.&lt;/strong&gt; Odooʻda modulni yoqish bir necha soniya vaqt oladi. Bu “boshlash arzon” degan yolgʻon tuygʻu beradi. Aslida esa modulni yoqish emas, uni &lt;strong&gt;notoʻgʻri sozlab, ustiga bir oylik hujjat kiritish&lt;/strong&gt; qimmat.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toʻgʻri yondashuv.&lt;/strong&gt; Hech qanday modul yoqilmasdan oldin joriy jarayonlar yozib chiqiladi, kerakli modullar roʻyxati aniqlanadi va joriy qilish fazalarga boʻlinadi. Bu bir haftalik ish — keyinchalik bir necha oyni tejaydi.&lt;/p&gt;
&lt;h2 id=&quot;2-hamma-modulni-birdaniga-yoqish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-hamma-modulni-birdaniga-yoqish&quot;&gt;2. Hamma modulni birdaniga yoqish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odooʻning modulligi — kuchli tomoni. Ammo boshidanoq mavjud barcha ilovalarni oʻrnatish foydalanuvchilarni koʻmib tashlaydi.&lt;/p&gt;
&lt;p&gt;Bu xato ayniqsa ichki IT jamoalar tomonidan qilinadi: “Baribir litsenziyada bor-ku, yoqib qoʻyaylik.” Natijada sotuv menejeri oʻziga hech qachon kerak boʻlmaydigan 14 ta menyu orasidan kerakligini qidiradi. Foydalanish darajasi tushadi, “tizim murakkab” degan obro’ paydo boʻladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toʻgʻri yondashuv.&lt;/strong&gt; Bosqichma-bosqich joriy qilish: avval oʻzak (masalan, Sale + Inventory + Accounting), ular barqaror ishlay boshlagandan keyin keyingisi. Agar tizim allaqachon muammoli holatda boʻlsa, qoida yanada qatʼiy: asosiy funksiyalar ishonchli ishlamaguncha yangi modul qoʻshilmaydi.&lt;/p&gt;
&lt;h2 id=&quot;3-over-customizationeng-qimmatxato&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-over-customizationeng-qimmatxato&quot;&gt;3. Over-customization — eng qimmat xato&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu xato manbalarning deyarli barchasida birinchi oʻrinda turadi.&lt;/p&gt;
&lt;p&gt;Odoo kuchli standart jarayonlarga ega, ammo koʻp kompaniyalar eski jarayonlarini yangi tizim ichida aynan takrorlashga urinadi. Eng yaxshi amaliyotlarga moslashish oʻrniga, dasturchidan “Odooʻni bizning ishlash uslubimizga moslashtir” deb soʻraydi.&lt;/p&gt;
&lt;p&gt;Va bu bevosita texnik qarzga aylanadi. Odooʻning oʻz rasmiy hujjatida ham shu ochiq yozilgan: oʻz ishlanmalaringizni iloji boricha shubha ostiga oling va funksional muqobil yechim toping; ishlanmalaringiz bilan standart Odoo oʻrtasidagi takrorlanishni yoʻq qilish yangilanish jarayonini yengillashtiradi va texnik qarzni kamaytiradi.&lt;/p&gt;
&lt;p&gt;Foydalanuvchilar tomonidan bu qanday his qilinadi? G2’dagi bir sharhda aniq ifodalangan: asosiy kamchilik — joriy qilishning murakkabligi va umumiy narxi; bazaviy mahsulot arzon koʻrinsa-da, Odooʻni haqiqatan ishlaydigan holatga keltirish keng koʻlamli customization, uchinchi tomon ilovalari va doimiy texnik yordamni talab qiladi, tez-tez chiqadigan yangilanishlar esa customizationʼlarni buzib qoʻyishi mumkin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Amaliy mezon.&lt;/strong&gt; Har bir customization soʻroviga bitta savol bering: &lt;em&gt;“Bu bizning raqobat ustunligimizmi yoki shunchaki odatmi?”&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Biz doim shunday qilganmiz” → &lt;strong&gt;jarayonni oʻzgartiring&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;“Qonun talab qiladi” yoki “mijozlarimiz aynan shuni soʻraydi” → &lt;strong&gt;kod yozing&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Customization real raqobat boʻshligʻini yopishi kerak, eskirgan odatni saqlab qolishni emas.&lt;/p&gt;
&lt;h2 id=&quot;4-talablarni-faqat-it-va-moliyadan-yigʻish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-talablarni-faqat-it-va-moliyadan-yigʻish&quot;&gt;4. Talablarni faqat IT va moliyadan yigʻish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Klassik ssenariy: discovery yigʻilishida direktor, bosh buxgalter va IT bor. Sklad mudiri, kassir va sotuv menejeri yoʻq.&lt;/p&gt;
&lt;p&gt;Jamoalar real biznes ehtiyojini tushunib olishdan oldin texnik sozlashga shoshiladi — talablarni faqat IT va moliyadan oladi, operatsion boʻlim, sotuv va mijozlar bilan ishlash boʻlimining muhim fikri esa eʼtibordan chetda qoladi.&lt;/p&gt;
&lt;p&gt;Natijasi go-live kuni chiqadi: buxgalteriya hisoboti benuqson, ammo sklad ishchisi har bir chiqim uchun 6 ta klik qilishga majbur va kuniga 200 ta chiqim bor.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toʻgʻri yondashuv.&lt;/strong&gt; Har bir boʻlimdan key user. Va talab soʻrovnoma orqali emas, &lt;strong&gt;ish joyida kuzatish&lt;/strong&gt; orqali yigʻiladi — odam ekranda nimani bosadi, qaysi Excelʼni ochadi.&lt;/p&gt;
&lt;h2 id=&quot;5-iflos-maʼlumotni-koʻchirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-iflos-maʼlumotni-koʻchirish&quot;&gt;5. Iflos maʼlumotni koʻchirish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Har bir kompaniya oʻz maʼlumotini aslidagidan toza deb oʻylaydi. Yillar davomida yigʻilgan eksportlar, Excelʼdagi vaqtinchalik yechimlar va eski tizim gʻalizliklari ortidan dublikat yozuvlar, bir xil boʻlmagan formatlar va toʻldirilmagan maydonlar qoladi.&lt;/p&gt;
&lt;p&gt;Toʻliq boʻlmagan, eskirgan yoki takrorlanuvchi maʼlumotni eski tizimdan Odooʻga koʻchirish xatolarga olib keladi, operatsiyalarni buzadi va foydalanuvchilarning tizimga ishonchini pasaytiradi.&lt;/p&gt;
&lt;p&gt;Oxirgi jumla eng muhimi. &lt;strong&gt;Ishonchni yoʻqotish qaytarilmas.&lt;/strong&gt; Bir marta “bu hisobot notoʻgʻri” deb ishongan buxgalter keyingi olti oy davomida parallel Excel yuritadi — va siz buni ancha kech bilib qolasiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toʻgʻri yondashuv:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Koʻchirishdan &lt;strong&gt;oldin&lt;/strong&gt; tozalash. Dublikatlarni birlashtirish, oʻlchov birliklarini bir xillashtirish, faol boʻlmagan mahsulotlarni arxivlash.&lt;/li&gt;
&lt;li&gt;Kamida ikki marta sinov importi, Staging muhitida.&lt;/li&gt;
&lt;li&gt;Har importdan keyin solishtirish: jami sklad qoldigʻi, debitor/kreditor qarzdorlik, konto balanslari eski tizim bilan &lt;strong&gt;aniq&lt;/strong&gt; mos kelishi kerak.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;6-sherikni-faqat-narx-boʻyichatanlash&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#6-sherikni-faqat-narx-boʻyichatanlash&quot;&gt;6. Sherikni faqat narx boʻyicha tanlash&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu xato mijoz tomonida, ammo oqibati hammaga tegadi.&lt;/p&gt;
&lt;p&gt;Koʻp tashkilotlar Odoo joriy qiluvchi kompaniyani asosan narx yoki sotuv taqdimoti asosida tanlaydi — tajriba, metodologiya va joriy qilishdan keyingi yordam haqida soʻramasdan. Eng arzon variant uzoq muddatda kamdan-kam hollarda eng arzoni boʻlib chiqadi. Oʻsha manbada aniq misol ham bor: 80 000 dollar turishi kerak boʻlgan loyihalar 30 000 dollarga kotirovka qilinib, oxir-oqibat qayta ishlash va choʻzilgan muddatlar hisobiga ikki barobar qimmatga tushgan.&lt;/p&gt;
&lt;p&gt;Sertifikat ham yetarli kafolat emas: sertifikatlash asosan firma Odooʻning oʻquv va sotuv talablarini bajarganini tasdiqlaydi, ammo jamoa murakkab real loyihalar bilan ishlaganini anglatmaydi — masalan, koʻp kompaniyali oʻzaro operatsiyalar, murakkab BoMʼlar uchun Python migratsiya skriptlari yoki stock valuation layer xatolari sabab paydo boʻlgan “fantom” jurnal yozuvlarini hal qilish.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nima soʻrash kerak.&lt;/strong&gt; Sherik bilan shartnoma imzolashdan oldin uning joriy qilish jarayoni, “rescue” (qulagan loyihani qutqarish) tajribasi, maʼlumot koʻchirish strategiyasi va ishga tushirishdan keyingi yordam tuzilmasi haqida soʻrang. Agar javoblar mavhum yoki haddan tashqari sotuvga yoʻnaltirilgan boʻlsa — bu odatda ogohlantiruvchi belgi.&lt;/p&gt;
&lt;h2 id=&quot;7-testsizgo-live&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#7-testsizgo-live&quot;&gt;7. Testsiz go-live&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Natija — xatolar, buzilgan jarayonlar va notoʻgʻri sozlangan narx qoidalari real foydalanuvchilar tomonidan jonli production muhitida topiladi. Go-liveʼdan keyin muammoni tuzatish uni oldindan tutib olishdan har doim qimmatroq, xodimlar ishonchiga va mijozlar bilan munosabatlarga yetgan zarar esa oylar davomida saqlanib qolishi mumkin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toʻgʻri yondashuv.&lt;/strong&gt; UAT (User Acceptance Testing) — mijozning oʻzi oʻtkazadigan test. Stsenariylar real hujjatlar asosida: oʻtgan oyning haqiqiy buyurtmasini oling va uni &lt;strong&gt;sotuv → yetkazish → invoys → toʻlov&lt;/strong&gt; zanjiri boʻylab toʻliq oʻtkazing. UAT rasman qabul qilinmaguncha go-live yoʻq.&lt;/p&gt;
&lt;h2 id=&quot;8-bir-martalikoʻqitish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#8-bir-martalikoʻqitish&quot;&gt;8. Bir martalik oʻqitish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Koʻp kichik va oʻrta biznes faqat bir martalik oʻquv sessiyasi bilan cheklanadi. Bu uzoq muddatli oʻzlashtirish uchun odatda yetarli emas, tadqiqotlar esa zaif change management ERPʼdan samarali foydalanishni 70 foizgacha kamaytirishini koʻrsatadi.&lt;/p&gt;
&lt;p&gt;Bir hafta davom etgan trening va 40 betlik PDF — bu oʻqitish emas, hisobot uchun qilingan ish. Odam tizimni &lt;strong&gt;real ish oqimida&lt;/strong&gt;, oʻz hujjatlari ustida oʻrganadi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toʻgʻri yondashuv.&lt;/strong&gt; Rollar boʻyicha qisqa treninglar, oʻzbek tilidagi 2–3 daqiqalik videolar, har bir boʻlimda 1–2 ta “champion” tayyorlash. Tajribali sherik oʻzlashtirishni uzluksiz jarayon deb biladi va go-liveʼdan keyin ham uni kuzatib boradi.&lt;/p&gt;
&lt;h2 id=&quot;9-yangilanishni-rejaga-kiritmaslik&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#9-yangilanishni-rejaga-kiritmaslik&quot;&gt;9. Yangilanishni rejaga kiritmaslik&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo yiliga bitta katta versiya chiqaradi. Agar siz buni boshidanoq hisobga olmasangiz, 2–3 yildan keyin tanlov tor boʻlib qoladi.&lt;/p&gt;
&lt;p&gt;Communityʼda yangilanish avtomatik emas — bu pullik dasturlash loyihasi. Custom modullar yangi versiyada koʻpincha ishlamay qoladi va qayta yozilishi kerak. Natijada koʻp biznes 2–3 versiya orqada qolib ketadi, chunki yangilanish juda qimmat — bu esa jamlanib boruvchi texnik qarzni yuzaga keltiradi.&lt;/p&gt;
&lt;p&gt;Texnik sabab ham aniq: maʼlumot avtomatik koʻchsa ham, custom kod ORM, model tuzilmasi, JavaScript freymvorki (jQueryʼdan OWLʼga oʻtish) va huquqlar tizimidagi oʻzgarishlar sababli qoʻlda refaktoring talab qiladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toʻgʻri yondashuv:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Har bir customization uchun &lt;strong&gt;“yangilanish narxi”&lt;/strong&gt; ni oldindan baholang. Bu bir martalik emas, takrorlanuvchi xarajat.&lt;/li&gt;
&lt;li&gt;Standart APIʼga tayaning, ORM ichiga chuqur kirmang, coreʼni monkey-patch qilmang.&lt;/li&gt;
&lt;li&gt;Yangilanish davriyligini shartnomada belgilang (masalan, har 2 yilda bir marta).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;10-go-liveʼni-loyihaning-tugashi-debbilish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#10-go-liveʼni-loyihaning-tugashi-debbilish&quot;&gt;10. Go-liveʼni loyihaning tugashi deb bilish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sherik go-liveʼdan bir hafta keyin javob bermay qoʻysa, loyiha texnik jihatdan muvaffaqiyatli boʻlsa ham amalda qulaydi. Joriy qiluvchi sherik ishga tushirishdan keyingi kamida dastlabki oylar davomida aniq eskalatsiya yoʻllari va javob muddatlari bilan yordam koʻrsatishi kerak.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hyper-care rejimi:&lt;/strong&gt; birinchi 2–4 hafta — qisqartirilgan javob muddati, har kuni qisqa yigʻilish (“bugun kim nimaga qoqildi?”), topilgan muammolarni darhol yoʻriqnomaga qaytarish. Shundan keyingina odatiy supportʼga oʻtiladi.&lt;/p&gt;
&lt;h2 id=&quot;oʻzbekiston-kontekstidagi-qoʻshimcha-uchtaxato&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#oʻzbekiston-kontekstidagi-qoʻshimcha-uchtaxato&quot;&gt;Oʻzbekiston kontekstidagi qoʻshimcha uchta xato&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Yuqoridagilar universal. Lokal amaliyotda men muntazam koʻradigan yana uchtasi:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lokalizatsiyani oxirgi haftaga qoldirish.&lt;/strong&gt; NDS, hisob-faktura formati, DIDOX/soliq integratsiyasi — bular “keyin qoʻshib qoʻyamiz” deb kechiktiriladi va cutoverʼdan uch kun oldin panikaga aylanadi. Lokalizatsiya talablari &lt;strong&gt;Design bosqichida&lt;/strong&gt; aniqlanishi kerak, chunki ular kontlar rejasiga va invoys oqimiga taʼsir qiladi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ikki valyutali hisobni kech oʻylash.&lt;/strong&gt; Soʻm va dollarda parallel hisob yurituvchi kompaniyalar koʻp. Valyuta kurslari siyosati, qayta baholash va POSʼdagi ikki valyutali toʻlov — bular keyinchalik qoʻshiladigan “kichik funksiya” emas, balki arxitektura qarori.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“Direktor hammasini koʻrsin” talabi.&lt;/strong&gt; Aslida bu ruxsatlar tizimini buzadi. Toʻgʻri javob — direktorga barcha maʼlumotni ochish emas, unga &lt;strong&gt;kerakli koʻrsatkichlarni beradigan dashboard&lt;/strong&gt; qurish.&lt;/p&gt;
&lt;h2 id=&quot;go-live-oldidan-qisqa-tekshiruv-roʻyxati&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#go-live-oldidan-qisqa-tekshiruv-roʻyxati&quot;&gt;Go-live oldidan qisqa tekshiruv roʻyxati&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Scope hujjati mavjud va imzolangan&lt;/li&gt;
&lt;li&gt;Fit-Gap tahlili yakunlangan, har bir Gap boʻyicha qaror yozilgan&lt;/li&gt;
&lt;li&gt;Customization roʻyxati maʼlum va har biri asoslangan&lt;/li&gt;
&lt;li&gt;Maʼlumot tozalangan, kamida 2 marta sinov importi oʻtkazilgan&lt;/li&gt;
&lt;li&gt;Balanslar va qoldiqlar eski tizim bilan solishtirilgan&lt;/li&gt;
&lt;li&gt;UAT mijoz tomonidan bajarilgan va qabul qilingan&lt;/li&gt;
&lt;li&gt;Rollar boʻyicha oʻqitish oʻtkazilgan, championʼlar tayinlangan&lt;/li&gt;
&lt;li&gt;Cutover rejasi soatlab yozilgan, rollback varianti bor&lt;/li&gt;
&lt;li&gt;Hyper-care davri va javob muddatlari kelishilgan&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;xulosa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#xulosa&quot;&gt;Xulosa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Statistika achchiq: Gartner prognoziga koʻra, 2027-yilgacha yaqinda joriy qilingan ERP loyihalarining 70 foizdan ortigʻi dastlabki biznes maqsadlariga toʻliq erisha olmaydi — va aksariyat hollarda sabab dasturiy taʼminotning oʻzida emas, balki zaif rejalashtirish, noaniq jarayonlar yoki kuchsiz joriy qilish strategiyasidadir.&lt;/p&gt;
&lt;p&gt;Yuqoridagi oʻnta xatoning birortasi ham texnologiya bilan bogʻliq emas. Ularning hammasi — &lt;strong&gt;qaror qabul qilish va tartib-intizom&lt;/strong&gt; masalasi.&lt;/p&gt;
&lt;p&gt;Shuning uchun eng yaxshi xabar ham shu: bu qoʻllanmadagi xatolarning barchasining oldini olish mumkin. Farq tayyorgarlikda. Odoo ishlaydi — real reja, toʻgʻri sherik, toza maʼlumot, oʻqitilgan foydalanuvchilar va uzoq muddatli qarash bilan oʻylab joriy qilinsa.&lt;/p&gt;
&lt;p&gt;Agar loyihani boshlashdan oldin faqat uchta narsani yopib olsangiz — &lt;strong&gt;hujjatlashtirilgan scope, tozalangan maʼlumot va mijoz tomonida qaror qabul qiladigan odam&lt;/strong&gt; — qolgani texnika masalasi.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Siz Odoo joriy qilishda qaysi xatoga duch kelgansiz? Ayniqsa customization chegarasini qayerda qilish kerakligi boʻyicha tajribangizni eshitish qiziq.&lt;/em&gt;&lt;/p&gt;</content:encoded><category>erp-basics</category></item><item><title>Odoo Developer uchun Odoo Shell (Dasturchi sifatida bilishingiz kerak)</title><link>https://blog.bahromnajmiddinov.uz/blog/odoo-shell-dasturchilar-uchun</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/odoo-shell-dasturchilar-uchun</guid><description>Odoo Shell — Odoo backendiga Python konsoli orqali toʻgʻridan-toʻgʻri kirish vositasi. Unda env orqali yozuvlarni oʻqish, yaratish, oʻzgartirish, oʻchirish, sudo() va SQL bilan ishlash mumkin; maqola har birini misollar bilan koʻrsatadi.</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/odoo-developer-uchun-odoo-shell-dasturchi-sifatida-bilishingiz-kerak-fcc609a28676) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;p&gt;Odoo bilan jiddiy ishlayotgan dasturchi payt kelib shuni tushunadi:&lt;br&gt;
Odooʻdagi har bir narsani button, server action yoki API orqali tekshirib oʻtirish — &lt;strong&gt;sekin&lt;/strong&gt; va koʻpincha &lt;strong&gt;ortiqcha murakkab&lt;/strong&gt; boʻladi.&lt;/p&gt;
&lt;p&gt;Baʼzan sizga backend ichiga toʻgʻridan-toʻgʻri kirib:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Backendda nima gaplar oʻzi?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;degan savolga tez javob kerak boʻladi.&lt;/p&gt;
&lt;p&gt;Ana shu joyda &lt;strong&gt;Odoo Shell&lt;/strong&gt; oʻzini koʻrsatadi.&lt;/p&gt;
&lt;h2 id=&quot;odoo-shellnima&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-shellnima&quot;&gt;Odoo Shell nima?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Odoo Shell&lt;/strong&gt; — bu Odooʻga ulangan &lt;strong&gt;oddiy Python interactive muhit&lt;/strong&gt;.&lt;br&gt;
Farqi shundaki, u sizga:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;real database&lt;/li&gt;
&lt;li&gt;real modellar&lt;/li&gt;
&lt;li&gt;real biznes logika&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;bilan &lt;strong&gt;bevosita&lt;/strong&gt; ishlash imkonini beradi.&lt;/p&gt;
&lt;p&gt;Hech qanday qoʻshimcha kod yozmasdan, Odoo ichidagi deyarli hamma narsani tekshirib koʻrish mumkin.&lt;/p&gt;
&lt;p&gt;Amaliyotda Odoo Shell asosan quyidagilar uchun ishlatiladi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;test qilish&lt;/li&gt;
&lt;li&gt;debug qilish&lt;/li&gt;
&lt;li&gt;maʼlumotlarni tekshirish&lt;/li&gt;
&lt;li&gt;favqulodda holatlarda dataʼni toʻgʻrilash&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;odoo-shellʼgakirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-shellʼgakirish&quot;&gt;Odoo Shellʼga kirish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Shellʼga kirish uchun Odooʻni qaysi konfiguratsiya va qaysi database bilan ishlatayotgan boʻlsangiz, shularni koʻrsatish kifoya.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame is-terminal&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;span class=&quot;title&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sr-only&quot;&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;bash&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;./odoo-bin&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;shell&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-c&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;./conf/odoo.conf&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;-d&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;my_database&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;./odoo-bin shell -c ./conf/odoo.conf -d my_database&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Agar database nomi konfiguratsiya faylida koʻrsatilgan boʻlsa, -d flagni yozmasangiz ham boʻladi.&lt;/p&gt;
&lt;p&gt;Shell ochilgandan keyin siz oddiy Python konsolini koʻrasiz, &lt;strong&gt;lekin u Odooʻga toʻliq ulangan boʻladi&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&quot;shell-ochilganda-sizga-nima-beriladi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#shell-ochilganda-sizga-nima-beriladi&quot;&gt;Shell ochilganda sizga nima beriladi?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Eng muhim obyekt — bu &lt;strong&gt;env&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Aslida, &lt;strong&gt;Odoo Shellʼni tushunish — bu****envʼni tushunish degani&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;env orqali siz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;istalgan modelga kira olasiz&lt;/li&gt;
&lt;li&gt;hozirgi foydalanuvchini bilasiz&lt;/li&gt;
&lt;li&gt;contextʼni koʻrasiz&lt;/li&gt;
&lt;li&gt;database bilan ishlaysiz&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;misollar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#misollar&quot;&gt;Misollar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Hozirgi foydalanuvchi:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;user&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env.user&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Contextʼni koʻrish:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;context&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env.context&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;maʼlumotlarni-oʻqishread&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#maʼlumotlarni-oʻqishread&quot;&gt;Maʼlumotlarni oʻqish (READ)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Oddiy misol. Ismi &lt;strong&gt;Asilbek&lt;/strong&gt; boʻlgan barcha partnerlarni topamiz:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partners &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;search&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;([(&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;Asilbek&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)])&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; p &lt;/span&gt;&lt;span style=&quot;--0:#B6EBD6&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; partners&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; p&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;email&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;partners = env[&amp;#x27;res.partner&amp;#x27;].search([(&amp;#x27;name&amp;#x27;, &amp;#x27;=&amp;#x27;, &amp;#x27;Asilbek&amp;#x27;)])for p in partners:    print(p.id, p.email)&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Agar faqat &lt;strong&gt;bitta yozuv&lt;/strong&gt; kerak boʻlsa:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partner &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;search&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;([],&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;limit=&lt;/span&gt;&lt;span style=&quot;--0:#219F80;--0fw:bold&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;partner = env[&amp;#x27;res.partner&amp;#x27;].search([], limit=1)partner.name&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu yerda &lt;strong&gt;hech qanday SQL yozilmadi&lt;/strong&gt;, lekin real databaseʼdan real maʼlumot oʻqildi.&lt;/p&gt;
&lt;h2 id=&quot;yozuv-yaratishcreate&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#yozuv-yaratishcreate&quot;&gt;Yozuv yaratish (CREATE)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Shellʼning eng kuchli joylaridan biri — yozuvni &lt;strong&gt;toʻgʻridan-toʻgʻri yaratish&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partner &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;({&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;Asilbek Test&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;email&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;asilbek@test.com&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;is_company&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#219F80;--0fw:bold&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;})&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;partner = env[&amp;#x27;res.partner&amp;#x27;].create({    &amp;#x27;name&amp;#x27;: &amp;#x27;Asilbek Test&amp;#x27;,    &amp;#x27;email&amp;#x27;: &amp;#x27;asilbek@test.com&amp;#x27;,    &amp;#x27;is_company&amp;#x27;: False,})&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;⚠️ Bu yozuv &lt;strong&gt;hali tranzaksiya ichida&lt;/strong&gt; turadi.&lt;br&gt;
Agar shellʼdan chiqib ketsangiz, yoʻqolib ketishi mumkin.&lt;/p&gt;
&lt;p&gt;Maʼlumot saqlanishini xohlasangiz:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;cr&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;commit&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env.cr.commit()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;👉 Mana shu joyda koʻpchilik xato qiladi.&lt;br&gt;
&lt;strong&gt;Commit qilmasangiz — oʻzgarish vaqtinchalik boʻladi.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;yozuvni-oʻzgartirish-write&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#yozuvni-oʻzgartirish-write&quot;&gt;Yozuvni oʻzgartirish (WRITE)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Mavjud yozuvni oʻzgartirish ham juda oson:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partner &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;browse&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#219F80;--0fw:bold&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;({&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;email&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;new@email.com&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;})&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;cr&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;commit&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;partner = env[&amp;#x27;res.partner&amp;#x27;].browse(1)partner.write({    &amp;#x27;email&amp;#x27;: &amp;#x27;new@email.com&amp;#x27;})env.cr.commit()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;⚠️ browse() notoʻgʻri ID olsa, &lt;strong&gt;xatolik bermasligi mumkin&lt;/strong&gt;.&lt;br&gt;
Shuning uchun har doim natijani tekshirish — yaxshi odat.&lt;/p&gt;
&lt;h2 id=&quot;yozuvni-oʻchirish-unlink&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#yozuvni-oʻchirish-unlink&quot;&gt;Yozuvni oʻchirish (UNLINK)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Shellʼda oʻchirish &lt;strong&gt;juda xavfli&lt;/strong&gt; boʻlishi mumkin. Chunki bu real record oʻchirish.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partner &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;browse&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#219F80;--0fw:bold&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;unlink&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;cr&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;commit&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;partner = env[&amp;#x27;res.partner&amp;#x27;].browse(10)partner.unlink()env.cr.commit()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;❗ Productionʼda buni ishlatishdan oldin &lt;strong&gt;ikki marta oʻylang&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&quot;model-methodlarini-chaqirish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#model-methodlarini-chaqirish&quot;&gt;Model methodlarini chaqirish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Shell faqat CRUD uchun emas. Siz istalgan &lt;strong&gt;model methodini&lt;/strong&gt; ham chaqira olasiz.&lt;/p&gt;
&lt;p&gt;Masalan, sale orderʼni tasdiqlash:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;order &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;sale.order&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;browse&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#219F80;--0fw:bold&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;order&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;action_confirm&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;cr&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;commit&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;order = env[&amp;#x27;sale.order&amp;#x27;].browse(5)order.action_confirm()env.cr.commit()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu UIʼda bosilgan &lt;strong&gt;“Confirm”&lt;/strong&gt; tugmasi bilan deyarli bir xil natija beradi.&lt;/p&gt;
&lt;h2 id=&quot;sudo-va-foydalanuvchi-bilanishlash&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#sudo-va-foydalanuvchi-bilanishlash&quot;&gt;sudo() va foydalanuvchi bilan ishlash&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Koʻp muammo &lt;strong&gt;access rights&lt;/strong&gt; sababli chiqadi. Shellʼda buni tekshirish juda qulay.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sudo&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;search&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;([],&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;limit=&lt;/span&gt;&lt;span style=&quot;--0:#219F80;--0fw:bold&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env[&amp;#x27;res.partner&amp;#x27;].sudo().search([], limit=5)&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Yoki admin foydalanuvchi bilan ishlash:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;admin_env &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(user=&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;ref&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;base.user_admin&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;admin_env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;search&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;([],&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;limit=&lt;/span&gt;&lt;span style=&quot;--0:#219F80;--0fw:bold&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;admin_env = env(user=env.ref(&amp;#x27;base.user_admin&amp;#x27;))admin_env[&amp;#x27;res.partner&amp;#x27;].search([], limit=5)&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu orqali muammo &lt;strong&gt;kodda ekanmi yoki ruxsatlarda&lt;/strong&gt; ekanini tez tushunish mumkin.&lt;/p&gt;
&lt;h2 id=&quot;sql-bilan-ishlashenvcr&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#sql-bilan-ishlashenvcr&quot;&gt;SQL bilan ishlash (env.cr)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Baʼzi hollarda ORM yetarli boʻlmaydi. Shellʼda &lt;strong&gt;SQL ham ishlaydi&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;cr&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;execute&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;SELECT id, name&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;FROM res_partner&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;WHERE active = true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;LIMIT 5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;cr&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;fetchall&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env.cr.execute(&amp;#x22;&amp;#x22;&amp;#x22;    SELECT id, name    FROM res_partner    WHERE active = true    LIMIT 5&amp;#x22;&amp;#x22;&amp;#x22;)env.cr.fetchall()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Agar SQL orqali maʼlumotni oʻzgartirsangiz:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;cr&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;commit&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env.cr.commit()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;model-strukturasi-vafieldlar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#model-strukturasi-vafieldlar&quot;&gt;Model strukturasi va fieldlar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Model qanday fieldlardan iboratligini tez koʻrish mumkin:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;fields_get&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;keys&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env[&amp;#x27;res.partner&amp;#x27;].fields_get().keys()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bitta field haqida batafsil maʼlumot:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;fields_get&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;email&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env[&amp;#x27;res.partner&amp;#x27;].fields_get([&amp;#x27;email&amp;#x27;])&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu ayniqsa yangi modul yoki begona model bilan ishlaganda juda foydali.&lt;/p&gt;
&lt;h2 id=&quot;context-bilanishlash&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#context-bilanishlash&quot;&gt;Context bilan ishlash&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Context koʻp narsani oʻzgartiradi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;til&lt;/li&gt;
&lt;li&gt;timezone&lt;/li&gt;
&lt;li&gt;active_id va boshqalar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tilni tekshirish:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;lang&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env.context.get(&amp;#x27;lang&amp;#x27;)&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Boshqa til bilan ishlash:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;new_env &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(context=&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;lang=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;uz_UZ&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;new_env = env(context=dict(env.context, lang=&amp;#x27;uz_UZ&amp;#x27;))&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;debug-uchun-foydali-tekshiruvlar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#debug-uchun-foydali-tekshiruvlar&quot;&gt;Debug uchun foydali tekshiruvlar&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Model mavjudmi?&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;ir.model&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;search&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;([(&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;model&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)])&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env[&amp;#x27;ir.model&amp;#x27;].search([(&amp;#x27;model&amp;#x27;, &amp;#x27;=&amp;#x27;, &amp;#x27;res.partner&amp;#x27;)])&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Tizimdagi barcha modellar:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;env.registry.models.keys()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env.registry.models.keys()&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Viewʼlarni tekshirish:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;python&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;ir.ui.view&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;search&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;([(&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;model&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9;--0fw:bold&quot;&gt;res.partner&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;&apos;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7;--0fw:bold&quot;&gt;)])&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;env[&amp;#x27;ir.ui.view&amp;#x27;].search([(&amp;#x27;model&amp;#x27;, &amp;#x27;=&amp;#x27;, &amp;#x27;res.partner&amp;#x27;)])&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h2 id=&quot;envcrcommit-haqida-muhimhaqiqat&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#envcrcommit-haqida-muhimhaqiqat&quot;&gt;env.cr.commit() haqida muhim haqiqat&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Shell ichida create, write, unlink qilsangiz,&lt;br&gt;
&lt;strong&gt;lekin****env.cr.commit() chaqirmasangiz&lt;/strong&gt; — oʻzgarishlar &lt;strong&gt;vaqtinchalik&lt;/strong&gt; boʻladi.&lt;/p&gt;
&lt;p&gt;Shell yopilganda ular &lt;strong&gt;bekor qilinadi&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Lekin commit qilish ham har doim toʻgʻri emas. Chunki commit — bu &lt;strong&gt;qaytmas qaror&lt;/strong&gt;. Ayniqsa production muhitda.&lt;/p&gt;
&lt;h2 id=&quot;asosiy-qoida&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#asosiy-qoida&quot;&gt;Asosiy qoida&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Nima qilayotganingizni aniq tushunmasangiz — commit qilmang.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;Kamina kamtarin,&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;Bahrom Najmiddinov&lt;/strong&gt;&lt;/p&gt;</content:encoded><category>devops</category></item><item><title>Odoo: Toʻliq Yoʻriqnoma — Boshlovchilar va Oʻrganuvchilar Uchun</title><link>https://blog.bahromnajmiddinov.uz/blog/odoo-toliq-yoriqnoma</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/odoo-toliq-yoriqnoma</guid><description>Odoo — ham ERP tizimi, ham dasturlash frameworki. Bu yoʻriqnoma Odoo nima ekanini, dasturchi va konsultant farqini, Python va OWL asosidagi tuzilmasini va oʻrganishni qayerdan boshlashni boshlovchilar uchun tushuntiradi.</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium (https://medium.com/@bahromnajmiddinov/odoo-toliq-yo-riqnoma-boshlovchilar-va-o-rganuvchilar-uchun-0ba9ceeb0aa3) on 2026-10-23. Text is BAHA&apos;s; summary/description REVIEW. --&gt;
&lt;h2 id=&quot;1-odoo-nima-va-nima-uchun-aynanodoo&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1-odoo-nima-va-nima-uchun-aynanodoo&quot;&gt;1. Odoo nima va nima uchun aynan Odoo?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Odoo&lt;/strong&gt; — bu zamonaviy ERP (Enterprise Resource Planning) tizimi boʻlib, bir vaqtning oʻzida &lt;strong&gt;dasturlash framework&lt;/strong&gt;i ham hisoblanadi. Bu nimani anglatadi?&lt;/p&gt;
&lt;p&gt;Oddiy qilib tushuntiradigan boʻlsak:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ERP tizim sifatida&lt;/strong&gt;: Odoo sizga tayyor biznes dasturlarini taqdim etadi (sotuvlar, ombor, ishlab chiqarish, HR va boshqalar)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework sifatida&lt;/strong&gt;: Siz bu tizimni oʻz ehtiyojlaringizga moslab, yangi funksiyalar qoʻshishingiz yoki mavjudlarini oʻzgartirishingiz mumkin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Odoo ning asosiy afzalliklari:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Tayyor yechimlar&lt;/strong&gt;: Noldan boshlamasligingiz mumkin. Professional dasturchilar tomonidan ishlab chiqilgan tayyor modullar bilan keladi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Source&lt;/strong&gt;: Kodlar ochiq, bepul yuklab olishingiz va oʻrganishingiz mumkin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Moslashuvchanlik&lt;/strong&gt;: Istagan darajada oʻzgartirishlar kiritishingiz mumkin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Yagona ekotizim&lt;/strong&gt;: Barcha biznes jarayonlari bir platformada — POS, ombor, ishlab chiqarish, HR va boshqalar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modular tuzilma&lt;/strong&gt;: Faqat kerakli qismlarni ishlatishingiz mumkin&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Nima uchun aynan Odoo?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Agar siz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Django, Node.js kabi frameworklardan kelyapsiz&lt;/li&gt;
&lt;li&gt;ERP tizimlari bilan ishlashni oʻrganmoqchisiz&lt;/li&gt;
&lt;li&gt;Tayyor biznes yechimlariga ega boʻlishni xohlasangiz&lt;/li&gt;
&lt;li&gt;Bir vaqtning oʻzida tayyor mahsulot va dasturlash imkoniyatini istasangiz&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Odoo sizga &lt;strong&gt;ikkalasini ham&lt;/strong&gt; beradi: tayyor ishlaydigan tizim + toʻliq dasturlash erkinligi.&lt;/p&gt;
&lt;h2 id=&quot;2-odoo-dasturchi-vs-odoo-konsultant&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2-odoo-dasturchi-vs-odoo-konsultant&quot;&gt;2. Odoo Dasturchi vs Odoo Konsultant&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Bu muhim farq! Koʻpchilik bu ikki yoʻnalishni aralashtirib yuboradi.&lt;/p&gt;
&lt;h2 id=&quot;odoo-dasturchi-developer&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-dasturchi-developer&quot;&gt;Odoo Dasturchi (Developer)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Nima qiladi?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python tilida backend kodi yozadi&lt;/li&gt;
&lt;li&gt;XML orqali view (koʻrinish)larni yaratadi va sozlaydi&lt;/li&gt;
&lt;li&gt;JavaScript (OWL framework) orqali frontend funksiyalarini ishlab chiqadi&lt;/li&gt;
&lt;li&gt;Yangi modullar (addon) yaratadi&lt;/li&gt;
&lt;li&gt;Mavjud modullarni kengaytiradi va oʻzgartiradi&lt;/li&gt;
&lt;li&gt;Texnik muammolarni hal qiladi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Qaysi texnologiyalar bilan ishlaydi?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — backend dasturlash uchun&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;XML&lt;/strong&gt; — viewlarni yaratish uchun&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript/OWL&lt;/strong&gt; — frontend customization uchun&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; — maʼlumotlar bazasi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Git&lt;/strong&gt; — versiya nazorati&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Misol vazifa&lt;/strong&gt;: Kompaniya uchun maxsus hisobot moduli yaratish, standart savdo jarayoniga qoʻshimcha validatsiya qoʻshish&lt;/p&gt;
&lt;h2 id=&quot;odoo-konsultant-functional-consultant&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-konsultant-functional-consultant&quot;&gt;Odoo Konsultant (Functional Consultant)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Nima qiladi?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Biznes jarayonlarini tahlil qiladi&lt;/li&gt;
&lt;li&gt;Odoo ni mijoz ehtiyojlariga moslashtiradi (konfiguratsiya)&lt;/li&gt;
&lt;li&gt;Foydalanuvchilarni oʻrgatadi&lt;/li&gt;
&lt;li&gt;Biznes jarayonlarini optimallashtiradi&lt;/li&gt;
&lt;li&gt;Texnik boʻlmagan sozlamalarni amalga oshiradi&lt;/li&gt;
&lt;li&gt;Mijoz bilan muloqot qiladi va talablarni toʻplaydi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Qanday bilimlar kerak?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Odoo modullarini chuqur bilish&lt;/li&gt;
&lt;li&gt;Biznes jarayonlarini tushunish&lt;/li&gt;
&lt;li&gt;Konfiguratsiya sozlamalarini bilish&lt;/li&gt;
&lt;li&gt;Mijoz bilan ishlash koʻnikmalari&lt;/li&gt;
&lt;li&gt;Muammo yechish qobiliyati&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Misol vazifa&lt;/strong&gt;: Kompaniyaning sotish jarayonini Odoo da sozlash, xodimlarni tizimdan foydalanishga oʻrgatish&lt;/p&gt;
&lt;h2 id=&quot;ikkalasini-birga-qilish-mumkinmi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#ikkalasini-birga-qilish-mumkinmi&quot;&gt;Ikkalasini birga qilish mumkinmi?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Ha!&lt;/strong&gt; Koʻpchilik muvaffaqiyatli Odoo mutaxassislari ikkalasini ham biladi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Texnik muammolarni kod orqali hal qilish&lt;/li&gt;
&lt;li&gt;Biznes jarayonlarini tushunish va sozlash&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu sizni &lt;strong&gt;Full-stack Odoo mutaxassis&lt;/strong&gt; qiladi va mehnat bozorida juda qimmatli.&lt;/p&gt;
&lt;h2 id=&quot;3-odoo-texnik-tuzilmasi-framework-qismi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3-odoo-texnik-tuzilmasi-framework-qismi&quot;&gt;3. Odoo Texnik Tuzilmasi: Framework Qismi&lt;/a&gt;&lt;/h2&gt;
&lt;h2 id=&quot;backend-python-va-mvc-arxitekturasi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#backend-python-va-mvc-arxitekturasi&quot;&gt;Backend: Python va MVC Arxitekturasi&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo &lt;strong&gt;MVC (Model-View-Controller)&lt;/strong&gt; arxitekturasidan foydalanadi:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Model (Maʼlumotlar qatlami)&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.yttmv.css&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://blog.bahromnajmiddinov.uz/_astro/ec.0vx5m.js&quot;&gt;&lt;/script&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;text&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;# Misol: Talaba modeli&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;class Student(models.Model):&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;_name = &apos;school.student&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;_description = &apos;Student Information&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;name = fields.Char(string=&apos;Name&apos;, required=True)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;age = fields.Integer(string=&apos;Age&apos;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;grade = fields.Selection([&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;(&apos;a&apos;, &apos;A&apos;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;(&apos;b&apos;, &apos;B&apos;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;(&apos;c&apos;, &apos;C&apos;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;--0:#e6e8e3&quot;&gt;], string=&apos;Grade&apos;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;# Misol: Talaba modeliclass Student(models.Model):    _name = &amp;#x27;school.student&amp;#x27;    _description = &amp;#x27;Student Information&amp;#x27;    name = fields.Char(string=&amp;#x27;Name&amp;#x27;, required=True)    age = fields.Integer(string=&amp;#x27;Age&amp;#x27;)    grade = fields.Selection([        (&amp;#x27;a&amp;#x27;, &amp;#x27;A&amp;#x27;),        (&amp;#x27;b&amp;#x27;, &amp;#x27;B&amp;#x27;),        (&amp;#x27;c&amp;#x27;, &amp;#x27;C&amp;#x27;)    ], string=&amp;#x27;Grade&amp;#x27;)&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Bu yerda:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;_name - modelning texnik nomi&lt;/li&gt;
&lt;li&gt;_description - tavsif&lt;/li&gt;
&lt;li&gt;fields - maʼlumot maydonlari&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;View (Koʻrinish qatlami) — XML&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;XML — bu &lt;strong&gt;LEGO konstruktori&lt;/strong&gt; kabi. Siz bloklar (elementlar) yordamida interfeys quraysiz:&lt;/p&gt;
&lt;div class=&quot;expressive-code&quot;&gt;&lt;figure class=&quot;frame&quot;&gt;&lt;figcaption class=&quot;header&quot;&gt;&lt;/figcaption&gt;&lt;pre data-language=&quot;xml&quot; tabindex=&quot;0&quot;&gt;&lt;code&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;record&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;view_student_form&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;model&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;ir.ui.view&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;student.form&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;model&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;school.student&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;arch&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;form&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sheet&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;group&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;age&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt; &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;--0:#E6E8E3&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#DDF3E9&quot;&gt;grade&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;group&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;sheet&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;form&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;indent&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;field&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;ec-line&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;--0:#FFFFFF;--0fw:bold&quot;&gt;record&lt;/span&gt;&lt;span style=&quot;--0:#B9BDB7&quot;&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;copy&quot;&gt;&lt;div aria-live=&quot;polite&quot;&gt;&lt;/div&gt;&lt;button title=&quot;Copy to clipboard&quot; data-copied=&quot;Copied!&quot; data-code=&quot;&lt;record id=&amp;#x22;view_student_form&amp;#x22; model=&amp;#x22;ir.ui.view&amp;#x22;&gt;    &lt;field name=&amp;#x22;name&amp;#x22;&gt;student.form&lt;/field&gt;    &lt;field name=&amp;#x22;model&amp;#x22;&gt;school.student&lt;/field&gt;    &lt;field name=&amp;#x22;arch&amp;#x22; type=&amp;#x22;xml&amp;#x22;&gt;        &lt;form&gt;            &lt;sheet&gt;                &lt;group&gt;                    &lt;field name=&amp;#x22;name&amp;#x22;/&gt;                    &lt;field name=&amp;#x22;age&amp;#x22;/&gt;                    &lt;field name=&amp;#x22;grade&amp;#x22;/&gt;                &lt;/group&gt;            &lt;/sheet&gt;        &lt;/form&gt;    &lt;/field&gt;&lt;/record&gt;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Nega XML?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Frontend kod yozishingiz shart emas&lt;/li&gt;
&lt;li&gt;Odoo avtomatik ravishda HTML, CSS, JavaScript yaratadi&lt;/li&gt;
&lt;li&gt;Siz faqat “bu yerda bu maʼlumot koʻrsatilsin” deb koʻrsatma berasiz&lt;/li&gt;
&lt;li&gt;Tez va oson&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Controller (Boshqaruvchi qatlami)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Foydalanuvchi soʻrovlarini qayta ishlaydi va javob qaytaradi.&lt;/p&gt;
&lt;h2 id=&quot;frontend-javascript-va-owl-framework&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#frontend-javascript-va-owl-framework&quot;&gt;Frontend: JavaScript va OWL Framework&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar standart view lar yetarli boʻlmasa, &lt;strong&gt;chuqurroq sozlashlar&lt;/strong&gt; kerak boʻlganda:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OWL (Odoo Web Library)&lt;/strong&gt; — bu Odoo uchun maxsus JavaScript framework:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;React/Vue ga oʻxshash komponent tuzilmasi&lt;/li&gt;
&lt;li&gt;Odoo ekotizimiga toʻliq integratsiya&lt;/li&gt;
&lt;li&gt;Default viewlarni oʻzgartirish&lt;/li&gt;
&lt;li&gt;Yangi widget va komponentlar yaratish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;QWeb Templates&lt;/strong&gt; — bu Odoo ning template tili:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;XML asosida&lt;/li&gt;
&lt;li&gt;JavaScript bilan birga ishlaydi&lt;/li&gt;
&lt;li&gt;Dinamik koʻrinishlar yaratish uchun&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Qachon kerak?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Standart view lar talablarni qondirmasa&lt;/li&gt;
&lt;li&gt;Maxsus vizual komponentlar kerak boʻlganda&lt;/li&gt;
&lt;li&gt;Murakkab foydalanuvchi interfeysi zarur boʻlganda&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;4-odoo-ekotizimi-modulartuzilma&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4-odoo-ekotizimi-modulartuzilma&quot;&gt;4. Odoo Ekotizimi: Modular Tuzilma&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Modul (Addon) nima?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Modul — bu Odoo da mustaqil funksional qism. Har bir modul alohida vazifani bajaradi.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Standart modullar (tayyor keladi):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sales&lt;/strong&gt; — sotuvlarni boshqarish&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Purchase&lt;/strong&gt; — xaridlarni boshqarish&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inventory&lt;/strong&gt; — ombor boshqaruvi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accounting&lt;/strong&gt; — buxgalteriya&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HR&lt;/strong&gt; — kadrlar boshqaruvi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CRM&lt;/strong&gt; — mijozlar bilan ishlash&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;POS&lt;/strong&gt; — savdo nuqtalari&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manufacturing&lt;/strong&gt; — ishlab chiqarish&lt;/li&gt;
&lt;li&gt;Va yana 30+ asosiy modul&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Custom modullar (siz yaratasiz):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Agar standart funksionallik yetarli boʻlmasa, oʻz modulingizni yarating:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Yangi biznes jarayonlar&lt;/li&gt;
&lt;li&gt;Maxsus hisobotlar&lt;/li&gt;
&lt;li&gt;Integratsiyalar (API bilan ishlash)&lt;/li&gt;
&lt;li&gt;Kompaniya ehtiyojlariga moslashgan yechimlar&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Modular arxitekturaning afzalliklari:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faqat kerakli qismlarni oʻrnatish&lt;/li&gt;
&lt;li&gt;Tizimni ogʻirlashtirmaslik&lt;/li&gt;
&lt;li&gt;Oson yangilash va texnik xizmat koʻrsatish&lt;/li&gt;
&lt;li&gt;Modullar bir-biriga bogʻliq boʻlishi mumkin (dependency)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;5-open-source-vs-enterprise&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5-open-source-vs-enterprise&quot;&gt;5. Open Source vs Enterprise&lt;/a&gt;&lt;/h2&gt;
&lt;h2 id=&quot;community-open-sourceversiya&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#community-open-sourceversiya&quot;&gt;Community (Open Source) Versiya&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Bepul va ochiq:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Asosiy barcha modullar mavjud&lt;/li&gt;
&lt;li&gt;Kod ochiq — oʻrganish va oʻzgartirish erkin&lt;/li&gt;
&lt;li&gt;Katta jamoa tomonidan qoʻllab-quvvatlanadi&lt;/li&gt;
&lt;li&gt;GitHub da barchasi mavjud&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Kimlar uchun?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oʻrganuvchilar&lt;/li&gt;
&lt;li&gt;Kichik bizneslar&lt;/li&gt;
&lt;li&gt;Dastur ishlab chiquvchilar&lt;/li&gt;
&lt;li&gt;Startup lar&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;enterprise-versiya&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#enterprise-versiya&quot;&gt;Enterprise Versiya&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pullik, qoʻshimcha imkoniyatlar:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zamonaviy dizayn&lt;/strong&gt; — professional koʻrinish&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qoʻshimcha modullar&lt;/strong&gt;: IoT, Marketing Automation, Helpdesk va boshqalar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rasmiy qoʻllab-quvvatlash&lt;/strong&gt; — Odoo jamoasidan yordam&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mobil ilovalar&lt;/strong&gt; — iOS va Android uchun&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hosting&lt;/strong&gt; — Odoo.sh platformasi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Muhim:&lt;/strong&gt; Enterprise funksiyalari Community ga qoʻshilib ketmaydi. Lekin Community versiya bilan ham professional loyihalar qilish mumkin.&lt;/p&gt;
&lt;h2 id=&quot;6-odoo-bilan-nima-qilish-mumkin-va-nima-qilishqiyin&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#6-odoo-bilan-nima-qilish-mumkin-va-nima-qilishqiyin&quot;&gt;6. Odoo bilan nima qilish MUMKIN va nima qilish QIYIN&lt;/a&gt;&lt;/h2&gt;
&lt;h2 id=&quot;-odoo-uchun-mukammal&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#-odoo-uchun-mukammal&quot;&gt;✅ Odoo uchun MUKAMMAL&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ERP tizimlari&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Buxgalteriya avtomatlashtirish&lt;/li&gt;
&lt;li&gt;Ombor va logistika boshqaruvi&lt;/li&gt;
&lt;li&gt;Sotuvlar va xaridlarni boshqarish&lt;/li&gt;
&lt;li&gt;HR va ish haqi hisoblash&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. Biznes jarayonlarini avtomatlashtirish&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hujjat aylanmasi&lt;/li&gt;
&lt;li&gt;Tasdiqlash jarayonlari (approval workflow)&lt;/li&gt;
&lt;li&gt;Avtomatik hisobotlar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3. CRM va mijozlar bilan ishlash&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lead tracking&lt;/li&gt;
&lt;li&gt;Mijozlar bazasi&lt;/li&gt;
&lt;li&gt;Marketing kampaniyalar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4. E-commerce va savdo&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Onlayn doʻkon&lt;/li&gt;
&lt;li&gt;POS tizimlari&lt;/li&gt;
&lt;li&gt;Tovarlar katalogi&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;️-odoo-uchun-qiyin-yoki-notoʻgʻri&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#️-odoo-uchun-qiyin-yoki-notoʻgʻri&quot;&gt;⚠️ Odoo uchun QIYIN yoki NOTOʻGʻRI&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;SaaS ilovalar&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Multi-tenancy qiyin&lt;/li&gt;
&lt;li&gt;Odoo arxitekturasi SaaS uchun moʻljallanmagan&lt;/li&gt;
&lt;li&gt;Yaxshiroq variant: Django, Node.js, Laravel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. Mobil ilovalar (native)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Odoo mobil API beradi, lekin native dastur emas&lt;/li&gt;
&lt;li&gt;React Native yoki Flutter yaxshiroq tanlov&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3. Real-time ilovalar&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chat, streaming — bu Odoo uchun emas&lt;/li&gt;
&lt;li&gt;WebSocket ni integratsiya qilish qiyin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4. Oʻta yuqori load (yuklanish)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Millionlab foydalanuvchilar — Odoo uchun qiyin&lt;/li&gt;
&lt;li&gt;Mikroservis arxitekturasi yaxshiroq&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Xulosa:&lt;/strong&gt; Odoo — ERP va biznes avtomatlashtirish uchun. Agar sizga startup uchun ijtimoiy tarmoq yoki oʻyin kerak boʻlsa, boshqa texnologiyalarni tanlang.&lt;/p&gt;
&lt;h2 id=&quot;7-odoo-ni-qanday-oʻrganish-kerak&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#7-odoo-ni-qanday-oʻrganish-kerak&quot;&gt;7. Odoo ni qanday oʻrganish kerak?&lt;/a&gt;&lt;/h2&gt;
&lt;h2 id=&quot;bosqichma-bosqich-yoʻl&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#bosqichma-bosqich-yoʻl&quot;&gt;Bosqichma-bosqich yoʻl&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1-bosqich: Fundament (1–2 oy)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; ni oʻrganing (agar bilmasangiz)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; asoslari (boshlanishiga odoo orm ni oʻzi yetarli boʻladi)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Git&lt;/strong&gt; bilan ishlash (hozircha boshlangʻich bilimlar)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux&lt;/strong&gt; buyruqlari (asosiy)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2-bosqich: Odoo asoslari (2–3 oy)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Odoo ni oʻrnatish (development muhitini sozlash)&lt;/li&gt;
&lt;li&gt;Modul tuzilmasi va arxitekturasi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt; yaratish (Python)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View&lt;/strong&gt; yaratish (XML)&lt;/li&gt;
&lt;li&gt;Asosiy CRUD operatsiyalari&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3-bosqich: Oʻrtacha daraja (3–4 oy)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ORM&lt;/strong&gt; (Object-Relational Mapping) chuqurroq&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workflow&lt;/strong&gt; va &lt;strong&gt;computed fields&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Modullar oʻrtasida bogʻlanish (inheritance, delegation)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; (access rights, record rules)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wizards&lt;/strong&gt; (koʻp bosqichli jarayonlar)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4-bosqich: Advanced (4–6 oy)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;JavaScript va OWL&lt;/strong&gt; framework&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QWeb&lt;/strong&gt; templates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API&lt;/strong&gt; yaratish va integratsiyalar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt; optimallashtirish&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deployment&lt;/strong&gt; va production sozlamalari&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5-bosqich: Mutaxassislik (davomiy)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Muayyan sohaga ixtisoslashuv (Manufacturing, Accounting va boshqalar)&lt;/li&gt;
&lt;li&gt;Katta loyihalar boshqaruvi&lt;/li&gt;
&lt;li&gt;Biznes jarayonlarini chuqur oʻrganish&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;amaliy-mashqlar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#amaliy-mashqlar&quot;&gt;Amaliy mashqlar&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Oddiy library management tizimi&lt;/strong&gt; yarating&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;School management&lt;/strong&gt; moduli ishlab chiqing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom hisobot&lt;/strong&gt; yarating&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API integratsiya&lt;/strong&gt; qiling (masalan, SMS service)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real loyihada&lt;/strong&gt; ishlang (freelance yoki kompaniyada)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;resurslar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#resurslar&quot;&gt;Resurslar&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rasmiy dokumentatsiya&lt;/strong&gt;: odoo.com/documentation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: github.com/odoo/odoo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Odoo.sh&lt;/strong&gt;: bepul trial muhit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;YouTube&lt;/strong&gt;: koʻplab tutorial videolar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Forum&lt;/strong&gt;: odoo.com/forum&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;xulosa-vasummary&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#xulosa-vasummary&quot;&gt;XULOSA VA SUMMARY&lt;/a&gt;&lt;/h2&gt;
&lt;h2 id=&quot;odoo-bu&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-bu&quot;&gt;Odoo bu&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;✅ ERP tizimi + dasturlash framework&lt;br&gt;
✅ Open source va bepul (Community)&lt;br&gt;
✅ Tayyor modullar + oʻzgartirish imkoniyati&lt;br&gt;
✅ Python (backend) + XML (view) + JavaScript (advanced frontend)&lt;br&gt;
✅ Biznes jarayonlarini avtomatlashtirish uchun ideal&lt;/p&gt;
&lt;h2 id=&quot;ikki-yoʻnalish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#ikki-yoʻnalish&quot;&gt;Ikki yoʻnalish&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1️⃣ &lt;strong&gt;Odoo Developer:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python, XML, JavaScript texnologiyalari&lt;/li&gt;
&lt;li&gt;Kod yozish va texnik muammolar&lt;/li&gt;
&lt;li&gt;Modullar yaratish va sozlash&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;2️⃣ &lt;strong&gt;Odoo Consultant:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Biznes jarayonlarini tushunish&lt;/li&gt;
&lt;li&gt;Tizimni sozlash (konfiguratsiya)&lt;/li&gt;
&lt;li&gt;Foydalanuvchilarni oʻrgatish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;💡 &lt;strong&gt;Ikkalasini ham bilish&lt;/strong&gt; — eng yaxshi variant!&lt;/p&gt;
&lt;h2 id=&quot;texnologiyalar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#texnologiyalar&quot;&gt;Texnologiyalar&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Backend&lt;/strong&gt;: Python (MVC model)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frontend&lt;/strong&gt;: XML (LEGO kabi), JavaScript/OWL (advanced)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database&lt;/strong&gt;: PostgreSQL&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework&lt;/strong&gt;: Odoo ORM&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;qachon-odoo&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#qachon-odoo&quot;&gt;Qachon Odoo?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;✅ ERP tizim kerak&lt;br&gt;
✅ Biznes jarayonlarini avtomatlashtirish&lt;br&gt;
✅ Tayyor yechim + moslashuvchanlik&lt;/p&gt;
&lt;p&gt;❌ SaaS startup&lt;br&gt;
❌ Native mobil ilovalar&lt;br&gt;
❌ Real-time chat/gaming&lt;/p&gt;
&lt;h2 id=&quot;oʻrganish-yoʻli&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#oʻrganish-yoʻli&quot;&gt;Oʻrganish yoʻli&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Python va asoslar (1–2 oy)&lt;/li&gt;
&lt;li&gt;Odoo asoslari (2–3 oy)&lt;/li&gt;
&lt;li&gt;Oʻrtacha daraja (3–4 oy)&lt;/li&gt;
&lt;li&gt;Advanced (4–6 oy)&lt;/li&gt;
&lt;li&gt;Davomiy amaliyot&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Eng muhimi:&lt;/strong&gt; Amaliyot qiling! Nazariya muhim, lekin real loyihalar sizni haqiqiy mutaxassisga aylantiradi.&lt;/p&gt;</content:encoded><category>erp-basics</category></item><item><title>Odoo nima? Biznesni avtomatlashtirish uchun ERP</title><link>https://blog.bahromnajmiddinov.uz/blog/odoo-nima</link><guid isPermaLink="true">https://blog.bahromnajmiddinov.uz/blog/odoo-nima</guid><description>Odoo — barcha biznes jarayonlarini bitta platformada boshqarishga imkon beruvchi ERP tizimi. Unda mijozlar (CRM), ombor, moliya, xodimlar, savdo va hisobotlar bir joyda ishlaydi, shuning uchun qoʻlda ish va xatolar kamayadi.</description><pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;!-- Imported from Medium on 2026-10-23. Text is BAHA&apos;s. Per BAHA (2026-10-23): unsourced percentages removed (sales +30%, delays −50%, efficiency +20%, &quot;statistics show&quot; list); the examples stay as plain descriptions. Summary/description REVIEW. --&gt;
&lt;p&gt;Tasavvur qiling: siz har kuni &lt;strong&gt;xodimlarni kuzatasiz, hisob-kitoblarni tekshirasiz, mahsulot va inventarizatsiyani boshqarasiz, mijozlar bilan bogʻlanasiz&lt;/strong&gt;… va shu jarayonlarning barchasi sizni charchatadi. Shu bilan birga, kichik xatoliklar katta &lt;strong&gt;moliyaviy yoʻqotishga&lt;/strong&gt; olib kelishi mumkin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shu yerda Odoo sizning eng yaxshi yordamchingizga aylanadi.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;odoo-nima&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-nima&quot;&gt;Odoo nima?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo — bu &lt;strong&gt;barcha biznes jarayonlarini bir platformada boshqarishga imkon beruvchi ERP tizimi&lt;/strong&gt;. U kichik, oʻrta va yirik kompaniyalar uchun mos va jarayonlarni soddalashtiradi.&lt;/p&gt;
&lt;h2 id=&quot;odoo-bilan-nimalarga-erishish-mumkin&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-bilan-nimalarga-erishish-mumkin&quot;&gt;Odoo bilan nimalarga erishish mumkin?&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;1️⃣-mijozlar-bilan-ishlash-crm&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#1️⃣-mijozlar-bilan-ishlash-crm&quot;&gt;1️⃣ Mijozlar bilan ishlash (CRM)&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Mijozlar profilini yaratish va boshqarish.&lt;/li&gt;
&lt;li&gt;Sotuvlarni kuzatish va avtomatik follow-up xabarlar joʻnatish.&lt;/li&gt;
&lt;li&gt;Mijozlarni segmentlash va marketing strategiyasini optimallashtirish.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Misol:&lt;/strong&gt; har bir mijozga mos xabar va takliflar avtomatik yuboriladi, sotuvchi esa hech bir mijozni unutib qoʻymaydi.&lt;/p&gt;
&lt;h3 id=&quot;2️⃣-inventarizatsiya-va-omborni-boshqarish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#2️⃣-inventarizatsiya-va-omborni-boshqarish&quot;&gt;2️⃣ Inventarizatsiya va omborni boshqarish&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Mahsulotlar va yetkazib beruvchilarni real vaqt rejimida kuzatish.&lt;/li&gt;
&lt;li&gt;Ombordagi yetishmovchiliklarni oldindan aniqlash.&lt;/li&gt;
&lt;li&gt;Buyurtmalarni avtomatik bogʻlash va xatoliklarni kamaytirish.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Misol:&lt;/strong&gt; onlayn doʻkon qoldiqni real vaqtda koʻradi va yetkazib berishdagi kechikishlar kamayadi.&lt;/p&gt;
&lt;h3 id=&quot;3️⃣-moliyaviy-hisob-kitob-va-fakturalar&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#3️⃣-moliyaviy-hisob-kitob-va-fakturalar&quot;&gt;3️⃣ Moliyaviy hisob-kitob va fakturalar&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Xarajatlar, daromadlar va toʻlovlarni avtomatik hisoblash.&lt;/li&gt;
&lt;li&gt;Fakturalarni yaratish va joʻnatish, soliq hisobotlarini tayyorlash.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Misol:&lt;/strong&gt; oylik hisobotlar qoʻlda yigʻilmaydi — maʼlumot tizimda tayyor turadi.&lt;/p&gt;
&lt;h3 id=&quot;4️⃣-hr-va-xodimlarni-boshqarish&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#4️⃣-hr-va-xodimlarni-boshqarish&quot;&gt;4️⃣ HR va xodimlarni boshqarish&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ishchilar jadvali va vazifalarni markazlashgan tarzda boshqarish.&lt;/li&gt;
&lt;li&gt;Ish samaradorligini kuzatish, taʼtillarni va kechikishlarni boshqarish.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Misol:&lt;/strong&gt; xodimlarning ish vaqti tizimda kuzatiladi, rahbar esa kim qanday ishlayotganini aniq koʻradi.&lt;/p&gt;
&lt;h3 id=&quot;5️⃣-savdo-va-e-commerce-integratsiyasi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#5️⃣-savdo-va-e-commerce-integratsiyasi&quot;&gt;5️⃣ Savdo va e-commerce integratsiyasi&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Onlayn doʻkonlar bilan avtomatik integratsiya.&lt;/li&gt;
&lt;li&gt;Buyurtmalarni inventarizatsiya bilan bogʻlash.&lt;/li&gt;
&lt;li&gt;Sotuvlarni tezlashtirish va mijozlarga qulaylik yaratish.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;6️⃣-hisobotlar-va-analytics&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#6️⃣-hisobotlar-va-analytics&quot;&gt;6️⃣ Hisobotlar va analytics&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Biznesning holatini real vaqt rejimida kuzatish.&lt;/li&gt;
&lt;li&gt;Qaysi mahsulotlar koʻproq sotilayotganini, qaysi boʻlim samaraliroq ishlayotganini aniqlash.&lt;/li&gt;
&lt;li&gt;Strategik qarorlarni tez va asosli qabul qilish.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;odoo-biznesingizga-qanday-foyda-beradi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#odoo-biznesingizga-qanday-foyda-beradi&quot;&gt;Odoo biznesingizga qanday foyda beradi?&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Vaqtni tejash:&lt;/strong&gt; avtomatlashtirilgan jarayonlar tufayli kundalik ishlar kamroq vaqt oladi.&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Xatoliklarni kamaytirish:&lt;/strong&gt; barcha maʼlumotlar yagona tizimda, qoʻlda ish jarayoni kamayadi.&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Daromadni oshirish:&lt;/strong&gt; mijozlar va savdo jarayonlarini samarali boshqarish orqali sotuvlar oshadi.&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Boʻlimlararo kommunikatsiya soddalashadi:&lt;/strong&gt; marketing, savdo, HR va moliya bitta platformada ishlaydi.&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Strategik qarorlarni tez qabul qilish:&lt;/strong&gt; real vaqt analytics bilan biznesingizni raqamli nazorat qilasiz.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;real-hayotda-bu-qanday-koʻrinadi&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#real-hayotda-bu-qanday-koʻrinadi&quot;&gt;Real hayotda bu qanday koʻrinadi?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar siz onlayn doʻkon egasi boʻlsangiz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mahsulot omborda yetarli yoki yoʻqligini darhol bilasiz.&lt;/li&gt;
&lt;li&gt;Xaridor buyurtma qilganda tizim avtomatik inventarizatsiyani yangilaydi, faktura yaratadi va xodimga buyurtma tayyorlash xabari joʻnatadi.&lt;/li&gt;
&lt;li&gt;Shu bilan siz vaqtni tejaysiz va mijozni yoʻqotish xavfini kamaytirasiz.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;xulosa&quot;&gt;&lt;a class=&quot;anchor&quot; href=&quot;#xulosa&quot;&gt;Xulosa&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Agar siz biznesingizni samarali boshqarishni, jarayonlarni avtomatlashtirishni va daromadingizni oshirishni istasangiz, Odoo siz uchun ideal yechimdir.&lt;/p&gt;</content:encoded><category>erp-basics</category></item></channel></rss>