我创建了3个用于进行计算的变量
我叫一个(第一个变量)numberOfNights = Name , Value = numberOfNights type = String
,the 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
除了其他方面似乎还不错,连接器和工作流程也很好。
答案 0 :(得分:0)
这里的问题是,您定义的用于启动流程实例的合同的结构与您发送的JSON结构不匹配。
这种不匹配来自您通过formOutput变量构建JavaScript对象引用的方式。
您应该查看formOutput值的定义,并将窗体小部件直接绑定到formInput属性(formOutput将重用存储在formInput中的信息)。
如果您需要有关表单变量,提交按钮和合同的更多详细信息,可以阅读我在Bonitasoft社区论坛上提供的answer。