Filmmaker, Video Editor, Motion Graphics Designer, and Photographer in Cairo, Egypt.
Keeping notes to remember.. You may consider it some sort of Documentation.

Stay In Touch

Thursday, October 15, 2009

Powerful Managers Understand These Two Concepts


Leaders need to become much better at getting more done with less. And, if those managers don’t change their ways, fewer people will stay with them. And their results will continue to decline. That, of course, will create more failing people and companies.

Unless you enjoy working at a place which seems to define success as simply not failing one year at a time, I suggest you learn to embrace these two concepts:

# Power is not the same as force
There’s a real difference between power and force but it’s widely misunderstood. Consequently, when times get tough, in an effort to get more productivity with fewer players, most managers simply try to push their teams ever harder. It’s kind of like trying to break your dog of a bad habit by using a whip – it’ll work for a while but at some stage the law of diminishing returns kicks in. And you may end up getting bitten!!

People appreciate being asked for their advice. Especially if the manager is sincere about using it. Team members will give power to the boss if she or he doesn’t use it against them. And the boss will get much more done he’s are on the employee’s side than would be the case by simply trying to force his decisions downward.

# The real organization's quality
You can tell the quality of an organization by those who are leaving it, not those who are joining it. Even in difficult situations, good managers can recruit and hire high-quality players to boost the performance of their team through the use of money or other perks. This can mislead the manager into thinking all is well (or at least that things will get better) with the new players on board.

In an environment where the contribution of everyone is paramount, watch carefully to see who is leaving on her own volition. Sick organizations have a way of causing the good players to bail out even if they’ve been told they’re being kept on during downsizing or difficult times. The result is that the new players who are recruited end up joining a team of losers and don’t make the hoped-for contribution.

Reference:
http://blogs.techrepublic.com.com/tech-manager/?p=346&tag=rbxccnbtr1

Sunday, October 11, 2009

Activate "Confirm Order" Button in OpenERP


Problem:
I was trying to create a user in my OpenERP system who has the privileged to confirm sales orders. The problem I faced is that I can't make the "Confirm order" button active for my user!! This button is active ONLY for Admin.

So how to activate that button??

Solution:
Certain buttons like the "Confirm Invoice" etc have roles associated with them. These buttons will not be enabled (grayed out) in the GTK client.
Just go to the user configuration in Administration and the give the user privileges for the required role (simply add the role to his list of roles).

Something to say:
I've spent over than two weeks trying to figure the solution out!!

So, many and special thanks to Sharoon Thomas for his astonishing fast-response!

And special thanks to Eng Ahmed and Abeer for their unbounded stream of support and Chocolate :)

Thursday, October 8, 2009

Manage Sales Order in OpenERP 5.0.3


Step#0: Pre-Requirements:
- products module is already installed, and some products and partners (Customers and Suppliers) are defined in the system.

Hint:

All the coming process are done with the "Administrator" user. That's why everything is accessible.

Step#1: Install Necessary Modules:
To manage the sales orders, you'd need to install the following modules:
- sale: Sale Management
- stock
: Stock Management

Step#2: Create Sale Order:

- From the menu: Sales Management> Sales Order, click the New Quotation sub-menu.
- This will open a new form for the new order.
- At the New Quotation form, insert the necessary information of the order.
- After selecting the product(s) to be sold and its quantity, click the Confirm Order button.
- This will change the order state from "Quotation" to "In Progress".

Step#3: Check The Stock:

- From the menu: Stock Management> Outgoing Products, click Confirmed Picking Waiting Availability sub-menu
- This will show a list of all waiting quotation orders, to be checked if they are available at the stock or not.
- Click on your latest quotation order to open it.
- The order form will be opened in a reed-only mod, with three buttons at the bottom.
- To check the stock click the "Check Availability" button, or "Force Availability" to force proceeding the order even if the quantity is not available at the stock.
- This will change the order state from "In Progress" to "Available", the "Check Availability" button & "Force Availability" buttons will be replaced by "picking Don" button.
- Now the "virtual stock" will be minimized with the ordered quantity, while the real stock will still as it is.
- When the customer pick the order, click the "Picked Done" button.
- This will change the state from "Available" to "Done".

Very Important Hint:
Earlier user manuals and functional books that talk about OpenERP 4.0.0+, would mention something about "Inventory Control" menu; "Inventory Control" of earlier versions have been changed to "Stock Management" in OpenERP 5.0.3+

Step#4: Creating & Paying Order Invoice:
- From the same form, click the "Create invoice" button that's on the right-hand-side of the form.
- Set the invoice configuration as it should be (according to your business rules).
- This will automatically redirect you to Draft Customer Invoices form, with a list of all draft invoices in your system. Or, you can view it from the main menu Financial Management> Invoices> Customers Invoices> Draft Customer Invoices.
Click on the invoice you had just created to be opened.
- Now you may send a copy to your customer by clicking the "PRO-FORMA" button.
- To create the the invoice click "Create" button. This will change the invoice state from "Draft" to "Open".
- To pay the invoice, click the "Pay invoice" button on the right-hand-side menu.
- Fill the required fields according to your business rules. Then choose "Full Payment" or "Partial Payment" as the situation requires.
- When the invoice if fully payed, its status changes automatically from "Open" to "Done".
- Now the sale order is ordered, picked, and payed.. Thanks to Allah :)

Some Related links:
https://answers.launchpad.net/openerp/+question/81481
http://doc.openerp.com/book/1/1_3_Real_Case/1_3_Real_Case_testing_wf.html#from-sales-proposal-to-sales-order
http://doc.openerp.com/book/3/3_7/invoicing.html

Translate OpenERP Modules


# At the server side, in each module folder there exist its own .po file that contains its own translation

# To add translation to module(s):
- From the main menu click Administration> Translation> Import/Export> Export a Translation File.
- Choose the default language "English", and choose the file format to be a .CSV file
- Click the "Add" button to select the module(s) you want to translate.
- Then click "Get file" button
- This will give you a .CSV file with all objects/views/cods/buttons/etc that are related to the module(s) you picked.
- Now you may convert this .CSV to a .XLS file for edit-ability & readability (I don't know if Microsoft Excel could do this or not?! I'll check this later. meanwhile, you may try a converter).
- When you open this file, the first row shows the name of each field. You'll add your translation under the "value" column.
- Finally, reconvert the .XLS file to a .CSV.
- Import your updated file to your the desired DB through Administration> Translation> Import/Export> Import a Translation File.
- From the "User" menu, click "Preferences".
- Choose your recently imported language.
- Re-login to your system to see the change.

Hints:
- Most probably, you wouldn't translate each and every row in the exported .CSV file. So, you could delete rows that you wouldn't translate.
- Make sure that rows in the imported .CSV are separated by a comma and a newline.

Related links:

Tuesday, October 6, 2009

Add Access Control to OpenERP Objects



I've started exploring, learning, and developing in OpenERP since last August. One of the most annoying things I found in it is its so bad documentation. Thus I thought I should add some documentation about it here, with some hints and tips about mistakes, errors, and bugs I faced with it.

So please.. Enjoy :)
********************
To add security privilege to users on your OpenERP version 5.0.3+ system, follow those three steps:

Step #1: Create New Users

- Go to Administration> Users> Users
- Click "New"
- Fill the required fields about your new user. Important attributes for user are:
# Name: The user name that will appear at the user screen, and some reports.
# Login: The user's loging.
# Password: The user password.
# Home Action: Determine the desired menu that will appear once the user login to the system.

********************
Step #2: Create New Group

- Go to Administration> Users> Groups
- Click "New"
- Define "Group Name" and "Users" associate with this group
- Click the "Menus"
- Select the menus that the user has the right to access
- Select the "Access Rights" tab, and define the access rights for each object

Hint:
Some menus are accessible for all system users by default. To change this you need to define that "this" menu is accessible for "that" group.

********************
Step #3: Create New Rules

- Go to Administration> Security> Record Rules
- Click "New"
- Select the "Object" to add conditions on it
- Add the "Test" to be checked by clicking on the "create New Record" button
- Set the rule to be applied on the object you choose
- Mark the "Global" check-box in case you want to make this rule public for all users.

Hint:
You'll need to make rules if there's an "object" that you want it to be accessible for the group users under some conditions.