odoo-8 - RIP Tutorial · 2019. 1. 18. · Файл конфигурации можно найти...

35
odoo-8 #odoo-8

Transcript of odoo-8 - RIP Tutorial · 2019. 1. 18. · Файл конфигурации можно найти...

  • odoo-8

    #odoo-8

  • 1

    1: odoo-8 2

    2

    2

    Examples 2

    2

    : 2

    ? 7

    2: RPC API- Odoo v8 ( Python JavaScript) 9

    9

    Examples 9

    Odoo 9

    RPC Odoo 10

    3: CSS Javascript Odoo 12

    12

    12

    12

    Examples 13

    CSS JS Odoo 13

    1: [BACKEND] CSS Javascript 13

    2: [FRONTEND] CSS Javascript 13

    3: [COMMON] CSS Javascript (b 14

    4: OpenERP Developer 15

    15

    Examples 16

    16

    Odoo 8 17

    Odoo 10 17

    5: ? 19

    19

    Examples 20

  • ORM 20

    6: - Office 365 Odoo 21

    Examples 21

    21

    7: 24

    24

    Examples 24

    TreeView 24

    8: , Odoo 8 26

    26

    26

    26

    Examples 28

    Odoo 8 28

    9: 30

    30

    Examples 30

    xml- 30

    Python 30

    32

  • ОколоYou can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: odoo-8

    It is an unofficial and free odoo-8 ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official odoo-8.

    The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

    Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]

    https://riptutorial.com/ru/home 1

    http://riptutorial.com/ebook/odoo-8https://archive.org/details/documentation-dump.7zmailto:[email protected]

  • глава 1: Начало работы с odoo-8

    замечания

    В этом разделе представлен обзор того, что такое odoo-8, и почему разработчик может захотеть его использовать.

    Следует также упомянуть о любых крупных предметах в пределах odoo-8 и ссылаться на связанные темы. Поскольку документация для odoo-8 является новой, вам может потребоваться создать начальные версии этих связанных тем.

    Версии

    Номер выпуска сообщество предприятие Лицензия Дата выхода

    8,0 да нет GNU AGPL 2014-09-18

    9,0 да да GNU AGPL V3 2015-10-01

    Examples

    Настроить

    Odoo можно установить тремя различными способами:

    Упакованные инсталляторы (самые простые, менее гибкие)1. Исходная установка (требуется время для настройки, очень гибкая)2. Официальное изображение докеров с docker.com3.

    Официальные пакеты со всеми соответствующими требованиями зависимости доступны на odoo.com .

    Windows

    Загрузите и запустите программу установки .

    Примечание. В Windows 8 вы можете увидеть предупреждение под названием «Windows защищает ваш компьютер». Нажмите «Подробнее», а затем запустите его. Примите приглашение UAC и выполните различные шаги установки. Odoo будет автоматически запущен в конце установки.

    Конфигурация:

    https://riptutorial.com/ru/home 2

    https://en.wikipedia.org/wiki/Affero_General_Public_Licensehttps://en.wikipedia.org/wiki/GNU_Lesser_General_Public_Licensehttps://hub.docker.com/_/odoo/https://hub.docker.com/_/odoo/https://nightly.odoo.comhttps://nightly.odoo.com/8.0/nightly/exe/odoo_8.0.latest.exe

  • Файл конфигурации можно найти в папке% PROGRAMFILES% \ Odoo 8.0-id \ server \ openerp-server.conf. (id - ваше системное имя пользователя)

    Файл конфигурации можно отредактировать, чтобы подключиться к удаленному Postgresql, изменить расположение файлов или установить dbfilter. Чтобы перезагрузить файл конфигурации, перезапустите службу Odoo через Service ‣ odoo server.

    Linux

    Распределения на основе Debian

    Чтобы установить Odoo 8.0 в дистрибутив на основе Debian, выполните следующие команды:

    # wget -O - https://nightly.odoo.com/odoo.key | apt-key add - # echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" >> /etc/apt/sources.list # apt-get update && apt-get install odoo

    Это автоматически установит все зависимости, установит сам Odoo в качестве демона и автоматически запустит его.

    Обратите внимание, что

    для печати отчетов в формате PDF вы должны сами установить wkhtmltopdf: версия wkhtmltopdf, доступная в репозиториях debian, не поддерживает верхние и нижние колонтитулы, поэтому она не может быть установлена автоматически. Рекомендуемая версия - 0.12.1 и доступна на странице загрузки wkhtmltopdf в разделе архива. Поскольку официального релиза для Debian Jessie нет, вы можете найти его на http://nightly.odoo.com/extra/ . или вы можете загрузить и установить его со страницы загрузки wkhtmltopdf, как это

    # wget https://bitbucket.org/wkhtmltopdf/wkhtmltopdf/downloads/{path to correct distro and system architecture} # sudo dpkg -i {.deb package} # sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

    Файл конфигурации можно найти по адресу /etc/odoo/openerp-server.conf

    Когда файл конфигурации редактируется, Odoo необходимо перезапустить с помощью службы:

    $ sudo service odoo restart Перезапуск odoo: ok

    Распределения на основе RPM

    В дистрибутивах RHEL (RHEL, CentOS, Scientific Linux) EPEL необходимо добавить в репозитории дистрибутива для всех зависимостей Odoo. Для CentOS:

    https://riptutorial.com/ru/home 3

    http://nightly.odoo.com/extra/

  • $ sudo yum install -y epel-release

    Для других распределений на основе RHEL см. Документацию EPEL.

    Ниже приведены шаги установки.

    $ sudo yum install -y postgresql-server $ sudo postgresql-setup initdb $ sudo systemctl enable postgresql $ sudo systemctl start postgresql $ sudo yum-config-manager --add-repo=https://nightly.odoo.com/8.0/nightly/rpm/odoo.repo $ sudo yum install -y odoo $ sudo systemctl enable odoo $ sudo systemctl start odoo

    Обратите внимание, что

    Чтобы распечатать отчеты в формате PDF, вы должны сами установить wkhtmltopdf: версия wkhtmltopdf, доступная в репозиториях Fedora / CentOS, не поддерживает верхние и нижние колонтитулы, поэтому она не может быть установлена автоматически. Используйте версию, доступную на странице загрузки wkhtmltopdf. Конфигурация, аналогичная debian, может быть установлена с

    wget https://bitbucket.org/wkhtmltopdf/wkhtmltopdf/downloads/{path to correct distro and system architecture} sudo rpm -i {.rpm package} sudo cp /usr/local/bin/wkhtmlto* /usr/bin/

    Файл конфигурации можно найти по адресу /etc/odoo/openerp-server.conf

    Когда файл конфигурации редактируется, Odoo необходимо перезапустить через Systemd:

    $ sudo systemctl restart odoo

    Источник установки

    Odoo zip можно загрузить с https://nightly.odoo.com/8.0/nightly/src/odoo_8.0.latest.zip , тогда zip-файл должен быть несжатым, чтобы использовать его контент

    Git позволяет упростить обновление и упростить переключение между различными версиями Odoo. Это также упрощает сохранение немодульных патчей и вкладов. Основной недостаток git заключается в том, что он значительно больше, чем tarball, поскольку он содержит всю историю проекта Odoo.

    Репозиторий git - https://github.com/odoo/odoo.git.

    Затем вы можете клонировать хранилище с помощью

    https://riptutorial.com/ru/home 4

    https://nightly.odoo.com/8.0/nightly/src/odoo_8.0.latest.zip

  • $ git clone https://github.com/odoo/odoo.git

    Установка зависимостей

    Для установки источника требуется вручную устанавливать зависимости:

    Python 2.7. на Linux и OS X, включенные по умолчанию

    в Windows используйте официальный установщик Python 2.7.9.

    если Python уже установлен, убедитесь, что он равен 2.7.9, предыдущие версии менее удобны, а версии 3.x несовместимы с Odoo

    настройка PostgreSQL

    После установки вам нужно будет создать пользователя postgres: по умолчанию единственным пользователем является postgres, а Odoo запрещает подключение в качестве postgres.

    на Linux, используйте пакет дистрибутива, а затем создайте пользователя postgres, названного как ваш логин:

    $ sudo su - postgres -c "createuser -s $USER"

    Поскольку учетная запись роли совпадает с вашим unix-подключением unix, можно использовать без пароля. на OS X, postgres.app - это самый простой способ начать работу, а затем создать пользователя postgres, как в Linux

    в Windows, используйте PostgreSQL для окон, затем добавьте каталог bin PostgreSQL (по умолчанию: C: \ Program Files \ PostgreSQL \ 9.4 \ bin) к вашему PATH

    создайте пользователя postgres с паролем, используя pg admin gui: откройте pgAdminIII, дважды щелкните сервер, чтобы создать соединение, выберите «Редактировать» ‣ «Новый объект» ‣ «Новая роль входа», введите имя пользователя в поле «Имя роли» (например, odoo), затем откройте вкладку «Определение» и введите пароль (например, odoo), затем нажмите «ОК».

    Пользователь и пароль должны быть переданы в Odoo с использованием параметров -w и -r или файла конфигурации

    Python, перечисленные в файле requirements.txt.

    в Linux зависимости python могут быть установлены с помощью диспетчера пакетов системы или с помощью pip.

    Для библиотек, использующих собственный код (Pillow, lxml, greenlet, gevent, psycopg2, ldap), может потребоваться установить инструменты разработки и собственные

    https://riptutorial.com/ru/home 5

  • зависимости до того, как pip сможет самостоятельно установить зависимости. Они доступны в пакетах -dev или -devel для Python, Postgres, libxml2, libxslt, libevent, libsasl2 и libldap2. Тогда сами зависимости Python могут быть установлены:

    $ pip install -r requirements.txt

    На OS X вам нужно будет установить средства командной строки (xcode-select -install), а затем загрузить и установить менеджер пакетов по вашему выбору (homebrew, macports) для установки зависимостей, отличных от Python. pip можно затем использовать для установки зависимостей Python, как на Linux:

    $ pip install -r requirements.txt

    на Windows вам нужно установить некоторые из зависимостей вручную, настроить файл requirements.txt, а затем запустить pip для установки исправлений.

    Install psycopg using the installer here http://www.stickpeople.com/projects/python/win-psycopg/

    Затем отредактируйте файл requirements.txt: удалите psycopg2, как у вас уже есть. удалите необязательные python-ldap, gevent и psutil, потому что они требуют компиляции. добавьте pypiwin32, потому что это необходимо под окнами.

    Затем используйте pip для установки зависимостей, используя следующую команду из приглашения cmd.exe (замените \ YourOdooPath на фактический путь, куда вы загрузили Odoo):

    C:\> cd \YourOdooPath C:\YourOdooPath> C:\Python27\Scripts\pip.exe install -r requirements.txt

    Меньше CSS через nodejs

    в Linux используйте диспетчер пакетов вашего дистрибутива для установки nodejs и npm.

    Обратите внимание, что

    В debian wheezy и Ubuntu 13.10 и до того, как вам нужно установить nodejs вручную:

    $ wget -qO- https://deb.nodesource.com/setup | bash - $ apt-get install -y nodejs

    В более поздних версиях debian (> jessie) и ubuntu (> 14.04) вам может потребоваться добавить символическую ссылку в качестве узла вызова пакетов npm, но debian вызывает двоичный nodejs

    $ apt-get install -y npm

    https://riptutorial.com/ru/home 6

  • $ sudo ln -s /usr/bin/nodejs /usr/bin/node Once npm is installed, use it to install less and less-plugin-clean-css: $ sudo npm install -g less less-plugin-clean-css on OS X, install nodejs via your preferred package manager (homebrew, macports) then install less and less-plugin-clean-css: $ sudo npm install -g less less-plugin-clean-css

    на Windows, установите nodejs , перезагрузите (обновите PATH) и установите less and less-plugin-clean-css :

    C:\> npm install -g less less-plugin-clean-css

    Запуск Odoo

    После установки всех зависимостей, Odoo можно запустить, запустив odoo.py.

    Конфигурация может быть предоставлена либо через аргументы командной строки, либо через файл конфигурации.

    Общие необходимые конфигурации:

    PostgreSQL host, port, user and password.

    У Odoo нет значений по умолчанию за пределами настроек psycopg2: подключается через сокет UNIX на порт 5432 с текущим пользователем и без пароля. По умолчанию это должно работать на Linux и OS X, но оно не будет работать на Windows, поскольку оно не поддерживает UNIX-сокеты. Пользовательский аддон путь за пределы по умолчанию, чтобы загрузить ваши собственные модули

    Под Windows типичный способ выполнения odoo:

    C:\YourOdooPath> python odoo.py -w odoo -r odoo --addons-path=addons,../mymodules --db-filter=mydb$

    Где odoo, odoo - логин и пароль postgresql, ../mymodules каталог с дополнительными аддонами и mydb по умолчанию db для обслуживания на localhost: 8069

    В системах * nix типичным способом выполнения odoo будет:

    $ ./odoo.py --addons-path=addons,../mymodules --db-filter=mydb$Packaged installers

    Что такое Оду?

    Odoo (ранее известный как OpenERP и до этого, TinyERP) представляет собой набор

    https://riptutorial.com/ru/home 7

  • приложений для корпоративного корпоративного управления. Ориентируясь на компании всех размеров, пакет приложений охватывает все бизнес-потребности: от Веб-сайта / Электронная торговля до производства, инвентаризации и учета, все без исключения интегрированы. Это первый раз, когда разработчику программного обеспечения удалось достичь такого функционального охвата. Odoo является самым установленным бизнес-программным обеспечением в мире. Odoo используется 2 000 000 пользователей по всему миру, начиная от очень маленьких компаний (1 пользователь) и заканчивая очень большими (300 000 пользователей).

    Исходный код модулей OpenObject и основных модулей ERP (корпоративного планирования ресурсов) курируется на основе Odoo SA в Бельгии. Кроме того, специализированное программирование, поддержка и другие услуги предоставляются активным глобальным сообществом и сетью из 500 официальных партнеров. Основными компонентами Odoo являются инфраструктура OpenObject, около 30 основных модулей (также называемых официальными модулями) и более 3000 модулей сообщества

    Odoo использовался как компонент университетских курсов. Исследование, основанное на экспериментальном обучении, показало, что OpenERP представляет собой подходящую альтернативу проприетарным системам для дополнения обучения.

    Несколько книг написано об Оду, некоторые из которых касаются определенных областей, таких как учет или разработка

    Odoo получил награды, включая Trends Gazelle и BOSSIE Awards три года подряд.

    Он использует скрипты Python и PostgreSQL в качестве базы данных. Его издание сообщества дополняется изданием Enterprise @ 240 долларов США за пользователя в год и коммерчески поддерживаемой онлайн-версией. Репозиторий разработки находится на GitHub.

    В 2013 году была создана некоммерческая ассоциация сообщества Odoo для обеспечения постоянного продвижения и поддержки версий и модулей сообщества Odoo в дополнение к работе Odoo SA. В этой организации насчитывается более 150 членов, которые представляют собой сочетание отдельных лиц и организаций.

    Прочитайте Начало работы с odoo-8 онлайн: https://riptutorial.com/ru/odoo-8/topic/2151/начало-работы-с-odoo-8

    https://riptutorial.com/ru/home 8

    https://riptutorial.com/ru/odoo-8/topic/2151/%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-odoo-8https://riptutorial.com/ru/odoo-8/topic/2151/%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-odoo-8https://riptutorial.com/ru/odoo-8/topic/2151/%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-odoo-8

  • глава 2: RPC с использованием API-интерфейса Odoo v8 (функция вызова Python из JavaScript)

    замечания

    Если вы планируете добавлять новые методы в Python для использования их в RPC из JavaScript, тогда рассмотрите следующие варианты декораторов методов: если вам нужно иметь дело с идентификаторами / наборами записей, то для определения метода python выберите decorator:

    @ api.multi - получить набор записей в вашем методе•@ api.one - для получения browse_records один за другим в вашем методе в приведенных выше примерах используется @ api.multi, но @ api.one также может использоваться для обработки идентификаторов в зависимости от требований (однако настоятельно рекомендуется использовать @ api.multi вместо @ api.one по соображениям производительности).

    Или, если это простая функция, которая не должна иметь дело с записями / идентификаторами, то для метода python выберите декоратор:

    @ api.model - Позволяет быть вежливым с API старого стиля.•@ api.multi - Опять же, вы можете использовать его здесь также, просто передайте [ ] (пустой массив) в качестве первого аргумента в javascript ...

    Ссылки: Документация Odoo RPC , Декораторы методов Odoo 8 API

    Examples

    Пример модели Odoo для вызова методов из

    class my_model(models.Model): _name = "my.model" name = fields.Char('Name') @api.multi def foo_manipulate_records_1(self): """ function returns list of tuples (id,name) """ return [(i.id,i.name) for i in self] @api.multi def foo_manipulate_records_2(self, arg1, arg2) #here you can take advantage of "self" recordset and same time use aditional arguments

    https://riptutorial.com/ru/home 9

    https://www.odoo.com/documentation/8.0/reference/javascript.html#rpchttps://www.odoo.com/documentation/8.0/reference/javascript.html#rpchttps://www.odoo.com/documentation/8.0/reference/orm.html#module-openerp.apihttps://www.odoo.com/documentation/8.0/reference/orm.html#module-openerp.api

  • "arg1", "arg2" pass @api.model def bar_no_deal_with_ids(self, arg1, arg2): """ concatenate arg1 and arg2 """ return unicode(arg1) + unicode(arg2)

    Примеры RPC Odoo

    Примеры ниже демонстрируют, как вызвать функцию Python из JavaScript в Odoo 8. В примерах мы называем методы my_model, описанные ранее на этой странице. Предположим, что в следующих примерах переменная «list_of_ids» содержит список (массив) идентификаторов существующих записей модели «my.model».

    Вызов метода foo_manipulate_records_1, украшенный с помощью @ api.multi :•

    new instance.web.Model("my.model") .call( "foo_manipulate_records_1", [list_of_ids]) .then(function (result) { // do something with result });

    Вызов метода foo_manipulate_records_2, украшенный @ api.multi :•

    new instance.web.Model("my.model") .call( "foo_manipulate_records_2", [list_of_ids, arg1, arg2]) .then(function (result) { // do something with result });

    Вызов метода bar_no_deal_with_ids, украшенный с помощью @ api.model :•

    new instance.web.Model("my.model") .call( "bar_no_deal_with_ids", [arg1, arg2]) .then(function (result) { // do something with result });

    Также, если это имеет смысл в зависимости от реализации, вы можете вызвать функцию, украшенную @ api.multi, даже если вам не нужно иметь дело с идентификаторами (просто передайте пустой массив вместо ids, как первый элемент списка аргументов):

    new instance.web.Model("my.model") .call( "foo_manipulate_records_2", [[], arg1, arg2]) .then(function (result) { // do something with result });

    https://riptutorial.com/ru/home 10

  • этот способ может быть полезен в некоторых случаях, поскольку unecorated function в v8.0 api рассматривается как @ api.multi (поскольку @ api.multi является декоратором по умолчанию)

    При использовании двух параметров для вызова RPC, которые используются в приведенных выше примерах (имя функции и список аргументов), вы можете использовать третий параметр - словарь аргументов ключевого слова . Настоятельно рекомендуется обходить контекст (в некоторых случаях это может быть даже необходимо), так как это может изменить поведение удаленной процедуры (локализация и т. Д.). Ниже приведен пример с аргументом контекста в вызове RPC (то же самое можно применить ко всем приведенным выше примерам)

    var self = this; new instance.web.Model("my.model") .call("foo_manipulate_records_2", [[], arg1, arg2], {'context':self.session.user_context}) .then(function (result) { // do something with result });

    Разумеется, вы также можете использовать пользовательский контекст, если это необходимо, вместо того, чтобы оборачивать существующий, как в этом примере.

    Прочитайте RPC с использованием API-интерфейса Odoo v8 (функция вызова Python из JavaScript) онлайн: https://riptutorial.com/ru/odoo-8/topic/6613/rpc-с-использованием-api-интерфейса-odoo-v8--функция-вызова-python-из-javascript-

    https://riptutorial.com/ru/home 11

    https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-https://riptutorial.com/ru/odoo-8/topic/6613/rpc-%D1%81-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC-api-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0-odoo-v8--%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B0-python-%D0%B8%D0%B7-javascript-

  • глава 3: Добавить файлы CSS и Javascript в модуль Odoo

    Синтаксис

    Обратите внимание на синтаксис XML: поскольку запись сделана внутри XML-файла, вы не можете оставить какой-либо тег, который был закрыт, как вы могли, в простом HTML, например: , Закрыть вместо этого используйте тег link:

    параметры

    Возможные значения параметра inherit_id

    имея в виду

    web.assets_backendИспользуется только на внутренних страницах, НЕ включается в общедоступный веб-сайт.

    website.assets_frontendИспользуется только на общедоступном веб-сайте (через модуль « веб-сайт »).

    web.assets_commonИспользуется как на общедоступном веб-сайте, так и на внутренних страницах.

    замечания

    Если вы не уверены в том, какой вариант подходит для вас, попробуйте первый вариант (бэкэнд), поскольку он используется в большинстве случаев и почти во всех случаях, если вы не установили модуль «веб-сайт». Odoo различает активы «backend» и «frontend», потому что публичный веб-сайт, предоставленный модулем «веб-сайт», использует разные стили и JS-код, чем внутренние страницы, предназначенные для использования в ERP-задачах, то есть «frontend» связан с общедоступным веб-сайтом и «backend» связан с внутренними страницами для ERP (значение «frontend» и «backend» здесь Odoo специфично, но они являются «интерфейсом» в более общем смысле).

    Вы можете не только выбирать и использовать один из вариантов, но и использовать любую комбинацию из них (две или все из них) в том же модуле. Фактор backend, интерфейс и общий код JS / CSS в разделенные файлы, чтобы лучше придерживаться DRY и иметь подходящий код на общедоступном веб-сайте и на внутренних страницах.

    https://riptutorial.com/ru/home 12

  • Не забудьте добавить «web» (при использовании опции 1 ) или «веб-сайт» (при использовании варианта 2 ) в список зависимостей в манифесте __openerp__.py .

    Examples

    Храните файлы CSS и JS правильно в модуле Odoo

    Файлы CSS и JS должны находиться в каталоге «static» в корневом каталоге модуля (остальное дерево подкаталогов под «static» является необязательным соглашением):

    static / src / css / your_file.css•static / src / js / your_file.js•

    Затем добавьте ссылки на эти файлы, не указывая один из трех способов, перечисленных в следующих примерах.

    Вариант 1: [BACKEND] Добавить файлы CSS и Javascript для использования на внутренних страницах

    Способ Odoo v8.0 - добавить соответствующую запись в файл XML:

    Добавьте файл XML в манифест (т. __openerp__.py Файл __openerp__.py .):

    ... 'data': ['your_file.xml'], ...

    Затем добавьте следующую запись в 'your_file.xml' :•

    .... ....

    Вариант 2: [FRONTEND] Добавить файлы CSS и Javascript для использования на общедоступном веб-сайте

    Примечание: вы должны использовать этот путь, если вы установили модуль «веб-сайт», и

    https://riptutorial.com/ru/home 13

  • у вас есть общедоступный веб-сайт.

    Добавьте следующую запись в 'your_file.xml' :•

    Вариант 3: [COMMON] Добавить файлы CSS и Javascript для использования на всех страницах (backend & frontend)

    Добавьте следующую запись в 'your_file.xml' :•

    Прочитайте Добавить файлы CSS и Javascript в модуль Odoo онлайн: https://riptutorial.com/ru/odoo-8/topic/3401/добавить-файлы-css-и-javascript-в-модуль-odoo

    https://riptutorial.com/ru/home 14

    https://riptutorial.com/ru/odoo-8/topic/3401/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-css-%D0%B8-javascript-%D0%B2-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-odoohttps://riptutorial.com/ru/odoo-8/topic/3401/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-css-%D0%B8-javascript-%D0%B2-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-odoohttps://riptutorial.com/ru/odoo-8/topic/3401/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-css-%D0%B8-javascript-%D0%B2-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-odoohttps://riptutorial.com/ru/odoo-8/topic/3401/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-css-%D0%B8-javascript-%D0%B2-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-odoohttps://riptutorial.com/ru/odoo-8/topic/3401/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-css-%D0%B8-javascript-%D0%B2-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-odoohttps://riptutorial.com/ru/odoo-8/topic/3401/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-css-%D0%B8-javascript-%D0%B2-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-odoohttps://riptutorial.com/ru/odoo-8/topic/3401/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-css-%D0%B8-javascript-%D0%B2-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-odoo

  • глава 4: Как активировать режим OpenERP Developer

    замечания

    Режим разработчика

    Режим разработки Odoo позволяет внести существенные изменения в базу данных Odoo, например, добавлять поля к вашим документам и представлениям. Вы изменяете представления по умолчанию своих действий и можете даже создавать динамические формы на основе других полей в ваших моделях.

    преимущество

    Хотя Odoo - мощная платформа приложений, цикл разработки может быть жестоким, чтобы протестировать изменения в вашем приложении. Используя режим разработчика, вы можете тестировать выражения и решать множество функциональных проблем, не перезагружая сервер много раз, чтобы протестировать простые изменения.

    Кроме того, инструмент разработчика Odoo отлично подходит для просмотра архитектуры форм и представлений, чтобы узнать, как поля привязаны к модулям, их доменам, контекстам и другим атрибутам. В этом видео мы точно исследуем, как мы используем эти инструменты для модификации и создания приложений Odoo.

    Ограничения

    Хотя может быть очень заманчиво использовать режим разработчика для внесения больших изменений в ваше приложение, есть некоторые недостатки. В зависимости от того, что вы изменяете и изменяете, вы можете потерять эти изменения с будущими обновлениями модулей или при установке дополнительных приложений в Odoo. Это особенно верно для изменений в представлениях.

    Чтобы активировать режим разработчика, вы просто просто записываете

    для версии v7

    И отладки =

    перед тем, как знак # просто добавит его.

    HTTP: // локальный: 8069 / дб = test_db и отладки = #

    для версии> v7

    https://riptutorial.com/ru/home 15

    http://localhost:8069/?db=test_db&debug=#http://localhost:8069/?db=test_db&debug=#http://localhost:8069/?db=test_db&debug=#http://localhost:8069/?db=test_db&debug=#

  • HTTP: // локальный: 8069 / веб - отладка =

    Возможно, вы не увидите меню « Оооо», потому что может быть установлен модуль дебрендинга .

    Examples

    Активировать режим разработчика

    Чтобы активировать режим разработчика:

    Войдите на передний конец ODOO1. Нажмите «Имя пользователя» в верхней правой части экрана.2. Выберите «О»3. Нажмите «Активировать режим разработчика» во всплывающем окне.4.

    https://riptutorial.com/ru/home 16

    http://localhost:8069/web?debug=http://localhost:8069/web?debug=http://localhost:8069/web?debug=http://i.stack.imgur.com/uYtrP.png

  • Активация режима разработчика в Odoo 8

    Когда вы войдете в приложение Odoo, вы найдете возможность увидеть, кто сейчас находится в личном кабинете в верхнем правом углу. Эта информация пользователя имеет кнопку выпадающего меню. Нажмите на раскрывающийся список, затем вы найдете список. В этом списке выберите опцию Odoo.com. При нажатии на это откроется всплывающее окно About . В этом окне в верхнем правом углу вы найдете такой вариант, как режим разработчика Acivate . Нажав на эту ссылку, вы перезагрузите веб-страницу.

    После перезагрузки он будет находиться в режиме разработчика. Тогда ссылка изменится на что-то вроде этого http: // localhost: 8069 / web? Debug = # id = 23 & view_type = form & model = res.partner

    Активировать режим разработчика в Odoo 10

    Активировать режим разработчика:

    https://riptutorial.com/ru/home 17

    http://i.stack.imgur.com/GIXrV.pnghttp://localhost:8069/web?debug=#id=23&view_type=form&model=res.partnerhttp://localhost:8069/web?debug=#id=23&view_type=form&model=res.partner

  • Войдите в приложение-приложение.1. После входа в систему пользователь может увидеть несколько меню odoo. Нажмите на меню настроек.

    2.

    Нажмите «Активировать режим разработчика», который находится в правом углу страницы настроек.

    1.

    Режим разработчика теперь активирован.2.

    Прочитайте Как активировать режим OpenERP Developer онлайн: https://riptutorial.com/ru/odoo-8/topic/3311/как-активировать-режим-openerp-developer

    https://riptutorial.com/ru/home 18

    https://i.stack.imgur.com/JjM8R.pnghttps://i.stack.imgur.com/Wj01f.pnghttps://riptutorial.com/ru/odoo-8/topic/3311/%D0%BA%D0%B0%D0%BA-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-openerp-developerhttps://riptutorial.com/ru/odoo-8/topic/3311/%D0%BA%D0%B0%D0%BA-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-openerp-developerhttps://riptutorial.com/ru/odoo-8/topic/3311/%D0%BA%D0%B0%D0%BA-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC-openerp-developer

  • глава 5: Каковы методы и детали ОРМ?

    замечания

    Создать метод: создать новую запись с указанным значением. Принимает несколько значений полей и возвращает набор записей, содержащий созданную запись

    def create(self,vals): return super(class_name, self).create(vals)

    Метод записи : обновлять записи с заданными идентификаторами с заданными значениями поля. Принимает ряд значений полей, записывает их во все записи в своем наборе записей. Не возвращает ничего

    def write(self,vals): return super(class_name, self).write(vals)

    Метод поиска: поиск записей на основе домена поиска. Получает домен поиска, возвращает набор записей совпадающих записей. Может возвращать подмножество совпадающих записей (смещение и предельные параметры) и быть упорядоченным (параметр порядка)

    self.search([('customer','=',True)]) self.env['res.partner'].search(['partner','=',True])

    Метод поиска : выборка записей в виде объектов, позволяющих использовать точечную нотацию для просмотра полей и отношений. Получает идентификатор базы данных или список идентификаторов и возвращает набор записей, полезный, когда идентификаторы записи получаются из внешнего Оду (например, в обратном направлении через внешнюю систему) или при вызове методов в старом API.

    self.browse([7,8,9]) self.env['res.partner'].browse([7,8,9])

    Существует методы: возвращает новый набор записей, содержащий только записи, которые существуют в базе данных. Может использоваться для проверки того, существует ли запись (например, полученная извне).

    records = records.exists()

    Метод ref: метод среды, возвращающий запись, соответствующую предоставленному внешнему идентификатору

    self.env.ref('base.group_public')

    https://riptutorial.com/ru/home 19

  • make_one: проверяет, что набор записей является одиночным (только содержит одну запись), вызывает ошибку, иначе

    records.ensure_one()

    Examples

    Различные типы методов ORM

    Создайте()1. записывать()2. поиск()3. просматривать()4. существует()5. исх ()6. ensure_one ()7.

    Прочитайте Каковы методы и детали ОРМ? онлайн: https://riptutorial.com/ru/odoo-8/topic/6150/каковы-методы-и-детали-орм-

    https://riptutorial.com/ru/home 20

    https://riptutorial.com/ru/odoo-8/topic/6150/%D0%BA%D0%B0%D0%BA%D0%BE%D0%B2%D1%8B-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B8-%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D0%B8-%D0%BE%D1%80%D0%BC-https://riptutorial.com/ru/odoo-8/topic/6150/%D0%BA%D0%B0%D0%BA%D0%BE%D0%B2%D1%8B-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B8-%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D0%B8-%D0%BE%D1%80%D0%BC-https://riptutorial.com/ru/odoo-8/topic/6150/%D0%BA%D0%B0%D0%BA%D0%BE%D0%B2%D1%8B-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B8-%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D0%B8-%D0%BE%D1%80%D0%BC-

  • глава 6: Настройка электронной почты - Office 365 в Odoo

    Examples

    Настройка электронной почты

    - Первоначально проверьте настройки электронной почты

    В Odoo перейдите в Настройки -> Эл. Почта.•

    https://riptutorial.com/ru/home 21

    http://i.stack.imgur.com/7Uy7K.png

  • Введите значения полей в параметрах «Серверы входящих сообщений» и «Серверы исходящей почты».

    https://riptutorial.com/ru/home 22

    http://i.stack.imgur.com/Ptekv.png

  • Прочитайте Настройка электронной почты - Office 365 в Odoo онлайн: https://riptutorial.com/ru/odoo-8/topic/6648/настройка-электронной-почты---office-365-в-odoo

    https://riptutorial.com/ru/home 23

    http://i.stack.imgur.com/wLbg4.pnghttp://i.stack.imgur.com/bqTHn.pnghttps://riptutorial.com/ru/odoo-8/topic/6648/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BE%D1%87%D1%82%D1%8B---office-365-%D0%B2-odoohttps://riptutorial.com/ru/odoo-8/topic/6648/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BE%D1%87%D1%82%D1%8B---office-365-%D0%B2-odoohttps://riptutorial.com/ru/odoo-8/topic/6648/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BE%D1%87%D1%82%D1%8B---office-365-%D0%B2-odoohttps://riptutorial.com/ru/odoo-8/topic/6648/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BE%D1%87%D1%82%D1%8B---office-365-%D0%B2-odoohttps://riptutorial.com/ru/odoo-8/topic/6648/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BE%D1%87%D1%82%D1%8B---office-365-%D0%B2-odoo

  • глава 7: Пользовательские виджеты для полей

    замечания

    убедитесь, что вы правильно добавили файл javascript в свой модуль•не забудьте добавить 'web' в качестве зависимости в __openerp__.py:•

    'depends': ['web',....]

    Examples

    Пользовательский виджет для числовых полей для использования в TreeView

    В приведенном ниже примере виджет демонстрирует, как отформатировать отдельные ячейки столбца TreeView условно, в зависимости от значения поля в конкретной ячейке. Если значение поля отрицательное, оно будет отображаться красным цветом, а символ минус будет скрыт, иначе он будет отображаться в обычном цвете.

    Виджет должен быть написан на JavaScript, позволяет использовать custom_widget_name как имя для нового виджета, а your_module_name - это техническое имя вашего модуля (то же, что и имя корневого каталога вашего модуля)

    Uunder static / src / js / folder в вашем модуле добавляет файл javascript (скажем, static / src / js / custom_widget .js) с настраиваемым виджемом :

    openerp.your_module_name = function (instance) { instance.web.list.columns.add('field.custom_widget_name', 'instance.your_module_name.custom_widget_name'); instance.your_module_name.custom_widget_name = instance.web.list.Column.extend({ _format: function (row_data, options) { res = this._super.apply(this, arguments); var amount = parseFloat(res); if (amount < 0){ return ""+(-amount)+""; } return res } }); // //here you can add more widgets if you need, as above... // };

    https://riptutorial.com/ru/home 24

    http://www.riptutorial.com/odoo-8/topic/3401/add-css-and-javascript-files-to-odoo-modulehttp://www.riptutorial.com/odoo-8/topic/3401/add-css-and-javascript-files-to-odoo-modulehttp://www.riptutorial.com/odoo-8/topic/3401/add-css-and-javascript-files-to-odoo-module

  • приведенный выше примерный виджет может использоваться в представлении списка для поля типа float и применяется к следующим правилам:

    Отрицательные числа:Показаны красным цветом.○Минус-символ (символ «-») «скрыт».○

    Для положительных чисел используется макет по умолчанию.•

    Этот примерный виджет может быть применен к полю в древовидной структуре Odoo. Вы можете использовать виджет, подобный этому, для столбца, в котором вам нужно применить специальные правила:

    . . . . . . . . . . . .

    Прочитайте Пользовательские виджеты для полей онлайн: https://riptutorial.com/ru/odoo-8/topic/6198/пользовательские-виджеты-для-полей

    https://riptutorial.com/ru/home 25

    https://riptutorial.com/ru/odoo-8/topic/6198/%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5-%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9https://riptutorial.com/ru/odoo-8/topic/6198/%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5-%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9https://riptutorial.com/ru/odoo-8/topic/6198/%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5-%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D1%8B-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9

  • глава 8: Поля, используемые в Odoo 8

    Вступление

    Это раздел, где вы можете найти информацию о полях, которые используются в Odoo 8

    параметры

    параметры Описание

    строка = «Имя» Дополнительная метка поля

    вычислим = "_ compute_name_custom"

    Преобразовать поля в вычисленные поля

    магазин = True Если он вычислен, он сохранит результат

    выберите = True Индекс силы в поле

    только для чтения = True Поле будет отображаться только в виде

    инвертировать = "_ write_name" Триггер обновления

    требуется = True Обязательное поле

    перевод = True Разрешение перевода

    помощь = 'BlaBla' Текст подсказки справки

    comodel_name = "model.name" Название соответствующей модели

    inverse_name = "field_name"реляционный столбец противоположной модели

    отношение = 'many2many_table_name'

    имя реляционной таблицы для many2many

    columns1 = 'left_column_name' имя таблицы реляционных таблиц

    column2 = 'right_column_name'имя правой колонки таблицы реляционных таблиц

    замечания

    https://riptutorial.com/ru/home 26

  • Odoo и ORM: Odoo использует метод ORM (Object Relational Mapping) для взаимодействия с базой данных. ORM поможет создать базу данных виртуальных объектов, которая может использоваться внутри Python. В методе ORM каждая модель представлена классом, который подклассы Models.model.

    Models.model - это главный суперкласс для постоянных баз данных с остальными версиями Odoo. Модели Odoo создаются путем наследования этого класса.

    Пример:

    class Employee(Models.model): _name = 'module.employee' #Rest of the code goes here

    Здесь _name является структурным атрибутом, который сообщает системе о названии создаваемой таблицы базы данных.

    Каждая модель имеет ряд переменных класса, каждая из которых представляет собой поле базы данных в модели. Каждое поле представлено экземпляром класса openerp.fields.Field. Поля в Odoo перечислены ниже ..

    1 Булевое поле

    ex: flag = fields.Boolean()

    2 Char Field

    ex: flag = fields.Char()

    3 Текст

    ex: flag = fields.Text()

    4 Html

    ex: flag = fields.Html()

    5 Целое число

    ex: flag = fields.Integer()

    6 Float

    ex: flag = fields.Float()

    7 Дата

    https://riptutorial.com/ru/home 27

  • ex: flag = fields.Date()

    8 Datetime

    ex: flag = fields.Datetime()

    9 Выбор

    ex: flag = fields.Selection()

    10 Many2one

    ex: flag = fields.Many2one()

    11 One2many

    ex: flag = fields.One2many()

    12 Many2many

    ex: flag = fields.Many2many()

    Examples

    Примеры полей Odoo 8

    Odoo использует метод ORM (Object Relational Mapping) для взаимодействия с базой данных. ORM поможет создать базу данных виртуальных объектов, которая может использоваться внутри Python. В методе ORM каждая модель представлена классом подклассов Models.model. Models.model - это главный суперкласс для постоянных баз данных с остальными версиями Odoo. Модели Odoo создаются путем наследования этого класса

    name = fields.Char(string='New Value') flag = fields.Boolean(string='Flag',default=False) amount = fields.Float(string='Amount',digits=(32, 32)) code = fields.Selection(string='Code',selection=[('a', 'A'),('b','B')]) customer = fields.Many2one(comodel_name='res.users') sale_order_line = fields.One2many(comodel_name='res.users', inverse_name='rel_id') tags = fields.Many2many(comodel_name='res.users', relation='table_name', column1='col_name',

    https://riptutorial.com/ru/home 28

  • column2='other_col_name')

    Прочитайте Поля, используемые в Odoo 8 онлайн: https://riptutorial.com/ru/odoo-8/topic/8152/поля--используемые-в-odoo-8

    https://riptutorial.com/ru/home 29

    https://riptutorial.com/ru/odoo-8/topic/8152/%D0%BF%D0%BE%D0%BB%D1%8F--%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D0%B5-%D0%B2-odoo-8https://riptutorial.com/ru/odoo-8/topic/8152/%D0%BF%D0%BE%D0%BB%D1%8F--%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D0%B5-%D0%B2-odoo-8https://riptutorial.com/ru/odoo-8/topic/8152/%D0%BF%D0%BE%D0%BB%D1%8F--%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D0%B5-%D0%B2-odoo-8

  • глава 9: Создание автоматизированных функций для модели

    Вступление

    Нам часто нужно запускать некоторый код автоматически во время установки модуля. У этого есть много причин, например, настройка параметров модуля Sale для соответствия нашим требованиям проекта.

    В этом разделе вы узнаете, как выполнять автоматическую функцию при установке модуля.

    Examples

    Прежде всего вам нужно создать xml-файл для вызова функции функции

    Этот простой файл XML является называют _configure_sales функции от MODEL_NAME модели.

    ПРИМЕЧАНИЕ. Этот XML-файл должен находиться в верхней части массива data , потому что Odoo является файлом processiong xml сверху вниз.

    Соответствующий файл Python

    class *model_name*(models.Model): _name = *model_name* @api.model def _configure_sales(self): # Do the configuration here

    Каждый раз, когда модуль будет установлен, эта функция будет работать.

    Примечание. Если вы удалите noupdate из xml, функция также будет запущена при обновлении.

    https://riptutorial.com/ru/home 30

  • Прочитайте Создание автоматизированных функций для модели онлайн: https://riptutorial.com/ru/odoo-8/topic/10633/создание-автоматизированных-функций-для-модели

    https://riptutorial.com/ru/home 31

    https://riptutorial.com/ru/odoo-8/topic/10633/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8https://riptutorial.com/ru/odoo-8/topic/10633/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8https://riptutorial.com/ru/odoo-8/topic/10633/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8

  • кредиты

    S. No

    Главы Contributors

    1Начало работы с odoo-8

    4444, Community, danidee, T.V.

    2

    RPC с использованием API-интерфейса Odoo v8 (функция вызова Python из JavaScript)

    T.V.

    3Добавить файлы CSS и Javascript в модуль Odoo

    George Daramouskas, T.V.

    4Как активировать режим OpenERP Developer

    AKHIL MATHEW, Emipro Technologies Pvt. Ltd., Gopakumar N G, Mehedi Hasan

    5Каковы методы и детали ОРМ?

    AKHIL MATHEW, Mani

    6Настройка электронной почты - Office 365 в Odoo

    Don Chakkappan

    7Пользовательские виджеты для полей

    T.V.

    8Поля, используемые в Odoo 8

    AKHIL MATHEW

    9Создание автоматизированных функций для модели

    Dachi Darchiashvili

    https://riptutorial.com/ru/home 32

    https://riptutorial.com/ru/contributor/1464444/4444https://riptutorial.com/ru/contributor/-1/communityhttps://riptutorial.com/ru/contributor/3734244/danideehttps://riptutorial.com/ru/contributor/6483386/t-v-https://riptutorial.com/ru/contributor/6483386/t-v-https://riptutorial.com/ru/contributor/2583086/george-daramouskashttps://riptutorial.com/ru/contributor/6483386/t-v-https://riptutorial.com/ru/contributor/5424153/akhil-mathewhttps://riptutorial.com/ru/contributor/4093735/emipro-technologies-pvt--ltd-https://riptutorial.com/ru/contributor/2341993/gopakumar-n-ghttps://riptutorial.com/ru/contributor/2341993/gopakumar-n-ghttps://riptutorial.com/ru/contributor/2176115/mehedi-hasanhttps://riptutorial.com/ru/contributor/5424153/akhil-mathewhttps://riptutorial.com/ru/contributor/4178767/manihttps://riptutorial.com/ru/contributor/2221895/don-chakkappanhttps://riptutorial.com/ru/contributor/6483386/t-v-https://riptutorial.com/ru/contributor/5424153/akhil-mathewhttps://riptutorial.com/ru/contributor/6048944/dachi-darchiashvili

    Окологлава 1: Начало работы с odoo-8замечанияВерсииExamplesНастроить

    Конфигурация:Что такое Оду?

    глава 2: RPC с использованием API-интерфейса Odoo v8 (функция вызова Python из JavaScript)замечанияExamplesПример модели Odoo для вызова методов изПримеры RPC Odoo

    глава 3: Добавить файлы CSS и Javascript в модуль OdooСинтаксиспараметрызамечанияExamplesХраните файлы CSS и JS правильно в модуле OdooВариант 1: [BACKEND] Добавить файлы CSS и Javascript для использования на внутренних страницахВариант 2: [FRONTEND] Добавить файлы CSS и Javascript для использования на общедоступном веб-сайтеВариант 3: [COMMON] Добавить файлы CSS и Javascript для использования на всех страницах (backend & frontend)

    глава 4: Как активировать режим OpenERP DeveloperзамечанияExamplesАктивировать режим разработчикаАктивация режима разработчика в Odoo 8Активировать режим разработчика в Odoo 10

    глава 5: Каковы методы и детали ОРМ?замечанияExamplesРазличные типы методов ORM

    глава 6: Настройка электронной почты - Office 365 в OdooExamplesНастройка электронной почты

    глава 7: Пользовательские виджеты для полейзамечанияExamplesПользовательский виджет для числовых полей для использования в TreeView

    глава 8: Поля, используемые в Odoo 8ВступлениепараметрызамечанияExamplesПримеры полей Odoo 8

    глава 9: Создание автоматизированных функций для моделиВступлениеExamplesПрежде всего вам нужно создать xml-файл для вызова функции функцииСоответствующий файл Python

    кредиты