允许使用简单的方案管理条形码阅读器

odoo12-addon-stock-scanner的Python项目详细描述


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

此模块允许通过简单的场景管理条形码阅读器:

  • 您可以为每个对象定义一个工作流(拣货、库存、销售等)
  • 适用于所有扫描仪硬件型号(仅需要ssh客户端)

模块的"demo"目录中提供了一些演示/教程场景。 在安装带有演示数据的新数据库时,会自动导入这些方案。

安装

可以从pip:

安装特定客户机 < Buff行情> $pip安装odo sentinel

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

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

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

配置

在odoo中

申报硬件

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

转到"库存配置扫描配置扫描硬件"并创建新记录。

"odoo sentinel"客户端在启动时发送的"步骤类型代码"是硬件的IP地址(如果通过ssh连接)。

如果需要,启用登录/注销

该模块带有两个预定义的登录和注销场景。默认情况下,此功能被禁用,并且要在中使用的用户 odoo必须在odoo sentinel使用的 .odoorpcrc 文件中指定,并且可以在扫描仪硬件定义中重写。 在Odoo,

如果启用了登录/注销功能,当用户使用odoo sentinel启动会话时,只有登录场景显示在 屏幕。该场景将提示用户登录并输入pwd。如果身份验证成功,将完成与odoo的每个交互 使用连接用户的uid。连接后,注销场景将显示在可用场景列表和登录名中 情景不再出现。

登录/注销功能允许您在方案中指定一个用户列表和/或一个可以访问方案的组列表。

< dl >
要启用登录/注销功能:
> UL>
  • 转到"设置>;仓库",选中"启用登录/注销场景"复选框。
  • 创建一个 技术用户 "sentinel" 不带人力资源中的角色并选中"sentinel:technical users"。
  • 使用此用户启动ODOO Sentinel会话。
  • 注意,sentinel:technical users是一个技术角色,只能由sentinel使用。

    会话超时由专用cron管理,该cron重置非活动会话。可以在上配置超时 设置。"设置>;仓库"

    对于Odoo Sentinel客户端

    Odoo Sentinel客户端使用OdoorPC配置文件连接到Odoo。 默认配置文件是 ~/.odorpcrc ,但可以使用 -c / –config 参数对其进行自定义。 有关示例,请参见 硬件/odoorpcrc.sample 文件。

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

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

    注意 :如果要将应用程序复制到此Git存储库之外,还需要复制i18n文件夹。

    自动配置功能

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

    只有当ODOO服务器和连接的硬件位于同一网络上时,才能使用此功能。

    编写场景

    创建

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

    创建步骤后,可以直接从odoo编写python代码,也可以使用首选的代码编辑器导出场景以编写python代码。

    < dl >
    在每个步骤的python代码中,有一些变量可用:
    > UL>
  • CR:光标指向数据库
  • uid:执行步骤的用户的id(用于使用sentinel登录的用户,或在硬件上配置的用户,如果有的话)
  • pool:pooler到数据库
  • env:用于执行场景的环境(新api)
  • 模型:场景中配置的模型上的pooler
  • 术语:当前场景的记录集
  • context:步骤中使用的上下文
  • M或消息:硬件发送的最后一条消息
  • t或终端:浏览执行步骤的硬件上的记录
  • tracer:用于访问此步骤的已用转换的跟踪程序的值
  • wkf或工作流:工作流服务
  • 场景:硬件当前场景的记录集
  • :odoo提供的翻译功能(与其他python文件一样可用)
  • 其中一些变量在转换条件执行时也可用。

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

    • 步骤类型代码,位于 act 变量中
    • 要在硬件屏幕上显示的消息,位于 res 变量中
    • 可选地,在 val 变量中的默认值
    步骤类型

    步骤类型主要由客户端管理。

    标准步骤类型为:

    • M:简单消息
    • F:最后一步,如M,但结束场景
    • T:文本输入
    • n:数字输入(整数)
    • Q:数量输入(浮点)
    • L:列表
    • E:错误信息,如M,但显示的颜色不同
    • C:确认输入
    • A:自动步进。此类型用于自动执行下一步
    < div > <注< > >

    自动步骤通常需要在 val 中定义一个值,对应于用户必须发送的值。 在某些情况下(例如,当一个值可用于列表步骤时),此步骤类型通常用于在步骤代码末尾通过重新定义 act 变量来替换另一个类型。

    导入

    场景与任何其他数据一样,在模块更新时自动导入。 您只需将路径添加到 scenario\u name.scenario 文件的 data demo 部分的 .py 文件中。

    出口

    导出脚本位于模块的 脚本 目录中 < dl >

    场景导出为一组文件,其中包含:
    > UL>
  • scenario_name.scenario:场景的全局描述(名称、仓库、步骤、转换等)
  • 每个步骤一个.py文件:文件名是步骤的xml id
  • 使用测试文件

    在开发场景时,您通常需要运行相同的步骤。 odoo sentinel客户端允许您提供一个文件,其中包含场景中按下的键。

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

    示例测试文件可以在"步骤类型"演示方案中找到。

    特殊键 : 对于特殊键(箭头、删除等),您必须写一行包含":",后跟光标键代码。

    < dl >
    有效的密钥代码是:
    > UL>
  • 向下键:向下箭头
  • 向上键:向上箭头
  • 左键:左箭头
  • 右键:右箭头
  • 退格键:退格键
  • 按键:删除
  • 欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java游戏!框架伪造应用程序它实际上做什么?   java如何在JavaFx中显示表视图中的即时更改?   对象类的equals()方法的java重载   xpages介绍如何部署java。IBM Notes中的策略更改   java如何访问侦听器中的另一个视图?   java getDefaultDisplay()的替代方法是什么   java opencv匹配模板   java Android Firebase写入数据时的常量超时   在Java中,如何将包含大量空格的数字字符串转换为一系列Int变量。   带有GUI的swing Java模拟无法运行模拟   java NoSuchElementException在特定的Web端上使用无头铬和硒   java对文件进行迭代,即使文件在目录中也会出现“未找到文件”异常。你能告诉我为什么吗?谢谢   递归Java 8,匿名递归嵌套方法   java为什么我看到枚举常量的字段值会被序列化/反序列化?在哪种情况下,枚举中哪些内容没有序列化?   java在运行sonar scanner和Spotbugs规则时出错,用于单片项目?   java如何检查硬件键盘是否可用?(黑莓)   tile游戏动作侦听器循环中的java错误   sockets Java线程池与高请求场景中的新线程   java如何使用Hibernate注释在联接表上创建索引?