Бонита BPM возвращает 0,00 в нескольких столбцах - PullRequest
0 голосов
/ 07 мая 2019

Я создал 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 каждый как здесь

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

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

1 Ответ

0 голосов
/ 13 мая 2019

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

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

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

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

...