跳转到主要内容

允许通过简单场景管理条码阅读器

项目描述

License: AGPL-3

库存扫描仪:扫描硬件的工作流程引擎

本模块允许通过简单场景管理条码阅读器

  • 可以为每个对象(库存拣选、库存、销售等)定义工作流程

  • 与所有扫描硬件型号兼容(仅需SSH客户端)

模块的“demo”目录中有一些演示/教程场景。这些场景在安装包含演示数据的全新数据库时会自动导入。

安装

可以从pip安装特定于odoo-sentinel的客户

$ pip安装odoo-sentinel

此应用程序是单独的客户,可以在任何设备上运行。

对于移动设备,如Windows Mobile或Android智能条码扫描仪,我们通常将其安装在服务器上,通过SSH访问。

为了测试该模块,一些模块提供了场景。

配置

在Odoo中

声明硬件

您必须在Odoo中声明一些硬件扫描仪。

转到“库存 > 配置 > 扫描仪配置 > 扫描硬件”并创建一条新记录。

启动时“odoo-sentinel”客户发送的“步骤类型代码”是硬件的IP地址,如果是通过SSH连接的话。

如果需要,启用登录/登出

该模块包含2个预定义的登录和登出场景。该功能默认禁用,并且要在Odoo中使用的用户必须在odoo-sentinel使用的.odoorpcrc文件中指定,并且可以在Odoo中扫描硬件定义中覆盖。

如果启用了登录/注销功能,当用户使用 odoo-sentinel 开始会话时,屏幕上只会显示登录场景。该场景将提示用户输入登录名和密码。如果认证成功,与 Odoo 的每次交互都将使用连接用户的 uid。一旦连接,注销场景将在可用的场景列表中显示,登录场景将不再出现。

登录/注销功能允许您在场景中指定有权访问该场景的用户列表和/或组列表。

要启用登录/注销功能
  • 转到“设置 > 仓库”并勾选“登录/注销场景启用”复选框。

  • 创建一个名为“sentinel”的技术用户,没有人力资源角色,并勾选“Sentinel: 技术用户”。

  • 使用此用户启动您的 odoo-sentinel 会话。

请注意,角色 Sentinel: 技术用户 是一个技术角色,应仅由 sentinel 使用。

会话超时由专门的 cron 管理,它会重置非活动会话。超时可以在设置中进行配置。“设置 > 仓库”

对于 odoo-sentinel 客户端

odoo-sentinel 客户端使用 OdooRPC 配置文件连接到 Odoo。默认配置文件是 ~/.odoorpcrc,但可以进行自定义,使用 -c/–config 参数。有关示例,请参阅 hardware/odoorpcrc.sample 文件。

如果命令行中没有给出 -p/–profile 参数,则将使用名为 sentinel 的配置文件。

可以使用 -l/–log-file 参数定义用于记录错误的文件,默认为 ~/sentinel.log

注意:如果您想将应用程序复制到 git 仓库之外,则需要同时复制 i18n 文件夹。

自动配置功能

odoo-sentinel 客户端具有自动配置功能,用于自动识别连接的硬件。在初始化期间,odoo-sentinel 客户端会尝试检测 SSH 连接,并将终端的 IP 地址作为终端代码发送。如果在数据库中配置的硬件的 code 字段上找到该 IP 地址,则将自动使用此硬件配置。如果未找到 IP 地址,客户端将要求用户输入(或扫描)代码。

这只能在 Odoo 服务器和连接的硬件位于同一网络时使用。

编写场景

创建

开始创建场景的首选方式是在图表视图中创建步骤和转换。

创建步骤后,您可以直接从 Odoo 编写 Python 代码,或者可以将场景导出以使用您首选的代码编辑器编写 Python 代码。

在每个步骤的 Python 代码中,一些变量是可用的
  • cr : 数据库游标

  • uid : 执行步骤的用户 ID(用于通过 sentinel 登录的用户,或配置在硬件上的用户,如果有的话)

  • pool : 数据库池器

  • env : 执行场景时使用的环境(新 API)

  • model : 场景配置的模型上的池器

  • term : 当前场景上的记录集

  • context : 步骤上使用的上下文

  • m 或 message : 硬件发送的最后一条消息

  • t 或 terminal : 执行步骤的硬件上的浏览记录

  • tracer : 用于访问此步骤的转换的跟踪器值

  • wkf 或 workflow : 工作流服务

  • scenario : 硬件上的当前场景记录集

  • _ : Odoo 提供的翻译函数(可在任何其他 Python 文件中使用)

其中一些变量也适用于转换条件执行。

如前所述,步骤必须始终返回

  • 步骤类型代码,在 act 变量中

  • 要在硬件屏幕上显示的消息,在 res 变量中

  • 可选的,默认值,在 val 变量中

步骤类型

步骤类型大多由客户端管理。

标准步骤类型包括:

  • M : 简单消息

  • F : 最终步骤,类似于M,但结束场景

  • T : 文本输入

  • N : 数字输入(整数)

  • Q : 数量输入(浮点数)

  • L : 列表

  • E : 错误消息,类似于M,但以不同颜色显示

  • C : 确认输入

  • A : 自动步骤。此类型用于自动执行下一步

导入:

场景在模块更新时会自动导入,就像其他数据一样。您只需在 __manifest__.py 文件中的 datademo 部分,添加您的 Scenario_Name.scenario 文件路径。

导出:

导出脚本位于模块的 script 目录中

场景作为一组文件导出,包含
  • Scenario_Name.scenario : 场景的全局描述(名称、仓库、步骤、转换等)

  • 每个步骤一个 .py 文件:文件名是步骤的 XML ID

使用测试文件:

在开发场景时,您将经常运行相同的步骤。Odoo-sentinel 客户端允许您提供包含场景期间按下的键的文件。

您可以在 -t/–test-file 参数中定义要使用的文件。当场景等待用户输入时(包括换行符),将读取此文件而不是调用 curses 方法。当文件完全读取后,客户端退出。

示例测试文件可以在“步骤类型”演示场景中找到。

特殊键:对于特殊键(箭头、删除等),您必须写入一行,包含一个“:”,后跟 curses 键代码。

有效的键代码是
  • KEY_DOWN : 向下箭头

  • KEY_UP : 向上箭头

  • KEY_LEFT : 向左箭头

  • KEY_RIGHT : 向右箭头

  • KEY_BACKSPACE : 退格键

  • KEY_DC : 删除

用法:

启动时,客户端列出可用的场景。当用户选择一个场景时,当前场景和步骤将被存储在 Odoo 硬件配置条目中。

当客户端向服务器发送消息时,将根据当前步骤和发送的消息选择下一步。然后,服务器返回步骤的结果,其中包含其类型代码和在硬件屏幕上显示的文本。与标准 Odoo 工作流不同,每个步骤都需要找到有效的转换,因为步骤需要始终显示在硬件屏幕上。

Try me on Runbot

为 Datalogic PowerScan 扫描仪开发了针对此模块早期版本的客户端。文件已删除,但在 git 仓库历史记录 中仍然可用。

错误追踪:

错误在 GitHub Issues 上跟踪。如果在遇到问题,请检查是否已报告您的问题。如果您首先发现它,请通过提供详细且受欢迎的 反馈 来帮助我们。

致谢:

图片:

  • Odoo 社区协会:图标

贡献者:

维护者

Odoo Community Association

本模块由OCA维护。

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

要为此模块做出贡献,请访问https://odoo-community.org

项目详情


下载文件

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

源分布

此版本没有提供源分布文件。请参阅生成分布存档的教程

构建分布

odoo11_addon_stock_scanner-11.0.1.3.0-py2.py3-none-any.whl (380.2 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面