工作流

ERPNext 中的典型“工作流”涉及多个阶段,用于管理业务运营的不同方面。它从创建文档开始,然后经过一系列步骤。用户可以通过分配任务并跟踪进度来跟踪每个文档的状态并与团队成员协作。

ERPNext 通过自动化需要多人多阶段关注的重复性任务来简化流程。ERPNext 提供全面的工作流,以提高组织内各个部门的生产力和效率。

  • 工作流状态
  • 工作流操作
  • 工作流
  • 工作流转任务

工作流

通过工作流,您可以重写 ERPNext 中特定流程/工作流的审批方式。

您可以为 ERPNext 工作流设置多个审批级别。为了允许多人提交多个请求,并由多个用户进行审批,ERPNext 要求您填写工作流条件。ERPNext 会在提交前跟踪多个权限。

考虑一个场景,其中报价单需要多个级别的审批。销售人员(具有“销售用户”角色的用户)将创建报价单。然后由销售主管(具有“销售经理”角色的用户)批准或拒绝。如果销售主管批准,则进一步由区域经理(具有“区域经理”角色的用户)批准或拒绝。

要创建工作流和转换规则,请前往:

首页 > 设置 > 工作流

创建工作流后,您可以通过工作流操作对其执行操作。

  1. 前提条件

在创建工作流之前,建议先创建以下内容:

  • 工作流操作
  • 工作流状态,例如“已批准”、“已取消”等。
  1. 如何创建工作流

  1. 前往工作流列表,点击“新建”。
  2. 工作流输入名称,并选择要应用到的文档类型。
  3. 输入工作流的不同状态。为其输入文档状态,从“更新字段”列中选择要更新的字段,在“更新值”下输入要更新成的值。

工作流状态可以根据状态显示不同的颜色。例如:绿色表示成功。文档状态:已保存 = 0,已提交 = 1,已取消 = 2。

4. 输入转换规则。

2.2 创建工作流时的注意事项

  • ERPNext 中创建工作流本质上会覆盖常规的保存和提交工作流。因此,文档将根据您的工作流运行,而不是基于预设的代码工作流。因此,如果您在创建的工作流中没有指定提交按钮/选项,则可能没有提交按钮/选项。

如果您没有对文档应用工作流,并且该文档是可提交的,那么它将具有默认工作流,状态为:草稿 – 已提交 – 已取消。如果您对可提交文档应用工作流,则这些默认状态应由用户处理。

  • 文档只有在提交后才能取消。
  • 如果您希望提供取消选项,则必须编写一个工作流转换步骤,说明从“已提交”状态可以取消。
  • 如果“更新字段”列下的字段未更新,则会使用您在“工作流状态字段”字段中设置的名称创建一个新的自定义字段。

2.3 工作流的其他选项

  1. 是否启用:勾选此项后,所选文档类型的所有其他工作流将变为非活动状态。

  2. 不覆盖状态:此工作流的状态不会覆盖列表视图中文档(报价单)的状态。

  3. 发送邮件提醒:将向具有下一个可能工作流操作的用户发送电子邮件。

  4. 功能


3.1 启用/禁用可选工作流状态

在版本 12 中引入

在状态中,可选工作流状态意味着该状态可能不是最终审批的一部分。

例如,“已取消”或“已拒绝”等状态可以是可选的。

注意: 不会为可选状态创建工作流操作。

3.2 条件

您还可以为转换添加适用条件。例如,在这种情况下,如果销售主管创建的报价单总额为 100,000 美元或以上,则必须由特定角色批准。为了实现这一点,在特定转换中,您可以为条件设置一个属性:

doc.grand_total <= 100000

这里,grand_total 是报价单“总计”字段的字段名称。要查看字段的字段名称,请前往菜单 > 自定义。

这可以扩展到文档的任何属性。

在版本 13 中引入

在版本 13 中,您可以在条件表达式中使用日期/时间、会话、get_value 和 get_list 函数。

允许的函数:

  • frappe.db.get_value
  • frappe.db.get_list
  • frappe.session
  • frappe.utils.now_datetime
  • frappe.utils.get_datetime
  • frappe.utils.add_to_date
  • frappe.utils.now

示例:

doc.creation > frappe.utils.add_to_date(frappe.utils.now_datetime(), days=-5, as_string=True, as_datetime=True)
  1. 报价单审批流程示例

当销售用户保存报价单时,文档状态将更改为“草稿”,点击提交后,状态将更改为“待销售经理审批”:

当销售经理登录时,他可以批准或拒绝。如果批准,文档状态将更改为“待区域经理审批”。

当区域经理打开报价单时,他可以最终“批准”或“拒绝”它。

  1. 视频

  1. 工作流操作
  2. 分配规则

同步单据类型与事件日历

按照以下简单步骤,为销售订单、销售发票或任何其他文档类型创建日历视图

  • 在神奇栏/搜索栏中输入“日历视图列表”。
  • 点击“新建”以创建新的日历列表。
  • 选择您希望在日历中查看的参考文档类型。例如:销售订单。
  • 设置开始日期和结束日期字段。例如:交货日期。
  • 保存您的更改。

收件人收不到邮件怎么办

当发送电子邮件时,您假设收件人会收到该邮件,但如果您收到反馈说他们未收到邮件,请按照以下步骤进行故障排除:

  1. 将电子邮件发送到拼写错误或不存在的电子邮件地址会导致该邮件无法送达。虽然这看起来显而易见,但很容易被忽视,并且经常发生。

  2. 您可以进行的第二项检查是给自己发送一封电子邮件,这可以通过创建新的通信来实现。

前往通信列表 > 点击新建。

  1. 如果上述方法失败,请重新配置您的电子邮件账户。

前往电子邮件账户 > 打开电子邮件进行检查 > 如果您认为一切正确,请点击保存。如果配置有任何问题,系统会抛出错误,您可以根据错误进行相应修正。

  1. 检查电子邮件队列中是否有未发送的消息或任何错误。

如果状态为错误(如下方截图所示),您可以通过打开该电子邮件并向下滚动到错误字段来查找错误原因。

注意:错误可能与上方截图所示不同。

邮件收发错误

ERPNext 中,您可以自定义入站和出站电子邮件网关。保存电子邮件账户时,ERPNext 会尝试与您的电子邮件网关建立连接。如果您的 ERPNext 账户能够正常连接,则电子邮件账户会成功保存。如果无法连接,您可能会收到如下错误提示。

这表明,使用电子邮件账户中提供的登录凭据和其他电子邮件网关详细信息,ERPNext 无法连接到您的电子邮件服务器。请确保您为电子邮件网关输入了有效的电子邮件凭据。成功配置电子邮件账户后,您应该能够正常从 ERPNext 账户发送和接收电子邮件。

注意:默认情况下,您的 ERPNext 账户已连接到 ERPNext 电子邮件服务器。如果您不想使用自己的电子邮件服务器,可以继续使用 ERPNext 电子邮件服务器发送电子邮件,无需在电子邮件账户中进行任何配置。

在ERPNext中配置Sendgrid SMTP邮件

SMTP,即简单邮件传输协议,是一种快速简便的电子邮件发送方式,用于在服务器之间传输邮件。SendGrid 提供 SMTP 服务,允许您通过我们的服务器而不是您的客户端或服务器来发送电子邮件。ERPNext 内置了配置好的电子邮件客户端,因此您可以在 ERPNext 中发送和接收电子邮件,并在需要时将其附加到文档中。

集成 SendGrid 的 Web API

SendGrid 的 SMTP API 允许开发人员通过在邮件中插入 X-SMTPAPI 头来指定自定义的处理指令。

步骤 1:您需要创建一个 API 密钥来验证您的应用程序。在本例中,是 ERPNext。在此处了解有关通过 SMTP 集成 SendGrid 的更多信息。

点击 SMTP 中继

生成一个 API 密钥

步骤 2:创建 API 密钥后,您需要在您的 ERPNext 账户中进行配置 > 创建一个新的 电子邮件账户

电子邮件地址: 您的电子邮件地址

服务:选择 “SendGrid

勾选“使用不同的电子邮件 ID”

备用电子邮件 ID: apikey

密码:

外发服务器:

端口:

对于 SSL 连接,取消勾选“使用 TLS”选项

现在保存此信息,您已成功在 ERPNext 中配置了 SendGrid SMTP 电子邮件。

祝您成功!




配置回复邮箱地址

“回复地址”电子邮件地址是根据所需电子邮件账户中的“默认接收”复选框设置的。

前提条件:

您必须在“电子邮件账户”文档类型中为所需电子邮件地址创建一个电子邮件地址记录,例如,‘[email protected]’。

步骤:

在“电子邮件账户”文档类型中为电子邮件地址‘[email protected]’创建的记录中,启用“启用接收”复选框,然后启用“默认接收”复选框。启用“默认接收”复选框后,此电子邮件将被设置为“回复地址”中的电子邮件(示例截图如下)。

有关电子邮件账户的更多信息,请点击此处。

在通知邮件中包含文档链接

ERPNext 中发送电子邮件通知时,很多时候我们需要将单据 ID 作为链接包含在邮件消息中。例如,如果我们为每个新的物料需求单设置了提醒(通知),那么我们希望新物料需求单的链接也能通过电子邮件发送给我们。要进行设置,请按照以下步骤操作:

  1. 前往通知列表,点击新建。

  2. 为任意单据类型创建新通知。在本例中,我们以创建每个新物料需求单时发送电子邮件通知为例,如下所示。

  3. 要将关联记录的单据 ID 作为链接发送,请在邮件消息中复制以下代码片段:

    <a href="{{frappe.utils.get_url_to_form(doc.doctype, doc.name)}}">{{doc.name}}</a>

  4. 现在,当创建新的物料需求单时,由于上述设置的通知,您将收到以下电子邮件。

    点击链接后,您将跳转到新的物料需求单。

短信设置

您可以订阅短信服务商,向手机号码发送短信。

要在 ERPNext 中集成短信功能,请寻找提供 HTTP API 的短信网关服务商。他们会为您创建一个账户,并提供唯一的用户名和密码。

要访问短信设置,请前往:

首页 > 设置 > 短信设置

要在 ERPNext 中配置短信设置,请查找他们的 HTTP API(一份描述如何从第三方应用程序访问其短信接口的文档)。在这份文档中,您会得到一个用于通过 HTTP 请求发送短信的 URL。使用此 URL,您可以在 ERPNext 中配置短信设置。

示例短信网关 URL:

http://instant.smses.com/web2sms.php?username=&password;=&to;=&sender;=&message;=消息>发送者ID>手机号码>密码>用户名>

注意:对于短信网关 URL,只包含 “?” 之前的字符串。

示例:

http://instant.smses.com/web2sms.php?username=abcd&password;=abcd&to;=9900XXXXXX&sender; =DEMO&message;=THIS+IS+A+TEST+SMS

上述 URL 将从账户 abcd 向手机号码 9900XXXXXX 发送短信,发送者 ID 为 DEMO,文本消息为 “THIS IS A TEST SMS”。

请注意,URL 中的某些参数是静态的。您将从短信服务商处获得静态值,例如用户名、密码等。这些静态值应输入到静态参数表中。

如何使用 Voip.ms 配置 ERPNext

第一步是登录您的 voip.ms 账户。然后前往主菜单SOAP 和 REST/JSON API。启用 API,设置密码,并将您的服务器 IP 地址加入白名单。

然后前往 DID,在用于发送短信的号码上启用短信功能。

将短信网关设置为 https://voip.ms/api/v1/rest.php

将消息参数设置为 message

将接收者参数设置为 dst

创建 4 个新的静态参数:

  • api_username(voip.ms 账户用户名)

  • api_password(几分钟前配置的 API 密码)

  • method 将值设置为 sendSMS

  • did(用于发送短信的 10 位 DID 号码)

然后前往短信中心测试一切是否正常工作。

  1. 电子邮件账户
  2. 通知