Динамический домен для поля Many2one

Коллеги, подскажите, как навесить вычисляемый домен в таком случае:

В Odoo 8 есть сущность «Договор», в которой
1. Указан «Поставщик» — ссылка на сущность «Партнер»
2. Есть поле «Ответственный со стороны поставщика» — ссылка на сущность «Контакт»

«Партнер» и «Контакт» связаны Many2Many

Нужно, чтобы в поле «Ответственный со стороны поставщика», в лукапе показывались только те контакты, которые связаны с указанным поставщиком.

Пробовал писать в модели сущности «Договор»:

	@api.onchange('vendor_id')
	def onchange_vendor(self):
		res = {}
		if self.vendor_id:
			vendor_contact_ids = self.vendor_id.contact_ids.mapped('id')
			res['domain'] = {'vendcontact_id': [('id', 'in', vendor_contact_ids)]}
		else:
			res['domain'] = {'vendcontact_id': [('id', 'in', [])]

		return res

Этот метод срабатывает только при создании нового договора или при изменении поля «Поставщик». Как быть в случае, когда форма уже существующего договора открывается на редактирование, но пользователь не трогает поле «Поставщик»?

Ищу работу по разработке приложений на odoo.

Мои модули на odoo apps
apps.odoo.com/apps/modules/browse?search=shursh
Гитхаб
github.com/shurshilov/odoo/tree/11.0
github.com/shurshilov/odoo/tree/10.0
github.com/shurshilov/odoo/tree/9.0
github.com/shurshilov/odoo/tree/8.0
github.com/shurshilov/Tabel

Нахожусь в г. Москва. Желательно удаленная работа.
ПОЧТА
shurshilov.a@yandex.ru

Видео: Склад и производство в Odoo 9.0

Я работаю в отросли по производству электронных устройств. И у нас стоит проблема организации склада и производства. Недавно начал думать как навести порядок в этом деле и узнал, что существуют ERP-системы. Платные системы я сразу отмел, как большой поклонник опенсорса. Попробовал установить несколько систем, и Odoo в этом плане оказалась самой простой. Потом я постарался разобраться в складе и производстве и сделал видео для своих коллег. Прошу сообщество оценить это видео, все ли там в порядке? Прошу сильно не бить, потому что это мое первое видео, в котором я говорю и показываю одновременно. Может быть новичкам оно окажется полезным.

Приглашение к дискуссии. О продвижении и употреблении Odoo для бизнеса

С моей точки зрения сайт Odoo-Russia.ru как компактное сообщество энтузиастов Open Source и интересующихся не вполне использует возможность пропаганды и активного продвижения Odoo. Не думаю, что тематика сайта сознательно ограничена лишь техническими вопросами. И в этом тексте я попытаюсь перенести фокус обсуждения в плоскость употребления и использования Odoo под реальные потребности бизнеса.

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

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

Для начала предложу отказаться от одного стереотипа: «без российского плана счетов, форм и бланков Odoo никому не нужен».

Читать дальше →

Документация Odoo (OpenERP)

Документация по Odoo (OpenERP) всегда была недостаточно хороша. В основном это происходит по причине слишком быстрого развития проекта. TinyERP быстро эволюционировала в OpenERP и сейчас в Odoo. В данный момент команда Odoo решает, как правильно распределить ресурсы разработчиков: улучшить взаимодействие пользователей с Odoo, сделав его максимально интуитивным или работать над документацией, которая в этом случае должна быть практически полностью переписана с нуля каждый год, когда выходит новая версия.

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

  • Руководство разработчика
  • Руководство дизайнера
  • Справочник разработчика
  • Руководство по использованию нового API

Так сообщество Odoo и различные разработчики пришли/должны придти на помощь для достижения успеха.

Так какие ресурсы уже доступны в сети?

Читать дальше →

Русский перевод Odoo 8.0

Дорогое сообщество Odoo хочу вам предложить некоторые уже готовые наработки по переводу. Я сам в своей работе использую Odoo и за собственный счет сделал перевод почти всех модулей Odoo 8.0. Еще осталась бухгалтерия и склад. Доступ где ведется перевод здесь translate.starlight-biz.com Ресурс закрыл но перевод остался смотрите ниже.

Сейчас можно скачать текущий пакет перевода отсюда.

Но есть одна проблема. В одном из модулей (диапазон модулей где возможно произошла ошибка есть) где то не правильный формат перевода. И по этому у меня выпадает ошибка при нажатии в русской версии на пункте меню Настройки- Общие настройки такая ошибка
Uncaught Error: Invalid XML: <form string="Общие настройки" class="oe_form_configuration"><header><button string="Применить" type="object" name="execute" class="oe_highlight"/>.......


Не все сюда вывел но смысл понятен, где то нарушена разметка страницы.

Я готов закончить перевод полностью и откорректировать термины, но вот эти оплошности перевода нужно постараться найти и исправить. Прошу вас присоеденится к этому. Все кто заинтересован, можете скачать перевод, использовать его и дать обратную связь, где и что исправить и может найдете ошибку. Буду очень признателен, и спасибо тем кто присоеденится!

После обновления языков этих модулей у меня вылезла ошибка, что описал выше.
hr_gamification
marketing_campaign
marketing_crm
mass_mailing
product
product_email_template
product_expiry
product_extended
product_margin
report
report_webkit
edi
event_sale
fetchmail
fleet
gamification
gamification_sale_crm
google_calendar
google_drive
l10n_multilang
note

Наследование sale.order в Odoo 8

Имеется Odoo (OpenERP) 8.
Нужно добавить поле в sale.order

Вот так:
from openerp import models, fields

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

    description = fields.Char(default="Some text")


На что odoo ругается следующим образом:


<ERROR sandbox werkzeug: Error on request:

Закладка с PriceList в Продуктах

Price List — формирования цены / odoo 8.0

В модуле Pricelist можно формировать цены. Нас интересует зависиместь цены от количества.

Для примера добим три продукта.
(Warehouse -> Product)

Maketesana A4 — Ед.изм. = unit — Цена ставиться в Product-Product за единицу.
Izciršana 2 — Ед.изм. = blank — Цена ставиться в PriceListe зависит от заготовок.
Salimešana — Ед.изм. = circulation Цена ставиться в PriceListe зависит от тиража.

Количество от большего к меньшему, регулируется последовательностью(sequances), тогда система проверяет количества в PriceListe при продажи и ставит соответствующую цену.

Salimešana — Ед.изм. = circulation — Цена ставиться в PriceListe зависит от тиража.
1500 — 0.0441
1250 — 0.0464
1500 — 0.0488

897 3-cir-1500 [3] Salimešana 1 shov 1500 Public Price
898 3-cir-1250 [3] Salimešana 1 shov 1250 Public Price
899 3-cir-1000 [3] Salimešana 1 shov 1000 Public Price

Но если все это добавлять в PriceList Versions – получается не удобно.

Module Pricelist_tab – закладка Prices продуктах

В закладке мы можем видеть в каких Праислистах участвует продукт.
Праислист может быть назначен продукту и категории.

Прямо из Продуктов можно добавлять цены.

Wizard Add Price for circulation and blanks

[[Circulation-Blank]] — Тираж и Заготовки

Circulation

seq rule name price_version min_quan

80 от 1500 — до 1750 cir. Manufacture ver.1.0 1500
90 от 1250 — до 1500 cir. Manufacture ver.1.0 1250
100 от 1000 — до 1250 cir. Manufacture ver.1.0 1000

Кнопка / wizard. Которая позволит добавлять количества из шаблона. для тиража либо для заготовок.

На закладке (Prices) кнопка «Add Price». По нажатию кнопки открывается wizard окно. Выбираем версию Pricelist и тип(тираж или заготовки)
Жмём ок и добавляются записи от… до….
Остаётся только добавить цены к этим позициям.

Сами данные для шаблона лежат в Sale->Pricelists Tab->Res.ext Config