跳转到主要内容

允许使用条形码作为启动器

项目描述

Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

此模块允许使用条形码作为动作的启动器。

动作将启动一个函数,该函数使用条形码以返回一个动作。

目录表

使用方法

动作必须在上下文中配置以下数据:* 模型:可以找到方法的模型(必需) * 方法:要执行的方法(必需) * res_id:基础Id(可选)

该方法必须返回一个动作。使用示例数据安装此模块将安装一个演示应用程序,允许系统管理员通过条形码中编码的外部参考查找合作伙伴。

转到设置/查找合作伙伴并扫描包含现有合作伙伴内部参考的条形码。一旦读取条形码,系统就会将您重定向到该合作伙伴的表单视图。

此示例的技术实现

动作

<act_window id="res_partner_find"
    name="Find Partner"
    res_model="barcode.action"
    view_mode="form"
    view_type="form"
    context="{'default_model': 'res.partner', 'default_method': 'find_res_partner_by_ref_using_barcode'}"
    target="new"/>

<menuitem id="menu_orders_customers" name="Find partners"
    action="res_partner_find"
    parent="base.menu_administration"/>

Python代码

import json
from odoo import api, models, _
from odoo.tools.safe_eval import safe_eval


class ResPartner(models.Model):
    _inherit = 'res.partner'

    @api.multi
    def find_res_partner_by_ref_using_barcode(self, barcode):
        partner = self.search([('ref', '=', barcode)], limit=1)
        if not partner:
            action = self.env.ref('res_partner_find')
            result = action.read()[0]
            context = safe_eval(result['context'])
            context.update({
                'default_state': 'warning',
                'default_status': _('Partner with Internal Reference '
                                    '%s cannot be found') % barcode
            })
            result['context'] = json.dumps(context)
            return result
        action = self.env.ref('base.action_partner_form')
        result = action.read()[0]
        res = self.env.ref('base.view_partner_form', False)
        result['views'] = [(res and res.id or False, 'form')]
        result['res_id'] = partner.id
        return result

错误跟踪器

错误在GitHub问题上跟踪。如果在那里找不到您的问题报告,请检查是否有问题。如果您是第一个发现它的人,请提供详细的欢迎反馈,以帮助我们解决它。

请不要直接联系贡献者以寻求支持或帮助解决技术问题。

鸣谢

作者

  • Creu Blanca

  • ForgeFlow

贡献者

维护者

此模块由OCA维护。

Odoo Community Association

OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

此模块是GitHub上的OCA/server-ux项目的一部分。

欢迎您贡献力量。要了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程

构建分发

odoo_addon_barcode_action-17.0.1.0.0.4-py3-none-any.whl (35.6 kB 查看哈希值)

上传时间 Python 3

由以下提供支持