跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

阿

阿巴阿巴

@阿巴阿巴
关于
帖子
12
主题
6
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • odoo自动生成日期序号
    阿 阿巴阿巴

    @阿巴阿巴
    补充里有一点说错了,“设置→技术→自动化→安排的动作”应该是“设置→技术→顺序号与标识号→顺序号”的。


  • odoo自动生成日期序号
    阿 阿巴阿巴

    如下代码所示:创建的序号是XH-20220119-001,XH-20220119-002,但是在第二天的时候,序号是XH-20220120-003。我希望在每个新的一天中,序号能从001开始,即XH-20220120-001,而不是接着上一天的。不知道需要怎么做,希望得到大家的回答,谢谢!

    class ModelA(models.Model):
        """..."""
        code = fields.Char(string='序号', readonly=True, default=lambda x: '自动生成')
    
        # 自动生成一个编号,ir.sequence模型在 data/sequence.xml中
        @api.model
        def create(self, vals):
            if not vals.get('code') or vals.get('code') == '自动生成':
                vals['code'] = self.env['ir.sequence'].next_by_code('model_A_code')
            return super(ModelA, self).create(vals)
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <odoo>
        <data>
            <!-- 生成单据编号 -->
            <record id="model_A_code" model="ir.sequence">
                <field name="name">序号</field>
                <field name="code">model_A_code</field>
                <field name="prefix">XH-%(year)s%(month)s%(day)s-</field>
                <field name="padding">3</field>
                <field name="use_date_range">True</field>
                <field name="date_range_ids"
                       eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/>
            </record>
        </data>
    </odoo>
    

    补充:这个代码是我根据ir.sequence模型和设置→技术→自动化→安排的动作进行编写的,不确定它能否每天更新。

    <field name="date_range_ids"
           eval="[(0,0,{'date_from':datetime.today(),'date_to':datetime.today(),'number_next':1})]"/>
    

  • odoo 在pycharm终端没有日志输出
    阿 阿巴阿巴

    @digitalsatori
    c01b2aa1-f706-4847-937d-c1678c31a044-image.png
    odoo.conf文件没有设置log文件。
    问题已解决,我试着没有运行程序,但是odoo依旧能用,怀疑是电脑有多个服务,选择开机重启,解决了问题。


  • odoo 在pycharm终端没有日志输出
    阿 阿巴阿巴

    如下图,在启动服务后,在odoo界面进行任何操作,pycharm终端这里都没有日志显示。在这之前是每个操作都是有日志记录的。
    2a067e1b-4450-47e7-9612-26ad4a505716-image.png
    求助,感谢大家。


  • odoo外部页面,地图
    阿 阿巴阿巴

    我有一个表单,里面有地址A,引入了地图页面,搜索框是B,搜索后的选择是C。如图:
    fd65c160-c173-4658-9eb2-462c627d6aa8-image.png
    我的问题是:想要在B输入搜索,在C中选择具体的某一个地址后,A中能得到C的地址。但是不知道怎么从C取得值,以及赋值给A。


  • 关于同一个视图里,不同用户组对同一个字段的不同控制
    阿 阿巴阿巴

    @保定_粉刷匠 谢谢,已搞定。


  • 关于同一个视图里,不同用户组对同一个字段的不同控制
    阿 阿巴阿巴

    在一个表单内,不同的用户组对于同一个字段,实现只读或者编辑。没有想到怎么做,求教?


  • 关于继承partner视图无法隐藏email的问题
    阿 阿巴阿巴

    @digitalsatori
    问题一:
    通过您的办法解决了我的问题,非常感谢!
    同时我也发现,在“编辑视图:表单”里没办法看到这个视图被继承后的属性,但是通过“字段视图获取”,能看到继承的属性。
    c2d82193-f1c3-4669-84a1-1629d142bce5-image.png
    下图是找到了label属性的:
    3a04d77c-b079-43f3-868f-08612fafe961-image.png
    问题二:
    我的版本是odoo13,我仍然没有发现page里有name属性,通过查找//page[@autofocus='autofocus']来定位到这个页进行隐藏的。

    此外,我有个新问题,关于多个查找路径的,我的代码如下:

    <xpath expr="//page[@autofocus='autofocus'] | //page[@name='sales_purchases'] | //page[@name='internal_notes']" 
                           position="attributes">
        <attribute name="invisible">1</attribute>
    </xpath>
    

    这段代码并没有按照预期进行三个页面的隐藏,实际效果是只隐藏了第一个页面。请问这个原因是什么?假如我要隐藏多个页面,有没有简洁的写法,而不是每个页面写一个查找?


  • 关于继承partner视图无法隐藏email的问题
    阿 阿巴阿巴

    目前需要继承partner的表单视图,外部ID是base.view_partner_form。

    问题一:
    我能够成功隐藏其它字段,但是不能隐藏email,

    <xpath expr="//field[@name='email']" position="attributes">
        <attribute name="invisible">1</attribute>
    </xpath>
    

    使用以上的代码,实际出现的界面如下图1:
    4b7c4305-210a-4a77-abf4-0db78c68b507-image.png 图1

    它只隐藏了email的输入框,但是没有完全隐藏email整个字段,看了这个视图的源代码(如下图2),没有发现其它阻碍隐藏的属性。那为什么隐藏会没有成功呢?希望得到解答或帮助。
    bfcc1c72-96ca-478c-8eba-89741363dfbd-image.png 图2

    问题二:
    此外,在图1中,page联系人&地址没有name属性,无法通过以下代码进行隐藏。想询问可以有其它方法能够隐藏这个吗?

    <xpath expr="//page[@name='']" position="attributes">
        <attribute name="invisible">1</attribute>
    </xpath>
    

  • 关于many2one的domain问题
    阿 阿巴阿巴

    @digitalsatori 谢谢您的回答,解决了困惑我几周的问题。
    另外想询问您关于“onchange方法会逐渐被compute方法所取代”的疑问:在我学习到的知识里,compute与@api.depends()是联动的,在监听到值改变后,用于实时计算值,是否我忽略了其它东西?


  • 关于many2one的domain问题
    阿 阿巴阿巴

    @leuan 你好,我使用的是onchange,但是onchange需要在字段国家改变值后才能响应函数,我在第二次进入记录进行编辑时,并没有改变国家的值,而是在第一次编辑后的国家的值下,进行选择省的值,这个时候会出现所有的省和地区,并没有进行筛选。


  • 关于many2one的domain问题
    阿 阿巴阿巴

    有两个many2one字段,类似于省市的两级联动,如下:

    province_id = fields.Many2one('模型1', string='省')
    city_id = fields.Many2one('模型2', string='市')
    

    目前的需求是根据省province_id的值,动态筛选市city_id显示的值。
    根据网上的说法,我用了以下onchange函数

    @api.onchange('province_id')
    def _onchange_city(self):
        # 取对应的省的值
        province_value = self.province_id .province 
        # 将取到的值跟模型2中市对应的省值进行比较匹配
        area_id_list = []
        for record in self.env['模型2'].search([('city_id.省的值', '=', province_value)]).ids:
            area_id_list.append(record)
        # 用列表中的id去筛选,符合的留下
        domain = {'city_id ': [('id', 'in', area_id_list)]}
        return {'domain': domain}
    

    最后得出来的效果跟odoo13中公司的国家和省的字段选择是一样的,如图:
    238773ec-c737-4652-9744-87357383b415-image.png
    但是出现了一个问题:在第一次编辑时选择了国家--“中国”,然后退出此记录再进去编辑时,省的选择会变成全部而不是在属于中国的省里进行筛选,如图:
    32d69bdc-9912-4224-a3a1-11858f951a80-image.png
    想要询问的是,有没有办法在第二次进入以后,省的选择能通过国家的字段值进行筛选后显示,或者有类似的解决办法。
    非常感谢大家!

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组