Bonita BPM在几列中返回0.00

时间:2019-05-07 08:26:31

标签: bonita

我创建了3个用于进行计算的变量

我叫一个(第一个变量)numberOfNights = Name , Value = numberOfNights type = Stringthe second one (Second Variable) perdiem = Name , Value = perdiem type = String和最后一个  是我用于某些计算的javascript表达式

现在我使用了一些像这样的Javascript函数:

var CalculateAmount = Number($data.perdiem) * Number($data.numberOfNights);
return CalculateAmount

当我创建另一个名称为PerdiemCalculateDays的Java类型的表达式时,现在保存。然后我将其绑定到输入小部件totalAmount

现在我将其作为我的FormInput,假设它可以保存数据

{
  "travelRequestInput" : {
    "departureDate" : null,
     "numberOfNights":0,
    "fullname" : "",
    "hotelNeeded" : false,
    "origin" : "",
    "destination" : "",
    "reason" : "",
    "supervisorName" : "",
    "supervisorEmail" : "",
    "perdiem":0,
    "totalAmount":0
  }
}

应该将数据保存在数据库中的formOutput看起来像这样:

return {
    'travelRequestInput': $data.formInput.travelRequestInput,
    'numberOfNights': $data.numberOfNights,
    'perdiem': $data.perdiem,
    'totalAmount': $data.PerdiemCalculateDays.value
};

但是相反,我在数据库中却得到空列,每次这样都需要0.00

enter image description here

除了其他方面似乎还不错,连接器和工作流程也很好。

1 个答案:

答案 0 :(得分:0)

这里的问题是,您定义的用于启动流程实例的合同的结构与您发送的JSON结构不匹配。

这种不匹配来自您通过formOutput变量构建JavaScript对象引用的方式。

您应该查看formOutput值的定义,并将窗体小部件直接绑定到formInput属性(formOutput将重用存储在formInput中的信息)。

如果您需要有关表单变量,提交按钮和合同的更多详细信息,可以阅读我在Bonitasoft社区论坛上提供的answer