Рубрики
Software

Odoo: отображение полей в view в зависимости от значения другого поля

Давно ничего не писал сюда. Крайне простое решение, которое часто требуется — отображение поля в зависимости от значения другого поля в вьюхе Odoo. Чтобы достичь этого, не нужно использовать JS. Можно обойтись прекрасными возможностями Odoo — attrs. Они позволяют нам изменять поведение поля на лету. В Odoo есть три атрибута, которые мы можем применить к […]

Рубрики
Software

Используем атрибут decoration-* в Odoo

В Odoo есть отличная функциональность, благодаря которой мы можем завдавать различные цвета в отображении объектов. Атрибут decoration-* в доступен только для двух view: Диаграмма Ганта (gannt): success, info, warning, danger и secondary. Список (list): bf, it, success, info, warning, danger, muted и primary. Какие есть цвета в Odoo? decoration-muted: светло-серый decoration-danger: ярко-красный decoration-success: ярко-зелёный decoration-primary: […]

Рубрики
Software

Odoo: при создании заказа убираем возможность создавать товары

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

Рубрики
Software

External dependencies в odoo

В одном из модулей для Odoo была необходимость доставать данные таблицы из PDF документа. Среди множества python библиотек по разбору текста из PDF мне понравилась tabula-py. На ее примере мы посмотрим, как правильно работать с внешними зависимостями в Odoo. external_dependencies В нашем модуле мы должны указать внешние зависимости в манифесте: Эти зависимости не будут установлены. […]

Рубрики
Software

Новый статус заказа в Odoo

На одном из проектов появилась необходимость добавить еще один статус к заказам (модель — sale.order). В Odoo это делается максимально быстро и удобно. Тут будет небольшой пример. Первым делом, добавляем к атрибуту state в модели sale.order нужное нам значение. Делается это через расширение модели и метод selection_add. В существующий список статусов заказа мы добавили новый […]

Рубрики
Software

Odoo: A partner is linked to only one visitor.

В Odoo замечен неприятный сюрприз, который уже исправили (issues/40077).Собственно, проблема в том, что если пользователь не заходил в систему более 7 дней, его учетная запись отключается в целях безопасности. Крайне неприятно когда такое случается в работающей системе, которая не была обновлена. Как решить проблему? Исправить ошибку без потери данных можно, подключившись в базе данных напрямую […]

Рубрики
Software

Odoo в контейнере. Как работать с PostgreSQL в контейнере?

Odoo использует для работы PostgreSQL. Если вы запускаете Odoo в контейнере, рано или поздно прийдется подключиться к базе данных напрямую. Как это сделать, показываю на примере: Первое — смотрим как называется контейнер с PostgreSQL. В нашем примере он называется просто db. В папке, в которой находиться docker-compose.yml выполняем команду: docker-compose exec db bash docker-compose exec […]

Рубрики
Software

FIX: PDF документы в ODOO генерируются без стилей

Столкнулся с проблемой на одном из проектов. При генерации PDF документа все стили слетали. Рассмотрим на примере стандартного шаблона для Quotations. Выглядело это так: Этот же отчет но в HTML: Как видим — все хорошо. Первым делом проверяем установлен ли wkhtmltopdf. Сделать это можно при помощи консольной команды: whereis wkhtmltopdf — покажет системный путь, например […]

Рубрики
Software

Принимаем POST запросы в Odoo

Типичная задача.Допустим, нам нужно принимать какие-то данные из внешнего источника, обрабатывать их и возвращать результат. Я не буду описывать всю логику, а сконцентрируюсь лишь на основных моментах при работе с контроллерами в Odoo. Как обычно, все делаем в отдельном модуле. Наш контроллер: Обратите внимание. Мы используем auth=’public’. Благодаря этому нам не нужна авторизация для доступа […]

Рубрики
Личные мысли

Словари в представлениях Odoo

Обнаружил, что при работе с Views в оду можно удобно получить значение из словаря. Для этого просто используем «_value». Например: Не нужно отправлять только dict.values(). Довольно простой и удобный способ.