OpenERP窗体加载

2024-04-19 06:54:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建与员工注册详细信息相关的表格。 我的要求是这样的。。 当用户单击create按钮时,需要为emp no字段加载当前员工编号+1。 我需要说明如何调用方法“_form_onload()”。意思是在哪里可以调用我的函数。?在

这是我的密码

def create(self, cr, uid, vals, context=None):
    vals['register_no'] =self.pool.get('ir.sequence').get(cr, uid, 'bpl.worker')
    worker_reg_seq = super(bpl_worker_registration, self).create(cr, uid, vals, context=context)
    return worker_reg_seq



<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
        <record id="seq_bpl_worker_registration" model="ir.sequence.type">
            <field name="name">bpl_worker_registration</field>
            <field name="code">bpl.worker</field>
        </record>

        <record id="seq_bpl_worker_registration" model="ir.sequence">
            <field name="name">bpl_worker_registration</field>
            <field name="code">bpl.worker</field>
            <field name="prefix">BPL</field>
            <field name="padding">5</field>
            <field name="number_next">1</field>
            <field name="number_increment">1</field>
            <field name="company_id" eval="False"/>
        </record>
    </data>
</openerp>

xml添加到data部分openerp.py


Tags: nameselffielduidircreatecontextbpl
1条回答
网友
1楼 · 发布于 2024-04-19 06:54:43

为此,您必须创建序列,并且在默认情况下,在创建时调用序列。当您创建新记录时,它将自动+1序列。在

示例: 购买_序列.xml将这个xml文件放入openerp.py文件的data中。在

       <record id="seq_type_purchase_order" model="ir.sequence.type">
            <field name="name">Purchase Order</field>
            <field name="code">purchase.order</field>
        </record>
        <record id="seq_purchase_order" model="ir.sequence">
            <field name="name">Purchase Order</field>
            <field name="code">purchase.order</field>
            <field name="prefix">PO</field>
            <field name="padding">5</field>
            <field name="company_id" eval="False"/>
        </record> 



def create(self, cr, uid, vals, context=None):
     if vals.get('name','/')=='/':
        vals['name'] = self.pool.get('ir.sequence').get(cr, uid, 'purchase.order') or '/'
        order =  super(purchase_order, self).create(cr, uid, vals, context=context)
        return order

所以,你必须为你的员工编号创建同样的东西:前缀是你的起始点,它将是“EMP”:填充是你的数字的长度,直到5或10 希望这对你有帮助

相关问题 更多 >