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

How to generate values when click a button?

Subscribe

Get notified when there's activity on this post

This question has been flagged
functioncreatebuttons
4 Replies
10916 Views
Avatar
Darius Martinkus

Hello,

Im trying to create a button with method when you click on it would create a new row with default values in the tree view maybe there is any examples that i could have a look?

I already got the button just strugling with the function.

Any examples and help would be appreaciated

Thank you,

1
Avatar
Discard
Ivan

Why not using the Add Item link? Make the tree view not readonly?

Darius Martinkus
Author

I mean yes add a link is a good example, but what im trying to do is generate lots of date when you click a button with predefined default values.

Ivan

Check the create_period method in odoo/odoo/addons/account/account.py. It is called from a button in view_account_fiscalyear_form view (odoo/addons/account/account_view.xml)

Ivan

And if you create without passing any value, it will use all default values.

Darius Martinkus
Author

Ivan thanks very good example!

Avatar
Ludo - 21South
Best Answer

If you simply want to create a record for any table (on API v7) you only need to call the create method and supply the required fields. For example, if you are on the view for sale orders and for some season you need to create a product, you could use following code:

product_obj = self.pool.get('product.product')

product_id = product_obj.create(cr, uid, {'name': 'My product'})

In this case, product only needs a name to be supplied in the function, but any other object needs to have a dictionary of required fields to be supplied. Of course this can also be used in a loop if you want to generate multiple entries. Something like so:

product_obj = self.pool.get('product.product')

names_list = ['item1', 'item2', 'item3']

for name in names_list:

    product_id = product_obj.create(cr, uid, {'name': name})

This is under the assumption that you use the ORM on Odoo v7. If you use the new API, creation is only slightly different.

1
Avatar
Discard
Avatar
Darius Martinkus
Author Best Answer

Thanks guys really helpful!


 

1
Avatar
Discard
Avatar
Temur
Best Answer

If you're looking for an example, there is one at page "Accounting/Configuration/Periods/Fiscal Years" when you create new fiscal year, there is two buttons "Create Monthly Periods" and "Create 3 Months Periods" with exactly same behavior as you're truing to implement. So you can take look and you'll get idea how to continue.

0
Avatar
Discard
Avatar
Vasanth
Best Answer

Try this :

You add this In py:

    _columns = {

        'id_no' : fields.char('id no', size=64),
}

    _defaults = {
        'id_no': lambda self,cr,uid,context={}: self.pool.get('ir.sequence').get(cr, uid, 'sequence_code'),
}

    def add(self, cr, uid, ids, context):
        vals = {}
        vals['id_no'] = 'Pre'+ids[0]
        self.create(cr, SUPERUSER_ID, vals, context)
        return True

 

In view:

<record>
----------
 <field name="id_no"/>
<button name="add" colspan="1" string="Add" type="object" />
</record>

<record id="seq_unique_id" model="ir.sequence.type">
<field name="name">my_sequence</field>
<field name="code">sequence_code</field>
</record>

<record id="seq_unique_id2" model="ir.sequence">
<field name="name">my_sequence</field>
<field name="code">sequence_code</field>
<field name="prefix">prefix</field>
<field name="padding">3</field>
</record>

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
Function to openERP python
function create
Avatar
Avatar
2
Apr 15
6030
Is it possible to choose the priority of an overload of a function ? Solved
function create inherit
Avatar
Avatar
2
Jul 25
5173
How do you change Create button? Solved
workflow create buttons
Avatar
Avatar
3
Jun 21
11928
write and create function Solved
function create write odoo8.0
Avatar
Avatar
Avatar
2
Jun 25
91163
Create button doesn't work Solved
treeview create buttons odoov11
Avatar
Avatar
Avatar
2
May 19
9353
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