允许通过简单场景管理条码阅读器
项目描述
库存扫描仪:扫描硬件的工作流程引擎
本模块允许通过简单场景管理条码阅读器
可以为每个对象(库存拣选、库存、销售等)定义工作流程
与所有扫描硬件型号兼容(仅需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 文件中的 data 或 demo 部分,添加您的 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 工作流不同,每个步骤都需要找到有效的转换,因为步骤需要始终显示在硬件屏幕上。
为 Datalogic PowerScan 扫描仪开发了针对此模块早期版本的客户端。文件已删除,但在 git 仓库历史记录 中仍然可用。
错误追踪:
错误在 GitHub Issues 上跟踪。如果在遇到问题,请检查是否已报告您的问题。如果您首先发现它,请通过提供详细且受欢迎的 反馈 来帮助我们。
致谢:
图片:
Odoo 社区协会:图标。
贡献者:
Alexandre Fayolle <afayolle.ml@free.fr>
Christophe CHAUVET <christophe.chauvet@syleam.fr>
Damien Crier <damien@crier.me>
Laetitia Gangloff <laetitia.gangloff@acsone.eu>
Laurent Mignon <laurent.mignon@acsone.eu>
Olivier Dony <odo@openerp.com>
Sebastien LANGE <sebastien.lange@syleam.fr>
Sylvain Garancher <sylvain.garancher@syleam.fr>
维护者
本模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
要为此模块做出贡献,请访问https://odoo-community.org。
项目详情
哈希值 for odoo11_addon_stock_scanner-11.0.1.3.0-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 147af2675a6bbc491211f44b75678531d50a91d67c4452f2fca6a227a5e7b89a |
|
MD5 | 319c2ecbbd37fdc8a9a62dc541a4c054 |
|
BLAKE2b-256 | fe8d3851190a67db4dfd41e25866575c6cb0df3798faacdee77c75b02f3ae54f |