Bonita BPM возвращает 0,00 в нескольких столбцах

Я создал 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

когда я создал еще одну переменную типа Javascript Expression с именем PerdiemCalculateDays, теперь я сохраняю. Который я затем привязал к виджету ввода 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 каждый раз, как это

введите здесь описание изображения

Помимо того, что другие вещи, кажется, работают довольно хорошо, коннекторы и рабочие процессы в порядке.


person LooseCanon    schedule 07.05.2019    source источник


Ответы (1)


Ваша проблема заключается в том, что структура контракта, который вы определяете для запуска экземпляра процесса, не соответствует структуре JSON, которую вы отправляете.

Это несоответствие возникает из-за того, как вы создаете ссылку на объект JavaScript с помощью переменной formOutput.

Вам следует просмотреть определение значения formOutput и напрямую связать виджеты формы с атрибутами formInput (formOutput будет повторно использовать информацию, хранящуюся в formInput).

Если вам нужна дополнительная информация о переменных формы, кнопке отправки и контракте, вы можете прочитать ответ, который я предоставляю на форуме сообщества Bonitasoft.

person Antoine Mottier    schedule 13.05.2019