Friday, 2 November 2012

MassEditing Feature in OpenERP by Serpent Consulting Services!

Hello OpenERP Community,

As it is said by someone,’Never Leave a chance to Thank anyone’. Let SerpentCS take a privilege to thank the OpenERP community for keeping the world of OpenSource Alive.

Here we represent one of the most useful features in ERPs, called Mass Editing. The aim is simply to edit/remove some values of more than one records at the same time, on the fly.

By the time we are typing this, hopefully should have the module called ‘mass_editing’ as we name it. The complete video is available to see at Youtube.

Few Screens:

1. Mass Editing Menu Location
SerpentCS OpenERP

2. Mass Editing Config

3. Mass Editing Action

4. Mass Editing Screen

The module is 6.0 compatible too as we believe in same treatment to everyone. I have not tested with 5.0 personally, but I am sure of this module to work on 5.0 too. Needless to say, this is 6.1+ compatible originally.

You might download the code from:
1. Extra Addons 6.0
2. Extra Addons Trunk(as on date, its trunk)
3. Community Addons

Any feedback/suggestion/queries are welcomed at

Many Thanks,

Serpent Consulting Services.

My Journey of Python, OpenSource, OpenERP moves onto the 6th year : Jay Vora

The clock ticks and moves on, doesn't really stop atleast for a second! Why would it ? I know very well that it does not tick only for me, so sticks on ticking on and just while you reading this, it had already moved few more seconds.

Naturally, when some one becomes a little idle or tired or goes to sleep, one becomes a little nostalgic, refreshes the day spent and remembers whether its anyone's birthday today or something special related to the current date.

And yes, here it comes my turn and its September 10, 2012 and it shows that I have completed 5 years. OF??? yes, 10 sep 2007 is the date ever since I came to know about OpenSource, Python and OpenERP. It is to mention that it too was a Monday. I am quickly moved to my laptop now and sharing my old memories and having a pleasure to thanks to the builders of the career so far. Well yes, NEVER LEAVE A CHANCE TO THANK ANYONE. I am here to thank to the names you will read below.

By the time I write this, I am into the old times 5 years back while I was just a fresher and working for Anish Information Technology,working on Microsoft Technologies (now acquired by Thomson Reuters). On one usual day or better to say as a part of routine I went for a usual meet to my close friend Akash Oza(It does not happen now a days more often as we are busy in our married lives, he is legally married and I am to Serpent Consulting Services). While having a usual talk, I happen to discuss with his elder brother Navrang Oza, the owner of IntellectSeed Technologies about his current job and I was impressed by the discussion in which he talked about a new concept, new technology and about new opening into the firm TinyERP India Pvt. Ltd. run under the Belgian label led by Mantavya Gajjar.

I kept in my mind that doesn't matter whatever happens, I am going to take this new challenge. Interesting to share that I had my current salary X and my new salary if I take the job was gonna be 20% less, yes you read it right, TWENTY % less !!! Which dumb and blind fresher will take this decision, and I was Qualified enough to label these tags and took the decision for the sacrifice of Money to get a new challenge to know about.

I decided and met once again to Navrang and Dharmesh Rathod, the Managing Director of Axelor India.  I knew few more things about python,future and about the job. Then with the grace of Luck, Navrang introduced me to Mantavya who was/is the director of TinyERP India Pvt. Ltd. He powered me with the opportunities and gave a glimpse of the environment to work on and the future. I then honestly asked them about the background I would need to have to be qualified for the job, they helped me understand the concepts of MVC, OOPs being used in the technology and boosted me for the next coming thing!

I sent the resume and was given a date for the interview. I was interviewed by Hardik Joshi, the Manager and Husen Daudi, the Support Leader. ( Later on Husen sir told me that I was neither selected nor rejected by any of the two interviewers, was just put in pending state. Was later recommended by the names mentioned above and now into the team... Mixed feelings )

I was selected and joined the team of TinyERP Technical architects from 10 sep 2007 (really they were/are/will be) which includes Miss Dhara Shah, Mr. Dhaval Patel, Mr. Husen Daudi, Mr Pritesh Modi, Mr. Hardik Joshi, Mrs. Kundan Patel,Mr. Mustufa Rangwala, Mr. Harshad Modi, Mr. Harsh Kohli and Mr. Ashishsingh Bhatia. I got the offer letter from Mrs. Anar Patel, one of the very confident, strong and powerful ladies I've ever met.

DO What you LOVE and LOVE what you DO. Within the span of 15 days I learnt Technical basics and started working on the OpenSource ERP Called TinyERP (is now called OpenERP). I am still learning and working on it. Learning always has to be a continuous process. If you don't be a student, you cannot make a progress!

Thanks to everyone including the personnels mentioned who have come aroud my journey and yes its ON! You are the builders and all credits go to you!

You bless yourself,

Jay Vora.

OpenERP : Parent_left and parent_right explained!


By the time we are typing this down(1 AM crossing soon), Husen and Jay have been delivering Remote Training of the month and this has given us an idea to share a very nice topic which has been a ‘What’ for many.

It has been a busy set of months as have been busy managing Trainings. It is to share that we just finished July 2012 and preparing for the overwhelming response for Aug 2012 OpenERP Training in India.

I understand you might have a hard time understanding what is all about parent_left and parent_right!

Had you seen the code for account.account and product.category, you would better know what it looks like and what’s the importance! Basically, they have been added for faster execution of search call when you have lots of records on these models. In short, you can count them the agents of binary search!

The parent_left and parent_right are 2 special fields that are related to the parent_id field. The purpose of those fields is to make queries within the hierarchy execute efficiently: with parent_left and parent_right, you can retrieve all the descendants of a node without making recursive queries.

Consider two nodes A and B in the hierarchy. A and B can be partner categories, for instance. Their integer fields parent_left and parent_right are such that:
B is a descendant of A in the hierarchy (defined by parent_id)
if and only if

left < B.parent_left, B.parent_right and B.parent_left, B.parent_right < A.parent_right

So, imagine that you have six partner categories like below. You can assign parent_left and parent_right by traversing the tree. The result is show in parentheses next to each node. Note that the values there are optimal; in practice, you can leave gaps in the numbers.
- Customers (1, 10)
  – Consumers (2, 3)
  – Partners (4, 9)
  – Basic Partners (5, 6)
  – Gold Partners (7, 8)
- Suppliers (11, 12)

You can retrieve all the subcategories of Customers with a single SQL query. Note that the values 1 and 10 are the parent_left and parent_right of Customers; they can be retrieved as part of the query itself.

SELECT id FROM partner_category
WHERE parent_left > 1 AND parent_left < 10

The last remark is that parent_left and parent_right can be updated without traversing the whole hierarchy. Removing a node does not require any change.

For adding a node, you can adapt the parent_left and parent_right with two UPDATE queries: one to “make some space” between the parent_left and parent_right of the node’s ascendants, and one to shift the parent_left and parent_right of all the nodes “at the right” of the new position. So parent_left and parent_right can be maintained efficiently.

I hope this helps understanding how they work.

Serpent Consulting Services.

Idea : From the questions of many programmers!
Reference : Own study, understanding.
Contents : Thanks to Launchpad for some good contents.

If you face issues on them, having your records imported by CSV:
To fix on your db:
alter table account_account drop parent_left;
alter table account_account drop parent_right;
and restart the server with –update=account.

Tryton : DB Creation, Module installation, Company Config, Google map!

Hello Everyone,

Tryton as you might know already is an OpenSource ERP, a form of OpenERP. Tryton is a three-tiers high-level general purpose application platform under the license GPL-3 written in Python and using PostgreSQL as database engine.
It is the core base of a complete business solution providing modularity, scalability and security.

Tryton Core

The core of Tryton (also called Tryton kernel) provides all the necessary functionalities for a complete application framework: data persistence, extensive modularity, users management (authentication, fine grained control for data access, handling of concurrent access of resources), workflow and report engines, web services and internationalisation. Thus constituting a complete application platform which can be used for any relevant purpose.

Base Modules

Currently, the main modules available for Tryton cover the following fields of activity:
  • Accounting
  • Invoicing
  • Sale Management
  • Purchase Management
  • Analytic Accounting
  • Inventory Management
They establish a sane base and an easy to use abstraction of some of the key concepts for every business customization.
Since a few months,  I have been observing a good participation on Tryton google group, which is a good sign for Tryton.
Let us introduce a basics : Database Creation, Module Installation, Company Configuration and Google maps!
We will add the post for Tryton Installation very soon.

 Create A New Database:-
  1. To create new database you will go to  File Menu at the top of the Tryton screen then go to Database and Create New Database.
This will create new database in Tryton. Above screen describe that you will change Server Connection which you want and enter  Tryton server Password,Database Name,Default Language, Admin Password and Confirm Admin Password and then click on Create button and new database is create.

    2.  When new database create it will display Module Configuration Wizard first which  describe that you configure installation depending on module.

When you click on OK button it will display second Add User screen which describe that you will add New User in Tryton.

When you click on OK button it will display Configure User screen in which you will enter new User Name.
  • Active which is describe that user is currently active or not.
  • Login which describe that enter login name.
  • Password is login password.
  • Email Id is user email id,Google Map button which show you address of user.
  • Actions that will be run at login.
  • You can also give Access right to new created user and  Preferences in which you will selected Language and Time Zone. 
  • Click on Add button it will create or add new user.

Configure Company Module In Tryton:-
  1. After create new database below screen display to you in which first only one menu display that is Administration.
To configure Company Module you will go to Administration-->Modules-->Modules.

  2. When you click on modules  menu it will show you all module list in which you find company module and click on that module.

When you configure company module you will click on the Mark for Installation button.
   3. After you click on Mark for Installation button you will upgrade that  company module from go to Administration --> Modules --> Perform Pending Installation/Upgrade or click on Launch Action button above the Filter Search Box . 
  1. When you click on the Perform Pending Installation/Upgrade it will show you below screen and you click on Start Upgrade button to start upgrade the company module.

Above screen describe that there are four modules in modules to update means Party,Currency and Country modules which depend on Company module so that modules install automatically when you install company module.
5. After install module successfully you will create new company form Party --> Configuration --> Companies --> companies and you can create new company.

Here google maps button available click on that button and it will show you address of the company.

So, we hope that this has helped you serving your aim.
Naitik Mehta,