ผลต่างระหว่างรุ่นของ "Openerp/getting started"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
(ไม่แสดง 4 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 8: | แถว 8: | ||
== สร้างโมดูล == | == สร้างโมดูล == | ||
− | + | : เอกสารอ้างอิง [http://help.openerp.com/question/16336/how-i-can-create-module-openerp-7/ Help page], [https://doc.openerp.com/trunk/server/03_module_dev/], [https://www.openerp.com/files/memento/OpenERP_Technical_Memento_latest.pdf Technical Memento] | |
+ | |||
+ | * สร้างไดเร็กทอรีใน openerp/addons ชื่อตามโมดูล สมมติเราจะสร้างโมดูล easynote | ||
+ | * สร้างไฟล์ __init__.py | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | import easynote | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | * สร้างไฟล์ __openerp__.py | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | { | ||
+ | 'name': 'EasyNotes', | ||
+ | 'version': '0.1', | ||
+ | 'category': 'Tools', | ||
+ | 'description': """ | ||
+ | This is a sample module | ||
+ | ======================= | ||
+ | |||
+ | Easy notes can be found in the 'Home' menu. | ||
+ | """, | ||
+ | 'author': 'Testing', | ||
+ | 'website': 'http://openerp.com', | ||
+ | 'summary': 'Easy notes, easy everything', | ||
+ | 'sequence': 9, | ||
+ | 'depends': [], | ||
+ | 'data': [ | ||
+ | 'easynote_view.xml', | ||
+ | ], | ||
+ | 'demo': [], | ||
+ | 'test': [], | ||
+ | 'css': [], | ||
+ | 'images': [], | ||
+ | 'installable': True, | ||
+ | 'application': True, | ||
+ | 'auto_install': False, | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | * สร้างไฟล์ <tt>easynote.py</tt> | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | from osv import osv, fields | ||
+ | |||
+ | class Note(osv.Model): | ||
+ | _name = 'easynote.note' | ||
+ | _rec_name = 'title' | ||
+ | _columns = { | ||
+ | 'title': fields.char('Title', size=100, required=True), | ||
+ | 'body': fields.text('Body', required=True), | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | * สร้างไฟล์ <tt>easynote_view.xml</tt> | ||
+ | |||
+ | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8"?> | ||
+ | <openerp> | ||
+ | <data> | ||
+ | <!-- New note Form View --> | ||
+ | <record model="ir.ui.view" id="view_easynote_note_tree"> | ||
+ | <field name="name">easynote.note.tree</field> | ||
+ | <field name="model">easynote.note</field> | ||
+ | <field name="arch" type="xml"> | ||
+ | <tree string="Stages"> | ||
+ | <field name="title"/> | ||
+ | <field name="body"/> | ||
+ | </tree> | ||
+ | </field> | ||
+ | </record> | ||
+ | |||
+ | <!-- New note Form View --> | ||
+ | <record model="ir.ui.view" id="view_easynote_note_form"> | ||
+ | <field name="name">easynote.note.form</field> | ||
+ | <field name="model">easynote.note</field> | ||
+ | <field name="arch" type="xml"> | ||
+ | <form string="Note" version="7.0" class="oe_form_nomargin"> | ||
+ | <field name="title" /> | ||
+ | <field name="body" widget="html" class="oe_memo" editor_height="450px" /> | ||
+ | </form> | ||
+ | </field> | ||
+ | </record> | ||
+ | |||
+ | <record model="ir.actions.act_window" id="action_easynote_note"> | ||
+ | <field name="name">EasyNotes</field> | ||
+ | <field name="res_model">easynote.note</field> | ||
+ | <field name="view_type">form</field> | ||
+ | <field name="view_mode">tree,form</field> | ||
+ | <field name="context">{'search_default_open_true':True}</field> | ||
+ | <field name="help" type="html"> | ||
+ | <p class="oe_view_nocontent_create"> | ||
+ | Click to add a note. | ||
+ | </p> | ||
+ | <p> | ||
+ | Use notes to organize personal tasks or notes. | ||
+ | </p> | ||
+ | </field> | ||
+ | </record> | ||
+ | |||
+ | <menuitem name="Notes" id="menu_easynote_notes" | ||
+ | parent="" sequence="1" | ||
+ | action="easynote.action_easynote_note"/> | ||
+ | |||
+ | </data> | ||
+ | </openerp> | ||
+ | |||
+ | </syntaxhighlight> |
รุ่นแก้ไขปัจจุบันเมื่อ 17:14, 12 พฤศจิกายน 2556
ขั้นตอนเริ่มต้น
- สร้าง database ใหม่
- เข้าใช้เป็น admin
- ตั้ง Time zone
- เปิด Technical Features: Users/Users => Administrator => Edit => Access Rights => Technical Features
- Log out / log in (จะเห็นเมนูเพิ่มขึ้น)
สร้างโมดูล
- เอกสารอ้างอิง Help page, [1], Technical Memento
- สร้างไดเร็กทอรีใน openerp/addons ชื่อตามโมดูล สมมติเราจะสร้างโมดูล easynote
- สร้างไฟล์ __init__.py
import easynote
- สร้างไฟล์ __openerp__.py
{
'name': 'EasyNotes',
'version': '0.1',
'category': 'Tools',
'description': """
This is a sample module
=======================
Easy notes can be found in the 'Home' menu.
""",
'author': 'Testing',
'website': 'http://openerp.com',
'summary': 'Easy notes, easy everything',
'sequence': 9,
'depends': [],
'data': [
'easynote_view.xml',
],
'demo': [],
'test': [],
'css': [],
'images': [],
'installable': True,
'application': True,
'auto_install': False,
}
- สร้างไฟล์ easynote.py
from osv import osv, fields
class Note(osv.Model):
_name = 'easynote.note'
_rec_name = 'title'
_columns = {
'title': fields.char('Title', size=100, required=True),
'body': fields.text('Body', required=True),
}
- สร้างไฟล์ easynote_view.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- New note Form View -->
<record model="ir.ui.view" id="view_easynote_note_tree">
<field name="name">easynote.note.tree</field>
<field name="model">easynote.note</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="title"/>
<field name="body"/>
</tree>
</field>
</record>
<!-- New note Form View -->
<record model="ir.ui.view" id="view_easynote_note_form">
<field name="name">easynote.note.form</field>
<field name="model">easynote.note</field>
<field name="arch" type="xml">
<form string="Note" version="7.0" class="oe_form_nomargin">
<field name="title" />
<field name="body" widget="html" class="oe_memo" editor_height="450px" />
</form>
</field>
</record>
<record model="ir.actions.act_window" id="action_easynote_note">
<field name="name">EasyNotes</field>
<field name="res_model">easynote.note</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_open_true':True}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a note.
</p>
<p>
Use notes to organize personal tasks or notes.
</p>
</field>
</record>
<menuitem name="Notes" id="menu_easynote_notes"
parent="" sequence="1"
action="easynote.action_easynote_note"/>
</data>
</openerp>