Страница 1 из 1

JS формула с условием не срабатывает - как правильно написать?

Добавлено: 26 фев 2021, 15:55
alcompstudio
Есть такая формула:

([281]=24) ? (Math.ceil(([272]*[273])/([276]*[277]))+[278])*([276]*[277])*[260] : ([260]*[261])

281 - это поле с выпадающим списком, ссылка на Глобальный. Тут идет проверка по ID значения глобального списка. Если оно равно 24, то выполняется 1-я математическая операция. В противном случае - должна выполниться другая мат.операция.

260 и 261 - это поля, с Числовым типом (в принципе, как и остальные поля, которые указаны в расчете)

Вот первое условие выполняется, расчет производится как нужно, несмотря на такую длинную формулу,
http://prntscr.com/107lfta
а противоположный результат не рассчитывается, дает "0"...
http://prntscr.com/107li66

Если условия "перевернуть" - то все равно срабатывает только первое условие, а расчет в формуле после "двоеточия" не дает результата.

Также пытался через функцию сделать:

Код: Выделить всё

my_function();
function my_function()
{
my_value = [260]*[261]
  if([281]=24)
  {
   return [260]*(Math.ceil(([272]*[273])/([276]*[277]))+[278])*([276]*[277])
  }
  else
  {
    return my_value
  }
}
Точно такая же ситуация, как я не "крутил"...

Что может быть не так, может я неправильно синтаксис составил?

Re: JS формула с условием не срабатывает - как правильно написать?

Добавлено: 27 фев 2021, 11:57
support
есть такая команда как console.log()
https://www.w3schools.com/jsref/met_console_log.asp
Пишите в коде

Код: Выделить всё

console.log([281])
и таким образом проверяете значения полей.

Re: JS формула с условием не срабатывает - как правильно написать?

Добавлено: 27 фев 2021, 16:36
alcompstudio
Я не пойму что и куда вставлять...

Добавил поле для проверки с типом JS формула, в нее вставил это выражение

Код: Выделить всё

console.log([281])
http://prntscr.com/108g25v

Далее на странице открыл форму редактирования, открыл консоль через F12, переключал значение в поле 281, но никаких ошибок, кроме изначально "загруженной" такой не появилось
http://prntscr.com/108g4ku

Т.е. ошибка, которая сейчас отображается возникает как-то поочередно - через одну перезагрузку CTRL+F5 страницы
вот сейчас перегрузил, и нет ошибки http://prntscr.com/108g6b8

Я понимаю, что не то что-то делаю, возможно, но что нужно сделать и как правильно?

Re: JS формула с условием не срабатывает - как правильно написать?

Добавлено: 27 фев 2021, 19:23
nruslan2
попробуйте в формуле использовать двойное равно
([281]==24) ? (Math.ceil(([272]*[273])/([276]*[277]))+[278])*([276]*[277])*[260] : ([260]*[261])

Re: JS формула с условием не срабатывает - как правильно написать?

Добавлено: 27 фев 2021, 21:00
alcompstudio
nruslan2 писал(а): 27 фев 2021, 19:23 попробуйте в формуле использовать двойное равно
([281]==24) ? (Math.ceil(([272]*[273])/([276]*[277]))+[278])*([276]*[277])*[260] : ([260]*[261])
Спасибо вам большое! Так все работает, я еще думал за это двойное равно, но как-то не дошел, решил, что у меня какая-то ошибка может.