Skip to content

OpenERP – ஓர் அறிமுகம்

May 20, 2013

openerp_logoகட்டற்ற மென்பொருளில் OpenERP என்பது ஓர் வணிக வள திட்டமிடல்(ERP) மென்பொருளாகும். இம்மென்பொருள் உற்பத்தி, ஏற்றுமதி இறக்குமதி, அறக்கட்டளை போன்ற அனைத்து வகையான வணிக நிறுவனங்களுக்கும் பொருந்தக்கூடிய ஒன்றாகும்.

இது இலவசமாக கிடைக்கக்கூடிய AGPL(GNU AFFERO GENERAL PUBLIC LICENSE) ஐ அடிப்படையாக கொண்டது.

OpenERP Timeline:

2002:ஆம் ஆண்டு ஃபேபியன் பின்க்ர்ஸ் (Fabian Pinckaers) என்பவர் கட்டற்ற மென்பொருள்களுக்கான வணிக வள திட்டமிடுல் (ERP) மென்பொருள் உருவாக்கினார்.

2004: Fabian Pinckaers பெல்ஜியம் நாட்டில் Tiny sprl என்ற நிறுவனத்தை உருவாக்கி TinyERP என்ற தனது முதல் வெளியீட்டை வெளியிட்டார். இம்மென்பொருளானது அனைத்து வாடிக்கையாளர்களின் தேவைகளையும் பூர்த்தி செய்ய வேண்டுமென எண்ணினார்.

2006: OpenERP V3.0 வெளியிடப்பட்டது. 2007-ல் அனைவருக்கும் பொதுவான SVN repositary திறக்கப்பட்டது. இதில் அங்கீகரிக்கப்பட்ட 35 module களும் மற்றும் 120 இதர module களும் வெளியிடப்பட்டது.

2008: ல் நிரல்களானது lanchpad/bazaar-ல் அளிக்கப்பட்டது மேலும் TinyERP ஆனது OpenERP என்று பெயரிடப்பட்டது.

2009:-ல் Openerp 5.0 வெளியிடப்பட்டது இதில் 114 அங்கீகர்க்கப்பட்ட module-களும் மேலும் இதர 250 module-களும் வெளியானது.

2010: ஜூலை 6.0 alpha வெளியீட்டை வெளியிட்டது. இதன் பின் Community, ஆனது மிகப்பெரிய அளவில் உலகெங்கும் உருவானது. கட்டற்ற மென்பொருளில் OpenERP மிகவும் தரம் வாய்ந்த மென்பொருளாக உருவானது. இது 500 module-களும் 30 மொழிகளில் உபயோகிக்கவல்ல இம்பொருள் 80 க்கும் மேற்பட்ட நாடுகளில் பயன்படுத்தப்படுகிறது.

 2011-ல் OpenERP 6.0 வெளியானது இது பயணாளிகளுக்கு எளிய வகையிலும். அனைத்து வகையான வாடிக்கையாளர்களின் தேவைகளை பூர்த்தி செய்யும் வகையிலும் வெயியானது.

 2012-ல் OpenERP 6.1 வெயியானது. இது கைப்பேசிகளிலும் உபயோகிக்கும் வகையிலும் வெளியானது. பின்னர் 2012 ஆண்டு இறுதில் OpenERP 7.0 மேலம் பல மாற்றங்களுடன் நிறைய சிறப்பம்சங்களுடன் வெளியாகியுள்ளது.

 OpenERP ஆனது தற்போது முழுக்க முழுக்க இணைய உலாவியில் (Internet Browser) இயங்கக்கூடிய ஓர் இணையவழி மென்பொருளாகும்.

 இதில் அடங்கியுள்ள Module-கள்

          1. Sales
          2. Purchase

          3. Manufacturing

          4. Warehouse

          5. Accounting

          6. Human Resource

மற்றும் பல

OpenERP-ல் அடங்கியுள்ள நிரல் மொழிகள்(Programming Languages)

          1. Python

          2. XML

          3. JavaScript

தற்போது OpenERP-7 வெளியீடு அண்மையில் வெளியிடப்பட்டுள்ளது.

இதில் மேலும் பல சிற்ப்பம்சங்கள் கிடைக்கப்பெறுகின்றன. மேலும் 1000 க்கும் மேற்பட்ட Module-க்ள் http://v6apps.openerp.com/ என்ற இணைய தளத்தில் கிடைக்கின்றன.

 OpenERP-யை சோதனையோட்டமாக பயன்படுத்திப்பார்க்க https://www.openerp.com/en/ என்ற இணையதளத்தையும், தறவிறக்கம் செய்ய http://nightly.openerp.com/7.0/nightly/src/openerp-7.0-latest.tar.gz என்ற இணையதளத்தையும் அணுகலாம்.

openerp7

Advertisements

OpenERP Spreedsheet(ods,xls) report

January 7, 2013

Sample code:

"""
Wizard xml file:
================

<field name="name"/>
<field name="data"/>

<button icon="gtk-print" name="produce_xls" string="Xls" type="object" colspan="2" default_focus="1" />

wizard python file:
==================

Add fields:
----------

"data":fields.binary("File",readonly=True),
"name":fields.char("Filename",16,readonly=True),

Add function;
------------
# above button action  """
def produce_xls(self, cr, uid, ids, context={}):
""" function to create xls """
import StringIO
import base64
try:
import xlwt
except:
raise osv.except_osv('Warning !','Please download python xlwt module from\nhttp://pypi.python.org/packages/source/x/xlwt/xlwt-0.7.2.tar.gz\nand install it')
wiz=self.browse(cr,uid,ids[0])
where_sql = []
""" getting form data for filteration"""
if where_sql:
where_sql = ' or '+' and '.join(where_sql)
else:
where_sql=''
cr.execute('''

select * from sale_order   '''+ where_sql + '''
''')
data = cr.dictfetchall()
record={}
sno=0
wbk = xlwt.Workbook()
style1 = xlwt.easyxf('font: bold on,height 240,color_index 0X36;' 'align: horiz center;''borders: left thin, right thin, top thin')
s1=0
"""adding a worksheet along with name"""
sheet1 = wbk.add_sheet('Work Orders')
s2=1
sheet1.col(0).width = 2000
sheet1.col(1).width = 6000
sheet1.col(2).width = 4000
sheet1.col(3).width = 4000
sheet1.col(4).width = 4000
sheet1.col(5).width = 4000
sheet1.col(6).width = 4000
""" writing field headings """
sheet1.write(s1,0,"Id.",style1)
sheet1.write(s1,1,"Name",style1)
sheet1.write(s1,2,"Label-3",style1)
sheet1.write(s1,3,"Label-4",style1)
sheet1.write(s1,4,"Label-5",style1)
sheet1.write(s1,5,"Label-6",style1)
sheet1.write(s1,6,"Label-7",style1)
"""writing data according to query and filteration in worksheet"""
serial_no=1
for  ele in data:
sheet1.write(s2,0,serial_no)
sheet1.write(s2,1,ele['id'])
sheet1.write(s2,2,ele['date_order'])
sheet1.write(s2,3,ele['name'])
sheet1.write(s2,4,ele['create_date'])
sheet1.write(s2,5,ele['requested_date'])
sheet1.write(s2,6,ele['id'])
serial_no+=1
s2+=1
tot_buf=0
tot_req=0
tot_req_tot=0
tot_tentative_1=0
tot_tentative_2=0
"""Parsing data as string """
file_data=StringIO.StringIO()
o=wbk.save(file_data)
"""string encode of data in wksheet"""
out=base64.encodestring(file_data.getvalue())
"""returning the output xls as binary"""
return self.write(cr, uid, ids, {'data':out, 'name':'Test'+'.xls'}, context=context)

Screenshot from 2013-01-07 10:54:03

OpenERP Terminal log Info

January 5, 2013

import logging module in your  openerp module python files

then using logger.info(“…………….text……………”)

Code:


import logging
logger = logging.getLogger('server')

logger.info('[] Class: , Method: ...')

Screenshot from 2013-01-05 17:53:11

your texts are printed in terminal these are captured in your log file also

OpenERP Report Flow

January 5, 2013

Creating  a Pdf or Xls Report

Types of Report
1.Normal Report
2.Wizard Report

Wizard
1.Interface
2.Osv Memory

Report creation using Osv Memory
1.wizard.py file for field and function
2.view.xml file for view
3.report.rml file for report (for pdf report)

wizard.py
1.In .py file add the required fields.
2.model name may be like sample.wiz.
3.define function to do action with required queries.
4.make sure rml file has been parsed with reference to it’s name and rml path(For Pdf report).
5.create a binary field to return xls generated(For Xls report).
6.need python-xlwt module installed(For Xls report).
7.write value in worksheet by write value enter row,column and style etc…(For Xls report).
8.Parse writen value as String by using StringIO(For Xls report).
9.encode the string use base64.Encodestring()(For Xls report)..
10.Then return the binary(For Xls report).

view.xml
1.Create a form with required fields.
2.Create a action window to call the form with res.model and view type referring above view.
3.Create a Menu to call the above act window referring above act window.
4.Create a Menu for report make sure the correct rml path and resource model(For Pdf report).

report.rml(For Pdf report)
1.create a rml file.
2.make design changes such as styles,tables,layout etc…..
3.print field by calling objects and regular expression.

Add OpenERP client Shortcut in ubuntu 12.04 Unity Launcher

November 7, 2012

You are installed the openerp client in your home folder

just navigate the path : /home/user/openerp-client-6.1/
and create a file named: openerp.desktop
and append the following lines:

[Desktop Entry]
Version=1.0
Name=openerp_client_6_1
GenericName=openerp_client_6_1
X-GNOME-FullName=Openerp_Client_6_1
Comment=OpenERP Client
Type=Application
Categories=Application;Development
Exec=/home/user/workspace/openerp-client-6.1/bin/openerp-client.py
TryExec=/home/user/workspace/openerp-client-6.1/bin/openerp-client.py
Terminal=false
StartupNotify=true
Icon=/home/user/workspace/openerp-client-6.1/debian/pixmaps/openerp-client.xpm

Then Drag the newly created file to the Launcher.

Image

That’s all

Image

It’s permanently here..

Indian Rupee ₹ Symbol in Ubuntu 9.10 & 10.04

August 31, 2012

PPA for Ubuntu 9.10 Karmic Koala and 10.04 Lucid Lynx users

Easily install the Ubuntu Font Family and also receive updates

Open Terminal and type:

sudo add-apt-repository ppa:webupd8team/ubuntu-font-family
sudo apt-get update
sudo apt-get install ttf-ubuntu-font-family

Use <Ctrl-Shift-U> 2 0 b 9, then <Enter>

Desktop Notification – using python

August 21, 2012

#!/usr/bin/python
import sys
import pynotify

if __name__ == "__main__":
    if not pynotify.init("icon-summary-body"):
    sys.exit(1)

    n = pynotify.Notification(
     "Mr. Rajkumar",
     "Cron Running Successfully",
     "notification-message-im")
    n.show()