允许通过简单场景管理条形码扫描仪
项目描述
库存扫描仪:扫描硬件的工作流引擎
此模块允许通过简单场景管理条形码扫描仪
您可以定义每个对象的流程(库存拣选、库存、销售等)
适用于所有扫描硬件型号(只需SSH客户端)
在模块的“demo”目录中有一些示例/教程场景。这些场景在安装包含示例数据的新数据库时自动导入。
安装
特定的ncurses客户端“sentinel.py”位于“硬件”目录中。此应用程序是独立的客户端,可以在任何设备上运行。
对于移动设备,如Windows Mobile或Android智能条形码扫描仪,我们通常将其安装在服务器上,通过SSH访问。
如果您计划使用特定的“sentinel.py”,则需要从pip获取的“openobject-library”Python模块
$ sudo pip install “openobject-library<2”
为了测试模块,一些模块提供了场景。
配置
在Odoo中
声明硬件
您必须在Odoo中声明一些硬件扫描仪。
转到“仓库 > 配置 > 扫描硬件”并创建一个新记录。
“sentinel.py”客户端在启动时发送的“步骤类型代码”是硬件的IP地址,如果是通过SSH连接。
如果需要,请启用登录/注销
模块包含2个预定义的登录和注销场景。默认情况下,该功能是禁用的,用于Odoo的用户必须在sentinel使用的.oerp_sentinelrc文件中指定,并且可以在Odoo中的扫描硬件定义中覆盖。
如果启用了登录/注销功能,当用户与哨兵开始会话时,屏幕上只会显示登录场景。该场景会提示用户输入登录名和密码。如果认证成功,与Odoo的每次交互都将使用连接用户的uid。一旦连接,注销场景将在可用场景列表中显示,登录场景将不再出现。
登录/注销功能允许您在场景中指定具有访问该场景的用户列表和/或组列表。
- 要启用登录/注销功能
转到“设置 > 仓库”并勾选登录/注销场景启用复选框。
创建一个不带人力资源角色的技术用户 'sentinel',并勾选“Sentinel:技术用户”。
使用此用户启动您的哨兵会话。
请注意,角色Sentinel:技术用户是一个技术角色,应仅由哨兵使用。
会话超时由一个专门的cron管理,该cron重置非活动会话。超时可以在设置中配置。“设置 > 仓库”
对于sentinel.py客户端
sentinel.py客户端需要一个标准的ini格式的配置文件,该文件不是自动创建的。此文件可以命名为.oerp_sentinelrc、.openerp_sentinelrc或.odoo_sentinelrc,可以位于当前工作目录或用户的家目录中。
配置文件中指定的用户由sentinel.py客户端用于连接到Odoo。可以通过设置User字段来覆盖硬件,以执行定义用户步骤,而无需为每个需要连接的用户创建配置文件。
此文件仅包含服务器连接信息(主机名、端口、用户名、密码和数据库名)。
[openerp] 主机 = localhost 密码 = admin 数据库 = demo
有关示例,请参阅hardware/odoo_sentinelrc.sample文件。
注意:如果您想将应用程序复制到git存储库之外,您还需要复制i18n文件夹。
自动配置功能
sentinel.py客户端具有自动配置功能,用于自动识别连接的硬件。在初始化过程中,sentinel.py客户端尝试检测SSH连接,并将终端的IP地址作为终端代码发送。如果IP地址在数据库中配置的硬件的code
字段上找到,则将自动使用此硬件配置。如果找不到IP地址,客户端将要求用户输入(或扫描)代码。
此功能只能在Odoo服务器和连接的硬件位于同一网络时使用。
编写场景
创建
开始创建场景的首选方法是在图表视图中创建步骤和转换。
创建步骤后,您可以直接从Odoo编写Python代码,或者可以将场景导出以使用您首选的代码编辑器编写Python代码。
- 在各个步骤的Python代码中,一些变量可用
cr:数据库游标
uid:执行步骤的用户ID(用于通过哨兵登录的用户,或者如果有的话,配置在硬件上的用户)
pool:数据库池器
env:用于执行场景的环境(新API)
model:场景配置的模型上的池器
custom:自定义值模型上的池器
term:当前场景上的记录集
context:步骤上使用的上下文
m或message:硬件发送的最后一条消息
t或terminal:执行步骤的硬件上的浏览记录
tracer:用于访问此步骤的使用的转换的跟踪器值
wkf 或 workflow:工作流服务
场景:当前硬件场景的记录集
_:Odoo 提供的翻译函数(用法与任何其他 Python 文件相同)
其中一些变量也存在于转换条件执行过程中。
如前所述,步骤必须始终返回
步骤类型代码,在 act 变量中
要在硬件屏幕上显示的消息,在 res 变量中
可选,默认值,在 val 变量中
步骤类型
步骤类型大多由客户端管理。
标准步骤类型包括
M:简单消息
F:最终步骤,类似于 M,但结束场景
T:文本输入
N:数字输入(整数)
Q:数量输入(浮点数)
L:列表
E:错误消息,类似于 M,但以不同的颜色显示
C:确认输入
A:自动步骤。此类型用于自动执行下一步
导入
场景在模块更新时自动导入,就像任何其他数据一样。您只需在 __openerp__.py 文件中的 data 或 demo 部分中添加您的 Scenario_Name.scenario 文件路径。
导出
导出脚本位于模块的 script 目录中
- 场景以一组文件的形式导出,包含
Scenario_Name.scenario:场景的全局描述(名称、仓库、步骤、转换等)
每个步骤一个 .py 文件:文件名称是步骤的 XML ID
使用测试文件
在开发场景时,您通常会运行相同的步骤。sentinel.py 客户端允许您提供包含场景中按下的键的文件。
您可以在配置文件中定义要使用的文件,在“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 odoo8_addon_stock_scanner-8.0.1.0.0.99.dev38-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b10ae7e3a0ef5d42e223d1b3761d5db4ecaccea15f47a18f7202443b628526d0 |
|
MD5 | db5a5f4bd50d995a59681a1a7c31ce28 |
|
BLAKE2b-256 | 03a2cd5b608f1cefa60987b4e6751d25edff23cc71af15a927cb72cdb4b25568 |