IDM 文档工作流示例

此示例解释了 OrderInvoicingCreditMemoLaser 后台任务。它是预定义文档工作流之一。当用户打印发票时,会运行 OrderInvoicingCreditMemoLaser 任务。当完成任务时,将运行此工作流,并且发票 PDF 文件将与对其进行标识的元数据一起发送至 Document Management,以便用户可以在 Document Management 中轻松找到此特定文档。在这种情况下,我们要包括的元数据是发票号,以及与发票关联的客户号和客户订单。

如果生成发票并查看活动的后台任务表单中的后台任务参数,则会看到逗号分隔参数列表。此工作流中的 vKeyText-01 隔离列表中的第四个参数,即发票编号,并将其置于适当的格式中。

获取发票号后,工作流使用指定的 IDO (SLInvHdrs) 获取有关发票的其他信息,包括与发票关联的客户号和客户订单。此信息将作为筛选元数据传递至 Document Management

工作流根据您提供的有关外部文档类型 (CS_SalesInvoice) 和实体类型 (InforSalesInvoice) 的信息确定在 Document Management 中存储文档文件的位置。您可以设置一个文档说明,该说明使用 KeyText 变量中的值以使文档说明有用,例如4677103_InforSalesInvoice

此表解释了 OrderInvoicing CreditMemoLaser 工作流中定义的值:

字段 说明
TaskName OrderInvoicingCreditMemoLaser 出现在后台任务定义表单中的 TaskName。
vKeyText01 StartInvoice= 搜索字符串。
vKeyText02 INSTR(E(eTaskParms1)、V(vKeyText01)) + LEN(V(vKeyText01)) 在 TaskParms1 字符串中找到 StartInvoice = 的起始位置。
vKeyText03 SUBSTRING(E(eTaskParms1)、V(vKeyText02), LEN(DBFUNCTION("ExpandKyByType"、"InvNumType", "A1"))) 从起始位置加上发票号的长度(10 个字符),从 TaskParms1 字符串中提取字符。
vKeyText04 DBFUNCTION("ExpandKyByType"、"InvNumType"、V(vKeyText03)) 将提取的字符串的值转换为发票号。
vIdoName SLInvHdrs 包含 InvoiceNumber 数据的 IDO 的名称。
vIdoFilter SUBSTITUTE("InvNum='{0}'", V(vKeyText04)) 筛选器在 IDO 中查找记录,例如,如果 vKeyText04 字段的计算结果为“4677103”,则 InvNum=’ 4677103’。
vIdoPropertyList CoNum,CustNum,InvNum 属于在 vIdoName 中列出的 IDO 的 IDO 属性列表。将使用与这些 IDO 特性值匹配的特性来对 Document Management 文档进行标记。
vExtDocName CS_SalesInvoice 用于存储提交文档的 Document Management 文档类型。
vExtMsgEntity InforSalesInvoice 在 JSON 消息中使用的 Infor Ming.le EntityType。
vExtDocDescription SUBSTITUTE("{0}_{1}", V(vKeyText04), V(vExtMsgEntity)) 如果 vKeyText04 估值为 InvNum =“4677103”,则以“4677103_InforSalesInvoice”的形式来创建有意义的文档说明时所使用的函数。