Как рассчитать разницу между числами, введенными в последней и предыдущей отправке веб-формы?

Главные вкладки

Аватар пользователя orel orel 28 декабря 2019 в 10:33

Задача очень простая, но не могу понять, как это сделать. Я сделала форму для отправки показаний счетчиков воды, которые вывожу на странице посредством views. Мне нужно произвести расчет, который показывает разницу между показанием, введенным, например, месяц назад, и текущим показанием. Например, пользователь отправил показание "24", потом "28". Каким образом я могу вывести разницу между этими числами?
Я поняла, как применять функцию суммы, но в данном случае мне нужна функция разницы.

Лучший ответ

Аватар пользователя ivnish ivnish 28 декабря 2019 в 11:04

Скажу сразу, такие информационные системы чисто на одном контрибе не сделать, хотя многие предпринимают попытки

Вам нужно написать код. Получить предыдущее значение с webform submission, текущее и затем произвести вычисления. Хотя само использование webform для ввода показаний тоже немного странно

Комментарии

Аватар пользователя ivnish ivnish 28 декабря 2019 в 11:04

Скажу сразу, такие информационные системы чисто на одном контрибе не сделать, хотя многие предпринимают попытки

Вам нужно написать код. Получить предыдущее значение с webform submission, текущее и затем произвести вычисления. Хотя само использование webform для ввода показаний тоже немного странно

Аватар пользователя orel orel 28 декабря 2019 в 11:21

Спасибо за ответ! Т.е. без своего кода я это сделать не смогу? Через поле computed twig невозможно вывести предыдущее значение? Я сейчас поняла, что в принципе я могу создать тип материала с нужными полями. Посмотрю, станет ли проще.

Аватар пользователя ivnish ivnish 28 декабря 2019 в 11:24

Я бы использовал тип материала с полями "предыдущее показание" и "последнее введенное показание". Там вы (возможно) сможете произвести вычисления через какой-нибудь контрибный модуль

Но еще раз скажу ИС для управляющих компаний это довольно сложные системы. Я говорю это, потому что у меня есть такой опыт. Я еще и с 1С делал интеграцию (куда ж без этого) Crazy

Аватар пользователя orel orel 28 декабря 2019 в 11:49

Безусловно, когда есть 2 показания, я могу сделать расчет. Но пользователю тогда придется руками вводить и предыдущее показание. Я установила в вебформе autofill settings. При новом введении поле показывает Текущее показание, введенное ранее. Но тогда нужно, чтобы это текущее показание стало предпоследним и пользователю осталось ввести новое показание. Интуитивно я понимаю, что это просто делается, но не хватает навыков в программировании.

Аватар пользователя ivnish ivnish 28 декабря 2019 в 11:55

Еще раз. Такие системы с наскока не пишутся. Нужно подумать весь функционал, а потом уже выбирать решения. Друпал для таких систем подходит отлично, но сама специфика ИС заставляет писать код