Dating Delightful Girls Dating Delightful Girls Dating Delightful Girls Dating Delightful Girls

Money Datingdelightfulgirls De Photos Martinamor 96511598 Meta Dating Delightful Girls SaJoLab

Money Datingdelightfulgirls De Photos Martinamor 96511598 Meta Dating Delightful Girls

Datingdelightfulgirls search 96511598 | Datingdelightfulgirls 96511598 Datingdelightfulgirls Money Photos Meta 96511598 search Martinamor 96511598 Money 6 Martinamor E%E7%8F%8D%E6%84%9B%E6%89%BE%E9%BA%BB%E7%85%A9%E7%89%87%E9%A0%AD%E6%9B%B2% 96511598 5B Martinamor %E Datingdelightfulgirls % Martinamor 3search8 Meta %Esearch%searchE Photos 8 Money % Photos 4 Martinamor Bsearch% 96511598 AsearchEsearch% Martinamor D%%E6%B5%B7%E8%B3%8A%E7%8E%8B%E4%BA%BA%E9%AD%9A%E5%85%AC%E4%B8%BBhA%%E7%8F%8D%E6%84%9B%E6%89%BE%E9%BA%BB%E7%85%A9%E7%89%87%E9%A0%AD%E6%9B%B25search8%E7%8F%8D%E6%84%9B%E6%89%BE%E9%BA%BB%E7%85%A9%E7%89%87%E9%A0%AD%E6%9B%B2%searchC% Meta 4 Photos B% Datingdelightfulgirls B Money 1search58 96511598 %E6%B5%B7%E8%B3%8A%E7%8E%8B%E4%BA%BA%E9%AD%9A%E5%85%AC%E4%B8%BBhsearch | 一条评论

OpenERP V6 Scheduled Action 浅析

发表于 sajolab_admin


OpenERP里面的 Scheduled Action其实就是一个计划任务
通过Administration–>Scheduler–>Configuration–>Scheduled Action 进去Schedule Action

 

Interval Number 每x次执行一次,配合Interval Unit用例如这里的意思就是每一天执行一次。
Next Excution Date 是下次执行时间。
Number of calls 循环次数,就是这个计划任务循环的次数,例如:我想连续执行30天,这里就填30,如果天-1就是无限循环。

这里的就是设置要执行的任务的方法
哪个Object(对象)里面的哪个Function(方法),此Function包括了哪些Arguments(参数)关于这个方法和参数其实就是一个定义在对象里的普通方法。
例如我这样设置

class object1_test1(osv.osv):
_name =’object1.test1’
def fucnction1(self, cr, uid, args_1=False, args_2=False, context = None):
..............
return True
object1_test1()

那么在Arguments里就应该填(args_1, args_2,)这样就可以通过界面灵活配置计划执行的方法的参数
使用Scheduled Action地方有很多,例如发邮件,记录日志之类的,而且在开启了Scheduled Action的时候还有一个好处,就是某些操作耗时很长的,但是不需要经常调用的,可以通过他来调用。

发表在 Python | 标签为 | 留下评论

OpenERP在product中增加外部网络链接图片

发表于 sajolab_admin

最近的一个项目要求在Product_Template中增加类似与HTML中<img src=”" />的形式的图片,效果如图:

product_img_extra

product_img_extra.py

from osv import osv, fields
import urllib2
import base64
class product_template_img(osv.osv):
_name = 'product.template'
_inherit = 'product.template'
_description = 'Product Extra Image'

 

def _get_image(self, cursor, user, ids, name, arg, context=None):
image = {}
opener = urllib2.build_opener()
res = self.read(cursor, user, ids, ['image_link'])
image_link = res[0]['image_link']
if image_link:
pic = base64.encodestring(opener.open(image_link).read())
for id in ids:
image[id] = pic
return image

_columns = {}

product_template_img()

product_img_extra_view.xml


<?xml version="1.0" encoding="utf-8"?>

<openerp>

<data>

<record id="product_img_view" model="ir.ui.view">

<field name="name">product.template.product.form</field>

<field name="model">product.template</field>

<field name="type">form</field>

<field name="inherit_id" ref="product.product_template_form_view" />

<field name="arch" type="xml">

<field name="name" position="before">

<field name="image" widget="image" nolabel="1" img_width="168" img_height="168" colspan="4">

<field name="image_link" colspan="4">

</field>

</field>

</record>

</data>

</openerp>

 

由于OpenERP的基本开发概念的其中一点是读取数据库动态生成界面.这时我就想到了使用fields.function来在界面生成时做一些特别的处理.
product_img_extra.py中的_columns将对productTemplate增加image_link和image两个column.其中image_link用于保存图片链接的column,当界面生成时通过链接读取图片.image为显示图片的column,但由于store已设置为False所以不会直接保存到数据库中,而只会在界面生成时运行.

因为需要读取外部链接,所以需要用到Python自带的urllib2模块,值得注意的是opener.open(image_link).read()获取回来的虽然已经是二进制数据,但仍需要使用base64.encodestring对其进行转码才可以被所识别.

发表在 Python | 标签为 | 留下评论

OpenERP动态view的实现

发表于 sajolab_admin

之前搞了一个OpenERP动态view的实现,有些想法:
1.首先那一个tree view 来举例(如下图)。

它的显示要经过几个方法:fields_view_get –> fields_get –> read我们需要写一个object继承原来存这些数据的object,然后这个object重写fields_view_get–>fields_get–>read等方法,自己本身不需要view xml不需要columns,因为view我们是动态生成,columns则是从别的object里读出来。通过重写fields_view_get-可以达到自定义输出的viewfield_view_get 最后返回的是这样的信息

{},
'field_parent': False,
'fields': {},
'column_D': {},
'column_B': {},
'column_A': {},
'line_num': {}    }
}

也就是说我们只要构建出一个这样格式的xml就可以返回view,其实经过分析下,这个xmk就是我们平时的模块的view的xml还有一个就是fields的说明。然后如果我们想根据这个view显示出来一个tree那么就要重写read方法这个是我们需要read返回的数组

[{},
{},
{}]

只要你重写的fields_view_get 和read 能返回这个就可以好像我上面图,返回一个自己构建的view。至于如何让保存修改,大家可以重写 create,unlink,write等方法。
大家有啥看发欢迎在下面提出来

发表在 Python | 标签为 | 2 条评论

Open ERP 5.0.16 Windows 7源码运行

发表于 sajolab_admin

近日开始真正地接触Open ERP(下简称OE)的模块开发. 一开始在朋友的推荐下装了一个AllInOne版的OE. AllInOne版的OE适合直接使用者,但对于开发者来说需要Debug时就十分麻烦,也不方法对OE源码的理解.

所以这两天还是下了一个源码版的来安装,由于发现网络上对于windows下的源码运行资料并不是很完整,也比较旧,所以自己写了这篇文章来总结一下.

首先需要对些概念明确一下:

vMoney Datingdelightfulgirls De Photos Martinamor 96511598 Meta Dating Delightful Girls SaJoLabf x Affair kMoney Datingdelightfulgirls De Photos Martinamor 96511598 Meta Dating Delightful Girls SaJoLabr h h Passion Dating Delightful Girls Lingerie