首页 > 其他分享 >odoo 修改属性

odoo 修改属性

时间:2023-08-21 16:47:37浏览次数:30  
标签:origin choice 修改 odoo line prod True id 属性

https://www.lmlphp.com/user/63822/article/item/2434309/

按条件隐藏:
<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"
/>

标签:origin,choice,修改,odoo,line,prod,True,id,属性
From: https://www.cnblogs.com/pythonClub/p/17646407.html

相关文章

  • odoo 给子表设默认值
    #设置默认值函数@api.modeldef_default_ids(self):default_ids=[]forsinrange(1,6):default_ids.append((0,0,{'service':s,'all':0}))#字典里边填的是默认子表的值,前面0,0都是默认的returndefault_ids#字段ids=fiel......
  • Odoo - xml 的action/search继承修改
    直接对action动作视图进行修改<?xmlversion="1.0"encoding="UTF-8"?><odoo><recordmodel="ir.actions.act_window"id="(模块名).(想要修改的action_id)"><fieldname="domain">[('asset_ty......
  • 在odoo16.0中使用微信支付
    作为国内移动支付的两大提供商之一的微信支付并不在Odoo官方的支持列表中,甚至曾经一度被官方支持的支付宝(Alipay)也在16.0以后的版本中遭到的过时的标记,被并入了asipay的选项中。国内的生态不被官方重视也并非一日,但是需求并不会因为不被重视而消失,因此,我们决定自己来手动实现。......
  • Visual Studio 修改NuGet 包路径
    目的:通过NuGet安装包时,NuGet先将包下载至一个统一的目录,默认路径是:C:\Users\{用户名}\.nuget\packages。现在需要将其迁移到目录E:\nuget\packages步骤1、在C:\ProgramFiles(x86)\NuGet\Config目录中找到Microsoft.VisualStudio.Offline.config。在文件末尾添加......
  • Asp.net Core Web API运行后返回的实体属性首字母全为小写(实际应该为大写)
    1、Asp.netCoreWebAPI项目运行后打开swagger,通过点击控制器下的方法,以此点击Tryitout-Execute,然后观察Responsebody中内容,发现所有的实体属性均为小写,如下图,但其实实际的实体属性值首字母为大写,如图二,出现这种情况的解决办法如下:  2、第一步:右键项目中依赖项-管理NuGe......
  • 表格中的table-layout属性讲解
    定义和用法table-layout属性用来显示表格单元格、行、列的算法规则。table-layout有三个属性值:auto、fixed、inherit。fixed:固定表格布局固定表格布局与自动表格布局相比,允许浏览器更快地对表格进行布局。在固定表格布局中,水平布局仅取决于表格宽度、列宽度、表格边框宽度......
  • 表单自动填充属性 autocomplete
    摘抄自:HTML属性:autocomplete-HTML(超文本标记语言)|MDN(mozilla.org)表单自动填充不同类型<!--该字段期望该值是一个人的全名--><inputname="name"id="name"autocomplete="name"/><!--该字段期望该值是一个电子邮件值--><inputname="email"id=&q......
  • Python matplotlib.axes对象常用属性(绘图方式、坐标轴、刻度等)
    目录一、绘图方式1.1基本绘图方式1.2跨度、频谱、填充、2D数组的绘图方式Axes类可以设置图片(或子图)中相关属性:绘图数据、坐标轴刻度/标签、标题、图例等。它是Python操作绘图的主要接口。Matplotlib定义了一个axes类(轴域类),在一个给定的画布(figure)中可以包含多个axes对象,但是同......
  • 运行Jar包出现:xxx中没有主清单属性报错
    1、项目打好jar包时,使用命令运行jar包:java-jarxxx.jar出现报错:xxx中没有主清单属性 解决办法:亲测有用在pom.xml配置中,加上以下配置:<build><!--打包成jar包时的名字--><finalName>xxxTest</finalName><plugins><plugin>......
  • 4 CSS属性选择器
    4属性选择器属性选择器是通过元素的属性及属性值来选择元素的。下面介绍属性选择器的用法。第一种用法作用:选择含有指定属性的元素。语法:[属性名]{}示例如下:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>属性选择器</title><s......