跳转到主要内容

允许使用简单场景管理条形码读取器

项目描述

License: AGPL-3

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

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

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

  • 适用于所有扫描硬件型号(只需SSH客户端)

模块的“demo”目录中提供了一些演示/教程场景。这些场景在安装带有演示数据的数据库时将自动导入。

安装

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

$ pip install 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地址作为终端代码发送。如果IP地址在数据库中配置的硬件的code字段上找到,则将自动使用该硬件配置。如果未找到IP地址,客户端将提示用户输入(或扫描)代码。

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

编写场景

创建

启动场景创建的首选方法是创建图视图中的步骤和转换。

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

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

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

  • pool : 数据库池

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

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

  • term : 当前场景的记录集

  • context : 步骤使用的上下文

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

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

  • tracer : 用于访问此步骤所使用的转换的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

项目详情


下载文件

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

源代码发行版

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

构建发行版

odoo12_addon_stock_scanner-12.0.1.0.3-py3-none-any.whl (388.9 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

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