วันศุกร์ที่ 13 มิถุนายน พ.ศ. 2557

OpenERP : การสร้าง New Module ใน OpenERP ตอนที่ 1

จากการอ่านบทความทั้งสองผมว่าค่อนข้างชัดเจนในวิธีการสร้าง New Module ผมจะพยายาม capture รูปมาเพื่ออธิบายให้เห็นชัดเจนอีกทีหนึ่ง

http://openerpdev.wordpress.com/2012/01/31/minimal-openerp-module-example/

http://acespritechblog.wordpress.com/2012/05/22/how-to-create-a-module-in-openerp/

ขั้นตอนที่ 1 : โครงสร้างของ Module

เราต้องสร้าง ชื่อ module ของเราใน addone/ชื่อ module ที่เราต้องการสร้าง

ในที่นี้เราสร้าง ชื่อว่า dev ตามลิงค์ด้านบน



โครงสร้างในการสร้าง module จะต้องมีดังต่อไปนี้

 1. __openerp__.py
 2. __init__.py
 3. Python files
 4. XML Files
        1. Actions
        2. Menu Entries
        3. Reports
        4. Wizards



 ขั้นตอนที่ 2 : Code

1. __init__.py



import dev




2. __openerp__.py



# -*- coding: utf-8 -*-

{
    "name" : "Dev module",
    "version" : "0.1",
    "author" : "Dev",
    'complexity': "easy",
    "description" : """
    """,
    "website" : "http://www.openerp.com",
    "depends" : [],
    "category" : "Dev",
    "sequence": 16,
    "init_xml" : [],
    "demo_xml" : [],
    "update_xml" : ["dev_view.xml",],
    'test': [],
    'installable': True,
    'application': True,
    'active': False,
}





3. Python Files (dev.py)



# -*- coding: utf-8 -*-
from osv import fields, osv

class dev_person(osv.osv):
    _name = "dev.person"
    _description = "Person"
    _columns = {
        'person_name': fields.char('Name', size=128, required=True, help=""),
    }

dev_person()




4. XML Files (dev_view.xml)







dev_person
dev.person










**** ระวังเรื่อง Permission ของไฟล์ด้วยนะครับ ****

หลังจากที่เราสร้างไฟล์ต่างๆเสร็จแล้ว ให้เราไปที่ OpenERP Application ของเรา

Module-->Update Modules List-->Update  (ถ้าเราไม่มี ลิงค์ Update Modules List ให้เราไปที่ User-->เลือก Administrator-->Edit-->Access Right-->ตรง Technical Features หลังจากนั้นให้ทำการ Restart Application ใหม่)



หลังจากนั้นในกล่อง Search ให้คลิก installed ออก เราจะเจอ module ที่ยังไม่ได้ install ต่างๆ



เราจะเห็น module : Dev module ที่เราสร้าง จากนั้นให้เรา install เราจะเห็นว่า module ที่เราสร้างมี menu ชื่อว่า person แสดงขึ้นมา



การสร้าง module ใหม่อย่างง่ายก็จบเพียงเท่านี้ครับบบบบบบบ

วันจันทร์ที่ 9 มิถุนายน พ.ศ. 2557

OpenERP : การสร้าง Report ใน OpenERP ตอนที่ 2 (สร้าง New Report)

ขั้นตอนในการสร้าง report ใน OpenERP อย่างง่ายมีอยู่ 3 ขั้นตอนดังนี้ครับ

1.สร้างไฟล์ RML (ใช้ OpenERP Plugin ชื่อว่า bass report designer + Open Office)
2.สร้างไฟล์ .py
3.Config OpenERP

ขั้นตอนที่ 1 : สร้างไฟล์ RML

1.เปิด Open Office แล้ว ไปที่ OpenERP Report Designer แล้ว connect เข้าไปที่ OpenERP Server



2.ไปที่ OpenERP Report Designer-->Open a new report


3.ทำการเลือก Module ที่ต้องการทำ Report ในที่นี้ผมเลือก Account


4.พิมพ์ ABC ลงไปแล้วทำการ Save ไฟล์เป็น .sxw



5.  ไปที่ OpenERP Report Designer --> Send to server


6. ทำการ Generate ไฟล์ RML โดยไปที่ OpenERP Report Designer--> Export to RML


10. เมื่อได้ไฟล์ .sxw และ .rml แล้วให้นำไปวางใน module : account ตาม path ที่ติดตั้ง



ขั้นตอนที่ 2 : สร้าง .py

1. สร้างไฟล์ account_print_invoice_example.py ขึ้นมา แล้ว copy code ไปวาง



import time
from openerp.report import report_sxw

class account_invoice(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context):
        super(account_invoice, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,
        })
report_sxw.report_sxw(
    'report.account.invoice_example',
    'account.invoice_example',
    'addons/account/report/account_print_invoice_example.rml',
    parser=account_invoice
)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:



การสร้าง report_sxw.report_sxw('attribute1','attribute2','attribute3','attribute')

attribute1 = report name
attribute2 = object name
attribute3 = path name
attribute4 = optional

ref::
https://www.odoo.com/forum/Help-1/question/what-attributes-should-be-put-in-report_sxwreport_sxw-36741


2. เพิ่ม report เข้าไปในไฟล์ __iniy__.py (*** เราไม่ต้องเพิ่มตรงนี้ก็ได้ครับ เป็นการเพิ่มชื่อ module เข้าไป ในที่นี้เราจะทดลองสร้างแค่ report เพราะหลังจากที่เรา restart แล้วจะทำให้ไม่สามารถเข้ามาใช้งาน OpenERP ได้ เพราะว่ามันหา module : account_print_invoice_example ไม่เจอ ***)





ขั้นตอนที่ 3 : Config OpenERP

1.ไปที่ Setting-->Technical-->Action-->reports



ทดสอบการเข้าใช้งาน



วันจันทร์ที่ 2 มิถุนายน พ.ศ. 2557

Linux : การปรับแต่ง Ubuntu Server ให้ทำงานในแบบ GUI

อัพเดท environment ทั่วไป
#sudo apt-get update
#sudo apt-get upgrade
#sudo apt-get dist-upgrade

ติดตั้ง package สำหรับการบริหารจัดการเกี่ยวกับการ update
#sudo apt-get install update-manager 

ติดตั้ง gnome และ xorg เพื่อสร้างสภาพแวดล้อมแบบ GUI
#sudo apt-get install gnome-core xorg

ติดตั้ง GUI Network Admin Tool
#sudo apt-get install gnome-nettool gnome-network-admin gnome-system-tools

ติดตั้งเครื่องมือ System Monitor
#sudo apt-get install gnome-system-monitor

ติดตั้งเครื่องมือช่วยในการ backup (Simple Backup)
#sudo apt-get install sbackup

***หลังจากติดตั้งเสร็จ การเรียกใช้งาน GUI เราใช้คำสั่ง $ startx ****