Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46
Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"

24.12.2015 14:09

Цифры обычно приходят в виде последовательности операций, например:
Отгружено 5 машин х 10 палетт в каждой х 200 коробов на палете х 2000 штук в коробе и + еще 5 штук= 20 000 005 штук. Значение 20 000 005 мы храним в числовом поле.

Хотелось бы иметь для числовых полей специальное поле "вычислитель" в которое в текстовом виде можно было бы занести всю эту полную информацию, например так:
5х10*200х2т+5

При изменениях этого текстового поля производить пересчет цифрового значения, хранящегося в этом числовом поле. Иметь возможность, например, при наведении на числовое значение курсора видеть эту текстовую цепочку.

При вычислениях переводить текстовые символы в соответствующие им операции: * x X — это умножить, + - — соответственно, также обрабатывать и скобки.

Очень удобно было бы хранить числовые значения с полным пониманием что и как происходило. В противном случае приходится отписывать эту информацию дополнительно в другом месте.

Добавлено спустя 2 минуты 17 секунд:
Пробелы и другие текстовые символы, не относящиеся к знакам математических операций и числовым значениям можно было бы просто убирать перед вычислениями.

Добавлено спустя 5 минут 50 секунд:
Еще пример: стоимость в рублях, но пересчитанных из долларов по курсу на день оплаты: 65,8547 х 20 USD.
Для расчета убираем все лишние текстовые символы, остается 65,8547х20 в числовое поле заносим 1317,094.
Т.е. дальше везде участвует значение 1317,094, но если нам хочется посмотреть откуда оно взялось мы наводим на него курсор и если был задан текстовый вычислитель, то видим его: 65,8547 х 20 USD и сразу понимаем, что стоимость пересчитывалась из долларов, по курсу 65,8547.
По моему очень удобно.
 

Добавлено спустя 4 минуты 31 секунду:
Возможно реализовать по другому: для текстового поля при создании указать что это поле-вычислитель и указать для какого числового поля этот вычислитель. Т.е. понятно и кто того вычисляет и какую подсказку показывать для числового поля.

Ресурсов все это требовать не будет, потому что в расчетах везде будет участвовать цифровое поле, меняться будет только при редактировании текста Вычислителя. Если Текста-Вычислителя нету, то просто спокойно заносим число в числовое поле.

Аватара пользователя
Халфин Тимур Маликович
Сообщения:262
Зарегистрирован:16.12.2015 16:50

29.12.2015 09:15

поддерживаю предложение

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46

30.12.2015 14:59

Букву т после цифры заменять перед вычислением на последовательность *1000. Млн после цифры заменять на *1000000.

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46

31.08.2016 13:27

Кто еще поддержит?

Аватара пользователя
Герасимов Андрей Владимирович
Сообщения:61
Зарегистрирован:26.04.2016 20:46

27.09.2016 14:56

Поддерживаю

Аватара пользователя
Sunford
Сообщения:44
Зарегистрирован:18.07.2016 11:09

30.09.2016 10:32

Поддерживаю (Дмитрий, и чем это не голосовалка с возможностью комментариев? )

Аватара пользователя
Dmitry Goncharenko
Сообщения:3916
Зарегистрирован:06.06.2012 13:54

01.10.2016 12:21

Это вариация на тему вычисляемых полей, к реализации которых мы сейчас приближаемся. Думаю, когда они появятся, то закроют и данный кейс тоже.

Аватара пользователя
Светлолобов Илья Михайлович
Сообщения:6
Зарегистрирован:14.03.2017 19:23

07.04.2017 11:58

Поддерживаю! Вычисляемые поля просто необходимы!

Аватара пользователя
Петр Петренко
Сообщения:2
Зарегистрирован:12.01.2017 11:47

07.04.2017 12:06

Вычисляемые поля также очень нужны и в сценариях.

Аватара пользователя
Сергей Гребенщиков
Сообщения:1
Зарегистрирован:23.11.2016 18:37

02.06.2017 12:05

Вычисляемые поля КРАЙНЕ необходимы, особенно для принятия решений на лету, например когда в ходе планерки выясняется что параметры части задач резко изменились, нужно перераспределить ресурсы...
Поддерживаю! Пора от вариаций на тему переходить к самой фуге. Зрители замерли в ожидании аж начиная с 2015 года...

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46

02.06.2017 12:15

+

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46

Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"

15.10.2019 16:09

Вот эта хотелка крайне близка к реализации:
появилась функция в сценариях — вычислить значение поля.

1) Мне не хватает только одного (точнее двух, см. ниже): функции по тексту выражения вычислить значение.
Т.е. аналог функции EVAL из MS ACCESS
https://support.office.com/ru-ru/articl ... 90da4d4166

Тогда в выражении:
5х10*200х2т+5
знаки, т, млн и т.п. заменяем единообразно при помощи функции ПОДСТАВИТЬ (SUBSTITUTE)
и потом вычисляем выражение при помощи необходимой функции EVAL и записываем его в новое поле.

2) И еще одна текстовая функция нужна: ОЧИСТИТЬ СТРОКУ ОТ ТЕКСТА, оставить только цифры, операции над цифрами, десятичные разделители.
Это чтобы обрабатывать подобное: 5 машин х 10 палетт в каждой х 200 коробов на палете х 2000 штук в коробе и + еще 5 штук.

Т.е.
исходное:
5 машин х 10 палетт в каждой х 200 коробов на палете х 2000 штук в коробе и + еще 5 штук.

Преобразования:
1) очищаем строку от постороннего текста:
5х10х200х2000+5
2) заменяем разнообразные знаки операций на единообразные:
5*10*200*2000+5
3) Вычисляем значение строки и заносим куда нам надо.

Ну и добавить функцию вычислить поле не только в задачи, но и в аналитики и в справочники.

Аватара пользователя
Илья Федоров
Сообщения:492
Зарегистрирован:21.01.2018 18:09

Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"

14.04.2021 10:52

Михаил Храпунов писал(а):
24.12.2015 14:09
Хотелось бы иметь для числовых полей специальное поле "вычислитель" в которое в текстовом виде можно было бы занести всю эту полную информацию, например так:
5х10*200х2т+5
Теперь есть действие Вычислить значение поля в котором можно вычислять:
- поля типа Число;
- поля типа Строка или Текст;
- поля типа Дата и Дата и время.

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46

Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"

14.04.2021 12:10

Илья Федоров писал(а):
14.04.2021 10:52
Теперь есть действие Вычислить значение поля в котором можно вычислять:
И есть возможность по произвольной, меняющейся строке с формулой, хранящейся в поле, вычислить число?
Никак не могу найти описание, можно ссылку?

Аватара пользователя
Илья Федоров
Сообщения:492
Зарегистрирован:21.01.2018 18:09

Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"

14.04.2021 20:28

Михаил Храпунов писал(а):
14.04.2021 12:10
Илья Федоров писал(а):
14.04.2021 10:52
Теперь есть действие Вычислить значение поля в котором можно вычислять:
И есть возможность по произвольной, меняющейся строке с формулой, хранящейся в поле, вычислить число?
Никак не могу найти описание, можно ссылку?
Михаил что значит "меняющейся строке с формулой", тут либо
писать несколько сценариев с разными формулами используя в формуле поля задач, контактов, в том числе поля вида {{Задача.ПолеТипаЗаписьСправочника.ПолеСправочникаТипаЧисло}}
Либо использовать в формуле функцию Если например
Если({{Задача.Поле1}}>0;{{Задача.Поле1}}*{{Задача.ПолеКоличество}};{{Задача.Поле2}}*{{Задача.ПолеКоличество}})

Аватара пользователя
Михаил Храпунов
Сообщения:451
Зарегистрирован:23.05.2013 21:46

Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"

15.04.2021 10:09

Илья Федоров писал(а):
14.04.2021 20:28
Михаил что значит "меняющейся строке с формулой", тут либо
писать несколько сценариев с разными формулами используя в формуле поля задач, контактов, в том числе поля вида {{Задача.ПолеТипаЗаписьСправочника.ПолеСправочникаТипаЧисло}}
Либо использовать в формуле функцию Если например
Если({{Задача.Поле1}}>0;{{Задача.Поле1}}*{{Задача.ПолеКоличество}};{{Задача.Поле2}}*{{Задача.ПолеКоличество}})
Выше кейс описан: в текстовом поле задачи (или аналитики, лучше и там и там) находится выражение, значение которого надо вычислить и занести в другое поле, типа число.
Т.е. в каждом поле новой задачи — новая формула, сам пользователь пишет "формулу" в текстовое поле (сделать аналог функции EVAL из Visual Basic), при изменении текстового поля производить пересчет числового поля. Операции пока что предлагаю простейшие реализовать, как выше написано (грубо говоря арифметические действия). Дополнительные поля и сценарии на все случаи жизни для каждого вида формулы не создать, их множество.

Что мы получим: пользователь видит не только результат — число, но и как он получен — саму формулу и значения над которыми производились действия.

Еще пример: в Excel мы видим в ячейке значение, но если поместим в нее курсор, то увидим и формулу как оно получилось. И в каждой ячейке формула может быть своя. Иногда важно не только само значение, но и как оно посчитано. Примеры из своих кейсов я выше привел.

Ответить