Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Merge chatter messages in two modules (Sales and Project task)

Subscribe

Get notified when there's activity on this post

This question has been flagged
automatedactionsmessageschatter
3 Replies
3374 Views
Avatar
Peter Jonsson

I am in need of merging messages in sale order with associated project task and i would like to do this using automated action. Does someone have an idea on how to achieve this? I'm on Odoo 14.


Thanks

Peter


1
Avatar
Discard
Avatar
Yaroslav Lyusikov
Best Answer

Hi Peter,

  1. Create new Automated Action.
  2. Model = Message
  3. Trigger = On Creation.
  4. Action To Do = Execute Python Code.
  5. Enter the code: 
if record.model == 'sale.order':
sale_order = env['sale.order'].browse(record.res_id)
for task in env['project.task'].search([('sale_line_id', 'in', sale_order.order_line.ids)]):
task.message_post(body=record.body)

This script checks if the new message is linked to a sale order.

If it is, it gets the sale order and finds the associated project tasks by searching the project.task model for tasks related to the order lines in the sale order.

Then it posts the new message on each of these tasks (there may be many tasks related to one sale order).

_______________________

OR you can restrict domain on the form of Automated action and leave the code without 

if record.model == 'sale.order':

__________________________________

Also note that the system creates a new letter in the project task by simply copying the text from the sale order message. And this means that if the task and the sale order have the same users in the followers, then such followers will receive duplicates of the original letter.

__________________________________
Please add more business context next time)

2
Avatar
Discard
Peter Jonsson
Author

Many Thanks Yaroslav! This is exactly what i was looking for and it works just the way i need it to.

I´m sorry if i was a bit short in my question about the use case. We work with services and each order line on a sales order creates a task in project. Mainly the communication with the customer is made from sales, but the information needs to pass over to task department.
It is not a problem that the complete message history are tracked in each of the corresponding tasks, it still serves its purpose. I understand what you mean with the followers getting duplicates and maybe i´ll have to handle this further on.

What if i want to do the opposite, pass information from task to sales order? Would it be possible to merge tasks messages into one sales order? So that when a sales person communicates with a customer, they also have a complete service history from our technicians.

Many thanks and regards
Peter

Yaroslav Lyusikov

Peter, I'm glad the automatic action worked the way you wanted.
But I don't like your second idea, because you want to trigger automatic message creation in the Task, which should trigger automatic message creation in the Sales Order and so on infinitely.
This is not necessarily a blocker in general, for example you can check if the message is created by an actual user and not the system itself ( if record.create_uid.id != 1: ):

if record.model == 'sale.order':
sale_order = env['sale.order'].browse(record.res_id)
if record.create_uid.id != 1:
for task in env['project.task'].search([('sale_line_id', 'in', sale_order.order_line.ids)]):
task.message_post(body=record.body)

but I advise you to contact Odoo partners for more complex solutions.

Peter Jonsson
Author

I understand what you are saying.

I have been looking for some apps that could achieve this more advanced solution but without success. I might leave it as a one way communication channel for the moment and bring it up with my Odoo partner later on.

Your solution is beautiful and of great help to me! Many thanks Yaroslav!

//Peter

Avatar
Peter Jonsson
Author Best Answer

I understand what you are saying. 

I have been looking for some apps that could achieve this more advanced solution but without success. I might leave it as a one way communication channel for the moment and bring it up with my Odoo partner later on. 

Your solution is beautiful and of great help to me! Many thanks Yaroslav!


//Peter

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Code automated actions for custom Sale Order sequences in Odoo 12
automated actions
Avatar
Avatar
1
Feb 21
5502
Automated Actions : Created Product Name automatically and internal reference automatically
automated actions
Avatar
Avatar
3
Jun 20
6041
Automated actions - creating directories (v13)
automated actions
Avatar
0
Jun 20
3618
How to set automated action to inactive a user on cretin date ?
automated actions
Avatar
0
Feb 16
4772
Warnings in automated actions
automated actions warning
Avatar
0
Aug 23
4744
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة 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 ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

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