按条件隐藏:
<xpath expr="//group[1]" position="attributes">
<attribute name="attrs">{'invisible':[('uid_qx','=',False),('customer','=',True),('id','!=',False)]}</attribute>
</xpath>
<xpath expr="//div[@name='buttons']" position="attributes">
<attribute name="attrs">{'invisible':[('uid_qx','=',False),('customer','=',True),('id','!=',False)]}</attribute>
</xpath>
<xpath expr="//notebook" position="attributes">
<attribute name="attrs">{'invisible':[('uid_qx','=',False),('customer','=',True),('id','!=',False)]}</attribute>
</xpath>
binary: 二进制型,可存图片,文档
class="oe_edit_only"
options
:
options='{"no_open": True}' 不会弹出窗口 就是 many2oneXM 界面不再显示超链
options="{'reload_on_button': true}"
one2many 首先加载记录 然后调用按钮动作重新加载
options="{' always_reload': true}" one2many 每次插入数据时重新载入记录 nolabel="1"  options="{'reload_on_button': true}"
def do_enter_prod_line(self, cr, uid, ids, context=None):
if not context:
context = {}
id=ids[0]
ctx={'default_manufac_id':id}
mod_obj = self.pool.get('ir.model.data')
form_res = mod_obj.get_object_reference(cr, uid, 'demo_sale', 'view_prod_choice_origin_form')
form_id = form_res and form_res[1] or False[0] or False
return {
'name': u'创建织造单',
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'prod.choice.origin',
'views': [(form_id, 'form')],
'view_id': form_id,
'target': 'new',
'context':ctx,
}
def add_za_order_line(self, cr, uid,man_id, record, context=None):
man_obj=self.pool.get('manufacture.origin')
id=man_id
vals={}
vals={'line_id':record}
print vals
self.write(cr,uid,[id],vals,context=context)
return True
 


class prod_choice_origin(osv.osv):
_name='prod.choice.origin'
_description='prod choice origin'
def action_add_za_order(self,cr,uid,ids,context=None):
assert len(ids)==1
result={}
mo_obj=self.pool.get('manufacture.origin')
zz_origin_obj=self.browse(cr,uid,ids,context)
man_id=zz_origin_obj.manufac_id.id
record=[]
i=0
for line_ids in zz_origin_obj.line_id:
if line_ids.choice==True:
record.append((0,0,{
'sequence':i+1,
'product_id':line_ids.product_id.id,
'plan_qty':line_ids.realy_qty,
'partner_id':line_ids.partner_id.id,
'lot_id':line_ids.lot_id.id,
}))
i+=1 mo_obj.add_za_order_line(cr,uid,man_id,record,context=None)
return True

    _columns={
'manufac_id':fields.many2one('manufacture.origin',string=u'单号'),
'product_id':fields.many2one('product.product',string=u'物料',domain=[('categ_id','not in',[6])]),
'line_id':fields.one2many('prod.choice.origin.line','order_id',string=u'物料明细', copy=True),
} class prod_choice_origin_line(osv.osv):
_name='prod.choice.origin.line'
_description='prod choice origin' _columns={
'sequence':fields.integer(u'序号'),
'order_id':fields.many2one('prod.choice.origin',u'上级 单号',required=True, ondelete='cascade', select=True,),
'choice':fields.boolean(u'请选择'),
'product_id':fields.many2one('product.product',string=u'物料',domain=[('sale_ok', '=', True)]),
'partner_id':fields.many2one('res.partner', u'供应商',domain=[('supplier', '=', True)],select=True),
'wl_qty':fields.float(u'库存',),
'realy_qty':fields.float(u'实用数量'),
'location_id':fields.many2one('stock.location',u'位置'),
'date_in':fields.date(u'入库日期'),
}
_defaults = {
'sequence':1,
}

<?xml version="1.0"?>
<openerp>
<data>
<!--form view-->
<record id="view_prod_choice_origin_form" model="ir.ui.view">
<field name="name">prod.choice.origin.form</field>
<field name="model">prod.choice.origin</field>
<field name="arch" type="xml">
<form >
<sheet>
<h2>
<label string="物料选择"/>
</h2>
<notebook>
<page >
<group col="4">
<group>
<field name="product_id" on_change="onchange_product_id(product_id)"/>
</group>
<group></group>
<group></group>
<group></group>
</group>
<field name="line_id">
<tree editable="bottom">
<field name="sequence" />
<field name="choice" />
<field name="partner_id" />
<field name="product_id"/>
<field name="lot_id"/>
<field name="wl_qty" />
<field name="realy_qty" />
<field name="location_id"/>
<field name="date_in"/>
</tree>
</field>
</page>
</notebook>
<button name="action_add_za_order" string="添加" type="object" />
</sheet>
</form>
</field>
</record>
</data>
</openerp>

security.xml

 <record id="group_purchase_reopen_pring" model="res.groups">
<field name="category_id" ref="base.module_category_purchase_management" />
<field name="name">显示打印订单</field>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<!--<field name="in_group_77" default="true"/>-->
<field name="comment">显示打印订单 </field>
</record>

   <report
header="False"
attachment_use="False"
model="purchase.origin"
report_type="qweb-pdf"
id="print_purchase_add_menu_02"
string="订单打印"
name="demo_print_report.print_po_wx"
file="demo_print_report.print_po_wx"
groups="demo_purchase.group_purchase_reopen_print"
/>

produc_tobj_ids=productobj.search(cr,uid,[('pname','=',pna),('product_color_id','=',pcol_id),('categ_id','=',6)],limit =1, context=context)

 

odoo学习之弹框显示的更多相关文章

  1. 【jquery+easyUI】-- $.messager.show 弹框显示

    三种基本弹框 1.提示框,一秒停留 $.messager.show({ title: '提示', msg: '修改成功!', showType: 'fade', //设置显示类型 style: { l ...

  2. 单击HighCharts柱形体弹框显示详细信息

    上篇博客介绍了如何在HighCharts统计图表下生成表格,二者相互结合,可以对数据进行更好的统计分析.在统计的同时,如果需要想要及时查看详细信息的话,就得再加一个功能,就是单击柱形体,显示该项下的详 ...

  3. JavaScript 图片弹框显示

    function fnCreate(src) {             /* 要创建的div的classname */             var ClassName = "thumb ...

  4. win10系统rational rose 安装后打开弹框显示java.lang.ClassNotFoundException 解决方案

    场景复现:安装Rational Rose,按照破解方法完成后,打开程序,会弹出对话框显示java.lang.ClassNotFoundException,在关闭程序时也会弹出一个对话框,并且程序不能关 ...

  5. vux弹框显示

    //点击按钮,执行什么成功,失败用这个合适this.$vux.toast.show({ text: '添加成功'}) //点击按钮,提示出现的问题 this.$vux.toast.show({ tex ...

  6. android假设给TextView或EditText的email链接加下划线,并在点击在email连接上能够弹框显示

    怎样把textview的一些文字加上背景色: Spannable str = new SpannableString("#fdsfdfsdfdsfd#"); Matcher mat ...

  7. winfrom 点击按钮button弹框显示颜色集

    1.窗体托一个按钮button: 2.单击事件: private void btnForeColor_Click(object sender, EventArgs e) { using (ColorD ...

  8. layer.js 中弹框显示不全的问题

    在使用 layer.js 做弹框的时候,遇到在浏览器缩小时,弹框显示不全的问题,如下: 这是不行的,因为我们有的时候想缩小浏览器视窗,但是一旦缩小到一定程度,就会把弹窗的关闭按钮遮住一部分,并且主体弹 ...

  9. dev右下角增加弹框提示信息

    using System; using System.Drawing; using System.IO; using System.Threading; using System.Windows.Fo ...

随机推荐

  1. video 铺满父元素(object-fit: fill;)

    遇到这个属性,是在给video 嵌入一个div时,导致video播放器上下有灰色.在控制台查看video默认样式的时候看到了这个属性. 播放器上下的灰色,不是我们想要的样式,如果能完全覆盖就更好了. ...

  2. php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

  3. Android 系统工具类

    系统工具类 public class systemUtil { //隐藏ipad底部虚拟按键栏 @RequiresApi(api = Build.VERSION_CODES.KITKAT) publi ...

  4. Wim镜像编辑

    1.挂载install.wim文件为本地的一个文件夹 dism /mount-wim  /wimfile:D:\install.wim /index:1 /mountdir:D:\Win 注:1> ...

  5. django 简单路由配置

    Django==2.0.1 版本路由配置: 1.在manage.py同级目录下新建一个应用app1 在app1下新建urls.py文件,定义一个app1的空白路由: from django.urls ...

  6. MySQL8.0——Resource Group(资源组)

    资源组介绍 简介 MySQL是单进程多线程的程序,MySQL线程包括后台线程(Master Thread.IO Thread.Purge Thread等),以及用户线程.在8.0之前,所有线程的优先级 ...

  7. Linux下的进程类别(内核线程、轻量级进程和用户进程)--Linux进程的管理与调度(四)

    本文中出现的,内核线程,轻量级进程,用户进程,用户线程等概念,如果不太熟悉, 可以参见 内核线程.轻量级进程.用户线程三种线程概念解惑(线程≠轻量级进程) Linux进程类别 虽然我们在区分Linux ...

  8. 02LaTeX学习系列之---TeX环境的搭建

    目录 02Latex的下载与安装及其编译IDE 目录 前言 (一)Tex Live的下载 1. Tex Live官方下载网站: (二)TeXStudio 1.TeXStudio官网下载 2.TeXSt ...

  9. Xcode调试LLDB

    一.简介 关于Xcode调试,相信大家很多会用断点调试,今天无意间在苹果开发的群里看到了po,瞬间心中有个疑问:po是什么?下面我就百度搜索了一下,介绍一点皮毛. 首先是LLDB,它的全名是lower ...

  10. java调用Linux执行Python爬虫,并将数据存储到elasticsearch中--(java后台代码)

    该篇博客主要是java代码,如需相应脚本及java连接elasticsearch工具类代码,请移步到上一篇博客(https://www.cnblogs.com/chenyuanbo/p/9973685 ...