Перейти к содержимому
Odoo Меню
  • Войти
  • Попробовать бесплатно
  • Модули
    Финансы
    • Бухгалтерия
    • Выставление счетов
    • Расходы
    • Таблицы
    • Документооборот
    • Подпись
    Продажи
    • CRM
    • Продажи
    • POS Магазин
    • POS Ресторан
    • Подписки
    • Аренда
    Вебсайты
    • Конструктор вебсайтов
    • eCommerce
    • Блог
    • Форум
    • Онлайн-чат
    • Электронное обучение
    Логистика
    • Склад
    • Производство
    • PLM
    • Закупки
    • Обслуживание
    • Качество
    Отдел кадров
    • Сотрудники
    • Подбор персонала
    • Отпуска
    • Оценка персонала
    • Реферальная программа
    • Автопарк
    Маркетинг
    • SMM
    • E-mail рассылки
    • СМС рассылки
    • Мероприятия
    • Автоматизация маркетинга
    • Опросы
    Услуги
    • Проекты
    • Табели
    • Выездной сервис
    • Поддержка
    • Планирование
    • Встречи
    Продуктивность
    • Обсуждения
    • Искусственный интеллект
    • IoT
    • VoIP-телефония
    • Knowledge
    • WhatsApp
    Сторонние приложения Модуль Студия Odoo Платформа Odoo Cloud
  • Индустрии
    Розничная торговля
    • Книжный магазин
    • Магазин одежды
    • Мебельный магазин
    • Продуктовый магазин
    • Строительный магазин
    • Магазин игрушек
    Гостинично-ресторанный бизнес
    • Бар и паб
    • Ресторан
    • Фастфуд
    • Гостевой дом
    • Дистрибьютор напитков
    • Отель
    Недвижимость
    • Агентство недвижимости
    • Архитектурное бюро
    • Строительство
    • Управление недвижимостью
    • Ландшафтный дизайн
    • Товарищество собственников жилья
    Консалтинг
    • Бухгалтерская фирма
    • Партнер Odoo
    • Маркетинговое агентство
    • Юридическая фирма
    • Подбор персонала
    • Аудиторское бюро
    Производство
    • Текстиль
    • Металл
    • Мебель
    • Продукты питания
    • Пивоварня
    • Корпоративные сувениры
    Здоровье и фитнес
    • Спортивный комплекс
    • Магазин оптики
    • Фитнес-клуб
    • Велнес-центр
    • Аптека
    • Салон красоты
    Услуги
    • Специалист по бытовым услугам
    • Продажа и обслуживание IT-оборудования
    • Солнечные энергосистемы
    • Производство обуви
    • Клининг
    • Системы ОВКВ
    Прочее
    • Некоммерческая организация
    • Консалтинг в сфере устойчивого развития
    • Аренда рекламных щитов
    • Бизнес по фотосъемке
    • Прокат велосипедов
    • Реселлер программного обеспечения
    Все индустрии
  • Community
    Обучение
    • Видео уроки
    • Документация
    • Сертификация
    • Тренинг
    • Блог
    • Подкаст
    Образование и развитие
    • Образовательная программа
    • Деловая игра Scale Up!
    • Экскурсия в офис Odoo
    ПО
    • Скачать
    • Сравнить версии
    • Релизы
    Сотрудничество
    • Github
    • Форум
    • Мероприятия
    • Перевод
    • Стать партнером
    • Услуги для партнеров
    • Зарегистрировать бухгалтерскую фирму
    Услуги
    • Найти партнера
    • Найти бухгалтера
    • Встреча с экспертом
    • Услуги по внедрению
    • Отзывы клиентов
    • Поддержка
    • Обновления
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Заказать демонстрацию
  • Цены
  • Поддержка
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Помощь

Issue with Displaying Partners (many2many) in Purchase Orders When Using Computed Fields (Odoo 18)

Подписаться

Получайте уведомления о появлении активности в этом посте

Этот вопрос был отмечен
storecomputecomputed-fieldsodoo18
2 Ответы
2838 Представления
Аватар
Vasilis Zartilas

Dear All,


I am trying to add a field in purchases to display all the Partners from the Sale Orders that are linked to the Purchase.


I have the following code, and I am facing an issue:


When I do not use “store=True“ the function works correctly and displays the partners. However, in order to save the Partners in Purchases that are not linked to any sale order (since I have a compute method in my field), I set “store=True“ but then the first case does not work.


In other words, when I do not use store, the function works correctly and the customer is displayed. However, when I set store, the function does not work, and the related partners do not appear, although the new partners are saved correctly in the Purchase.


What am I missing, and how can I fix this?

class PurchaseOrder(models.Model):
_inherit = 'purchase.order'

name_ids = fields.Many2many(comodel_name='res.partner',compute='_compute_customer_names',
string="Customers",store=True)

def _compute_customer_names(self):
for purchase in self:
sale_order_ids = purchase._get_sale_orders()
for sale_order in sale_order_ids:
purchase.name_ids = sale_order.partner_id
0
Аватар
Отменить
Аватар
Waleed Ali Mohsen
Лучший ответ

Hello,

if you want to store the field in DB with store =True result you must to to specify the dependencies on the compute method with the decorator depends()

Thanks.

1
Аватар
Отменить
Vasilis Zartilas
Автор

I had tried using 'depends()' as well, but it still didn't work.

Waleed Ali Mohsen

The value of a computed field usually depends on the values of other fields so you need to specify these fields in @api.depends() so if any of these fields in changed then the computed field will be recomputed again.

Waleed Ali Mohsen

If you added the property store=True to the field which already created, It will not be recomputed. Try to test it with creating a new purchase order after adding @api.depends()

Аватар
Cybrosys Techno Solutions Pvt.Ltd
Лучший ответ

Hi,


If you want to store a computed field in the database, the field must depend on one or more other fields (via @api.depends).

Try the following code


class PurchaseOrder(models.Model):
_inherit = 'purchase.order'

name_ids = fields.Many2many(comodel_name='res.partner',compute='_compute_customer_names',
string="Customers",store=True)

@api.depends('order_line.sale_order_id')
def _compute_customer_names(self):
for purchase in self:
sale_order_ids = purchase._get_sale_orders()
if sale_order_ids:
for sale_order in sale_order_ids:
purchase.name_ids = sale_order.partner_id
else:
purchase.name_ids = None

Hope it helps

0
Аватар
Отменить
Не оставайтесь в стороне – присоединяйтесь к обсуждению!

Создайте аккаунт сегодня, чтобы получить доступ к эксклюзивным функциям и стать частью нашего замечательного сообщества!

Регистрация
Похожие посты Ответы Просмотры Активность
Odoo does not update a stored value with a new value, it updates with the previous one
store computed-fields
Аватар
0
авг. 19
7371
compute issue Решено
compute computed-fields odoo12.0
Аватар
1
мая 21
5537
Compute Value not returning to field. Odoo 11 CE Решено
store compute odoo11community
Аватар
Аватар
2
июн. 20
8072
Compute Field Store
product store compute odoo 17
Аватар
Аватар
1
нояб. 24
2721
Studio compute field with condition
compute studio computed-fields Studio
Аватар
Аватар
Аватар
2
авг. 22
7436
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • Github
  • Runbot
  • Перевод
Услуги
  • Хостинг Odoo.sh
  • Поддержка
  • Обновление
  • Индивидуальные решения по доработке
  • Образование
  • Найти бухгалтера
  • Найти партнера
  • Стать партнером
О нас
  • Наша компания
  • Активы бренда
  • Cвяжитесь с нами
  • Вакансии
  • Мероприятия
  • Подкаст
  • Блог
  • Клиенты
  • Правовые документы • Конфиденциальность
  • Безопасность
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo – это набор бизнес-модулей с открытым исходным кодом, который закроет все потребности вашей компании: CRM, E-commerce, Бухгалтерия, Склад, POS, управление проектами и др.

Odoo сочетает в себе простоту использования и полную интеграцию всех бизнес-процессов в одной системе.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now