跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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 中文社区

风

风飞花

@风飞花
关于
帖子
21
主题
4
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • 页脚显示不出来,是这样有问题吗?但页头却可以显示的
    风 风飞花
    <?xml version="1.0" encoding="UTF-8"?>
    <odoo>
        <record id="paperformat_euro_landscape"
            model="report.paperformat">
            <field name="name">delivery_Paper</field>
            <field name="default" eval="True" />
            <field name="format">custom</field><!--一个预定义的格式如(A0-A9,B0-B10等)或自定义,默认是A4-->
            <field name="page_height">140</field>
            <field name="page_width">215</field>
            <field name="orientation">Landscape</field><!--横向或纵向 Landscape , Portrait-->
            <field name="margin_top">40</field>
            <field name="margin_bottom">20</field>
            <field name="margin_left">5</field>
            <field name="margin_right">5</field>
            <field name="header_line" eval="False" /><!--是否显示标题行-->
            <field name="header_spacing">35</field><!--头部空白-->
            <field name="dpi">90</field>
        </record>
        <template id="custom_report_delivery_document">
            <t t-call="web.html_container">
            <t t-if="o and 'company_id' in o">
                <t t-set="company" t-value="o.company_id"></t>
            </t>
            <t t-if="not o or not 'company_id' in o">
                <t t-set="company" t-value="res_company"></t>
            </t>
            <div class="header">
                <div class="row mt16 mb16">
                    <div class="col-6" style="border-bottom:1px solid #000">
                        <img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % to_text(company.logo)" style="max-height: 50px;" />
                    </div>
                    <div class="col-6 text-right" style="border-bottom:1px solid #000">
                        <span t-field="company.partner_id" />
                        <br/>
                        <span t-field="company.partner_id.country_id" />
                        <span t-field="company.partner_id.state_id" />
                        <span t-field="company.partner_id.city" />
                        <span t-field="company.partner_id.street" />
                        <span t-field="company.partner_id.street2" />
                        <span t-field="company.partner_id.vat" />
                        <br/>
                    </div>
                </div>
                <div class="row mt16 mb32">
                    <div class="col-6">
                        出库单号:<span t-field="o.name" />
                        <br/>
                        订    单    号:<span t-field="o.origin" />
                    </div>
                    <div t-if="o.state" class="col-6 text-right" name="div_sched_date">
                        <strong>发货日期:</strong>
                        <t t-if="o.state == 'done'">
                            <span t-field="o.date_done" t-options='{"widget": "date"}'/>
                        </t>
                        <t t-if="o.state != 'done'">
                            <span t-field="o.scheduled_date" t-options='{"widget": "date"}'/>
                       </t>
                    </div>
                </div>
            </div>
                <div class="footer">
                    <div class="row mt32 mb32">
                        <div class="col-6" style="border-top:1px solid #000">
                            测试,左边
                        </div>
                        <div class="col-6 text-right" style="border-top:1px solid #000">
                            客户签收:
                        </div>
                    </div>
                    <div class="row mt16 mb16">
                        <div class="col-auto" style="border-top:1px solid #000">
                            制单人:<span t-field="o.write_uid" />
                        </div>
                    </div>
                </div>
    
                <t t-call="web.internal_layout"><!--external_layout头部和底部  internal_layout基本头部-->
                    <t t-set="o" t-value="o.with_context(lang=o.partner_id.lang)" />
                    <div class="page">
                        <div class="oe_structure"/>
                        <div class="row mt16 mb32">
                            <div t-if="o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id != o.partner_id.id">
                                收货人及电话:<span t-field="o.partner_id"/>
                                <span>:
                                    <span t-field="o.partner_id.mobile"/>/
                                    <span t-field="o.partner_id.phone"/>
                                </span>
                                <br/>
                                收货地址:<span t-field="o.partner_id.country_id"/>
                                <span t-field="o.partner_id.state_id" />
                                <span t-field="o.partner_id.city" />
                                <span t-field="o.partner_id.street"/>
                                <span t-field="o.partner_id.street2" />
                                <span t-field="o.partner_id.zip" />
                                <br/>
                                <div t-field="o.partner_id.vat"/>
                            </div>
                            <div t-if="(o.move_lines and o.move_lines[0].partner_id and o.move_lines[0].partner_id.id == o.partner_id.id) or o.move_lines and not o.move_lines[0].partner_id">
                                收货人及电话:<span t-field="o.partner_id"/>
                                <span>:
                                    <span t-field="o.partner_id.mobile"/>/
                                    <span t-field="o.partner_id.phone"/>
                                </span>
                                <br/>
                                收货地址:<span t-field="o.partner_id.country_id"/>
                                <span t-field="o.partner_id.state_id" />
                                <span t-field="o.partner_id.city" />
                                <span t-field="o.partner_id.street"/>
                                <span t-field="o.partner_id.street2" />
                                <span t-field="o.partner_id.zip" />
                                <br/>
                                <div t-field="o.partner_id.vat"/>
                            </div>
                        </div>
                        <div class="row mt16 mb32">
                            <div class="col-auto" name="div_carrier_id">
                                <strong>承运方:</strong>
                                <p t-field="o.carrier_id"/>
                            </div>
                            <div class="col-auto" name="div_weight">
                                <strong>重量:</strong>
                                <p t-field="o.weight"/>
                            </div>
                            <div class="col-auto" name="div_volume">
                                <strong>体积:</strong>
                                <p t-field="o.volume"/>
                            </div>
                        </div>
                        <!--<table class="table table-sm" t-if="o.state!='done'" name="stock_move_table">-->
                        <table class="table table-sm" name="stock_move_table">
                            <thead>
                                <tr>
                                    <th><strong>产品</strong></th>
                                    <th><strong>数量</strong></th>
                                </tr>
                            </thead>
                            <tbody>
                                <t t-set="lines" t-value="o.move_lines.filtered(lambda x: x.product_uom_qty)"/>
                                <tr t-foreach="lines" t-as="move">
                                    <td>
                                        <span t-field="move.product_id"/>
                                        <p t-if="o.picking_type_code == 'outgoing'">
                                            <span t-field="move.product_id.sudo().description_pickingout"/>
                                        </p>
                                        <p t-if="o.picking_type_code == 'incoming'">
                                            <span t-field="move.product_id.sudo().description_pickingin"/>
                                        </p>
                                    </td>
                                    <td>
                                        <span t-field="move.product_uom_qty"/>
                                        <span t-field="move.product_uom"/>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        <p>
                            <t t-if="o.backorder_ids and o.backorder_ids.filtered(lambda x: x.state not in ('done', 'cancel'))">
                                All items couldn't be shipped, the remaining ones will be shipped as soon as they become available.
                            </t>
                        </p>
                    </div>
                </t>
             </t>
        </template>
    
        <template id="custom_report_deliveryslip">
            <t t-foreach="docs" t-as="o">
                <t t-call="mymodule.custom_report_delivery_document" t-lang="o.partner_id.lang"/>
            </t>
        </template>
        <report
            string="自定义出库单"
            id="action_custom_report_delivery"
            model="stock.picking"
            report_type="qweb-pdf"
            name="mymodule.custom_report_deliveryslip"
            file="mymodule.custom_report_deliveryslip"
            print_report_name="'delivery - %s - %s' % (object.partner_id.name or '', object.name)"
        />
    </odoo>
    

  • 电子商务中在哪里设置权限可以让没有登录的用户不能购买产品?
    风 风飞花

    当然也是想设置成会员产品吧


  • 电子商务中在哪里设置权限可以让没有登录的用户不能购买产品?
    风 风飞花

    @digitalsatori
    就是想,,这个还真没那么多为什么,,
    在官网APP里也找了一段时间,也没发现有这的功能
    模块里边倒是找到一些权限可以限制浏览,但比较简单粗暴一点


  • 电子商务中在哪里设置权限可以让没有登录的用户不能购买产品?
    风 风飞花

    未登录的话,不能在website中购买产品,,但能浏览产品,,
    这样的限制要在哪里修改这个权限?


  • 创建新用户时的邮箱配置问题
    风 风飞花

    你不是用管理员账号的邮件测试的阿???这个估计是odoo的关系了,估计是你的账号和对应的邮箱不一致吧,,这个我也不是太清楚


  • 创建新用户时的邮箱配置问题
    风 风飞花

    如果没有收到账户异常登录活动的邮件,你在你的oDOO的邮箱配置里边点击一下测试链接,,应该就能收到这个邮件了


  • 创建新用户时的邮箱配置问题
    风 风飞花

    试试hotmail.com,,我用这个是通过了的

    用户名和密码就是你的电子邮箱的账号密码
    SMTP 服务器:smtp.office365.com
    SMTP 端口 587
    连接安全 TLS (STARTTLS)
    用户名 [email protected]
    密码xxx

    邮箱服务端设置
    登录hotmail.com邮箱
    点击设置(右上角)
    查看全部outlook设置(右下角)
    同步电子邮件----打开pop等功能

    如果你发送和接收邮件的IP没有在邮箱中备案,,你按照上边的设置,设置好后,你的邮箱就会收到Microsoft账户异常登录活动的邮件,点击进去,那里有一个“查看最近的活动”的按钮
    点击进去后,查看一下那个IP是你的服务器IP,,然后在其右边点击一下同意就好了


  • 创建新用户时的邮箱配置问题
    风 风飞花

    看看你邮箱服务端是否限制了,,反正我用微软的邮箱去设置的时候,,是要在微软的邮箱端去通过一下的


  • 导入csv问题
    风 风飞花

    比如第一行内容如下:

    Serial Number,aaaa,bbbb
    

    上边的代码好像也会提示:'Row header name "Serial Number" is not found in CSV file'
    是有这个情况,,所以问问,,是代码有问题还是可能是其他问题


  • 导入csv问题
    风 风飞花

    在apps.odoo.com上边找到inventory_serial_import这个apps,其中inventory_serial_import中,有一个代码如下:
    它有一个Serial Number的判断,,但我发现,如果按照表格的形式来看,第一列表头是Serial Number,第二列表头如果是别的名字也会提示Row header name "Serial Number" is not found in CSV file,是什么情况?如果只是判断存在一个Serial Number就行,,一个都没有就提示,,是怎么处理(或者说代码正确,而是别的问题造成这种提示)

    class stock(models.Model):
        _inherit = "stock.move"
    
        file_import = fields.Binary("Import 'csv' File", help="*Import a list of lot/serial numbers from a csv file \n *Only csv files is allowed"
                                                              "\n *The csv file must contain a row header namely 'Serial Number'")
        file_name = fields.Char("file name")
    
        #     importing "csv" file and appending the datas from file to order lines
        @api.multi
        def input_file(self):
            if self.file_import:
                file_value = self.file_import.decode("utf-8")
                filename, FileExtension = os.path.splitext(self.file_name)
                if FileExtension != '.csv':
                    raise UserError("Invalid File! Please import the 'csv' file")
                data_list = []
                input_file = base64.b64decode(file_value)
                lst = []
                for loop in input_file.decode("utf-8").split("\n"):
                    lst.append(loop)
                if 'Serial Number' not in lst[0]:
                    raise UserError('Row header name "Serial Number" is not found in CSV file')
    

  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    做个完结吧,odoo-bin.exe好像已经是删除了的(安装好后就是没有的)
    sale_my用不了的问题,估计是我用记事本编辑的问题,编码格式不是utf8
    用python编辑软件后就好了(编辑软件打开前边sale_my里的文件,,中文都是乱码)

    # -*- coding: utf-8 -*-
    # Part of Odoo. See LICENSE file for full copyright and licensing details.
    {
        'name': 'sale_extension',
        'version': '12.0.1.0.0',
        'category': 'sale_extension',
        'description':'sale的from、tree模块显示内容的扩展',
        'sequence': 32,
        'license': 'AGPL-3',
        'depends': [
            'sale',
        ],
        'data': [
            'views/sale_order_extension.xml'
        ],
        'demo': [
        ],
        'installable': True,
        'auto_install': False,
        'application': False,
    }
    

  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    1569717160(1).png

    我这么用命令,,发现都是不行的;怎么感觉别人简单的,,我这便都有问题😧


  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    @digitalsatori
    老是看到教材中用命令行创建模块,,Windows中怎么用命令行,我输入odoo-bin等,都说不是内部命令什么的

    是直接打开windows的cmd,输入下边代码就可执行吗?

    比如下边代码:

    $ odoo-bin scaffold <module name> <where to put it>
    
    

  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    @digitalsatori
    不知道什么问题,第三方APP都刷出来了,,sale_my就是没出来,我就算吧这个文件夹放到程序默认的odoo\addons里边也刷不出来(估计应该是哪里有问题)

    先不管了,,也就是说要想https://www.cnblogs.com/SamNicole1809/archive/2019/06/03/10968113.html里边说的增加字段,或者是说想在库存的tree中增加收货人姓名、电话、地址等都是要自定义一个模块,然后related字段,并显示的吧?(没办法在视图字段那边直接添加是吧)


  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    @digitalsatori

    就是下边这么配置的,,后边那个是添加的,前边那个是默认的
    custom-addons文件夹也是放在server文件夹下边
    addons_path = d:\Program Files\Odoo12\server\odoo\addons,d:\Program Files\Odoo12\server\custom-addons


  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    @digitalsatori 在 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加? 中说:

    你是如何启动Odoo的,在启动参数中有没有用-c xxxxx.conf指向你上面的配置文件?

    我就是在windows中下载官网一健安装程序安装,这样启动参数怎么修改


  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    @digitalsatori

    __manifest__.py代码修改如下,不过还是看不到效果,在应用里边也没有增加东西
    
    # -*- coding: utf-8 -*-
    {
        'name':'测试',
        'description':'sale的form、tree、kanban模块显示内容的扩展',
        'version': '1.0',
        'license': 'LGPL-3',
        'depends': ['base', 'sale',],
        'data': [
            'views/sale_order_extension.xml',
        ],
    }
    

  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    @风飞花 在 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加? 中说:
    文件结构如下:

    models
    models/__init__.py
    models/sale_order_extension.py
    views
    views/sale_order_extension.xml
    __init__.py
    __manifest__.py
    

    各自代码如下,然后还是按照上贴途中那几个都点击一下,也是没有结果显示:anguished_face: :

    models/ __init__.py代码如下:
    
    # -*- coding: utf-8 -*-
    
    from . import sale_order_extension
    

    models/ sale_order_extension.py代码如下:

    # -*- coding:utf-8 -*-
    """销售模块扩展"""
    
    from odoo import fields, models
    
    # 销售模块扩展
    class SaleOrderExtension(models.Model):
        """销售模块扩展"""
        _inherit = 'sale.order'
    
        # 销售员
        x_salesman = fields.Many2one(
            'res.users',
            string='销售员',
            related='partner_id.user_id'
        )
    

    views/sale_order_extension.xml代码如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <odoo>
    
        <record id="view_order_form_modify" model="ir.ui.view">
            <field name="name">view.order.form.modify</field>
            <field name="model">sale.order</field>
            <field name="inherit_id" ref="sale.view_order_form"/>
            <field name="arch" type="xml">
                <!-- 增加``销售员``字段 -->
                <xpath expr="//group/group/field[@name='partner_id']"
                       position="after"
                >
                    <field name="x_salesman" />
                </xpath>
            </field>
        </record>
    <record id="view_order_tree_modify" model="ir.ui.view">
            <field name="name">view.order.form.modify</field>
            <field name="model">sale.order</field>
            <field name="inherit_id" ref="sale.view_quotation_tree_with_onboarding"/>
            <field name="arch" type="xml">
                <!-- 增加``创建人``字段 -->
                <xpath expr="//field[@name='date_order']"
                       position="after"
                >
                    <field name="create_uid" />
                </xpath>
            </field>
     </record>
    
    </odoo>
    
    __manifest__.py代码如下:
    
    # -*- coding: utf-8 -*-
    {
        'version': '0.1',
        'depends': ['base', 'sale',],
        'data': [
        'views/sale_order_extension.xml',
        ],
    }
    
    __init__.py代码如下
    
    from . import models
    

  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    我在addons_path添加了custom-addons,然后在里边建了sale_my文件夹,这个文件夹包含的文件结构如下:

    models
    ---- __init__.py
    ----sale_order_extension.py
    views
    ----sale_order_extension.xml
    __manifest__.py
    

    各自代码如下,基本按照https://www.cnblogs.com/SamNicole1809/archive/2019/06/03/10968113.html里边说明填入代码,后边我在对应的位置看不到新加的字段,,**是哪里出问题了吗?:anguished_face: **(下边图片中红圈的都点击过了)
    微信图片1.png
    微信图片2.png

    __init__.py代码如下:
    
    # -*- coding: utf-8 -*-
    
    from . import sale_order_extension
    

    sale_order_extension.py代码如下

    # -*- coding:utf-8 -*-
    """销售模块扩展"""
    
    from odoo import fields, models
    
    # 销售模块扩展
    class SaleOrderExtension(models.Model):
        """销售模块扩展"""
        _inherit = 'sale.order'
    
        # 销售员
        x_salesman = fields.Many2one(
            'res.users',
            string='销售员',
            related='partner_id.user_id'
        )
    

    sale_order_extension.xml代码如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <odoo>
    
        <record id="view_order_form_modify" model="ir.ui.view">
            <field name="name">view.order.form.modify</field>
            <field name="model">sale.order</field>
            <field name="inherit_id" ref="sale.view_order_form"/>
            <field name="arch" type="xml">
                <!-- 增加``销售员``字段 -->
                <xpath expr="//group/group/field[@name='partner_id']"
                       position="after"
                >
                    <field name="x_salesman" />
                </xpath>
            </field>
        </record>
    <record id="view_order_tree_modify" model="ir.ui.view">
            <field name="name">view.order.form.modify</field>
            <field name="model">sale.order</field>
            <field name="inherit_id" ref="sale.view_quotation_tree_with_onboarding"/>
            <field name="arch" type="xml">
                <!-- 增加``创建人``字段 -->
                <xpath expr="//field[@name='date_order']"
                       position="after"
                >
                    <field name="create_uid" />
                </xpath>
            </field>
     </record>
    
    </odoo>
    
    __manifest__.py代码如下:
    
    # -*- coding: utf-8 -*-
    {
        'version': '0.1',
        # any module necessary for this one to work correctly
        'depends': ['base', 'sale',],
        # always loaded
        'data': [
        # 'security/ir.model.access.csv',
        'sale_order_extension.xml',
        ],
    }
    

  • 在调拨的tree视图中添加收货人姓名电话和地址,怎么添加?
    风 风飞花

    是需要在代码里边加吗?
    还有,https://www.cnblogs.com/SamNicole1809/archive/2019/06/03/10968113.html这个连接中的说的在models目录中创建sale_order_extension.ph,是指在~\odoo\addons\sale目录下的那个models吗?:anguished_face:

  • 登录

  • 没有帐号? 注册

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