Цифры обычно приходят в виде последовательности операций, например:
Отгружено 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 секунду:
Возможно реализовать по другому: для текстового поля при создании указать что это поле-вычислитель и указать для какого числового поля этот вычислитель. Т.е. понятно и кто того вычисляет и какую подсказку показывать для числового поля.
Ресурсов все это требовать не будет, потому что в расчетах везде будет участвовать цифровое поле, меняться будет только при редактировании текста Вычислителя. Если Текста-Вычислителя нету, то просто спокойно заносим число в числовое поле.
Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"
-
- Сообщения: 460
- Зарегистрирован: 23.05.2013 21:46
-
- Сообщения: 262
- Зарегистрирован: 16.12.2015 16:50
-
- Сообщения: 460
- Зарегистрирован: 23.05.2013 21:46
-
- Сообщения: 460
- Зарегистрирован: 23.05.2013 21:46
-
- Сообщения: 61
- Зарегистрирован: 26.04.2016 20:46
-
- Сообщения: 44
- Зарегистрирован: 18.07.2016 11:09
-
- Сообщения: 4126
- Зарегистрирован: 06.06.2012 13:54
-
- Сообщения: 6
- Зарегистрирован: 14.03.2017 19:23
-
- Сообщения: 2
- Зарегистрирован: 12.01.2017 11:47
-
- Сообщения: 1
- Зарегистрирован: 23.11.2016 18:37
Вычисляемые поля КРАЙНЕ необходимы, особенно для принятия решений на лету, например когда в ходе планерки выясняется что параметры части задач резко изменились, нужно перераспределить ресурсы...
Поддерживаю! Пора от вариаций на тему переходить к самой фуге. Зрители замерли в ожидании аж начиная с 2015 года...
Поддерживаю! Пора от вариаций на тему переходить к самой фуге. Зрители замерли в ожидании аж начиная с 2015 года...
-
- Сообщения: 460
- Зарегистрирован: 23.05.2013 21:46
Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"
Вот эта хотелка крайне близка к реализации:
появилась функция в сценариях — вычислить значение поля.
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) Вычисляем значение строки и заносим куда нам надо.
Ну и добавить функцию вычислить поле не только в задачи, но и в аналитики и в справочники.
появилась функция в сценариях — вычислить значение поля.
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: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"
Теперь есть действие Вычислить значение поля в котором можно вычислять:Михаил Храпунов писал(а): ↑24.12.2015 14:09Хотелось бы иметь для числовых полей специальное поле "вычислитель" в которое в текстовом виде можно было бы занести всю эту полную информацию, например так:
5х10*200х2т+5
- поля типа Число;
- поля типа Строка или Текст;
- поля типа Дата и Дата и время.
-
- Сообщения: 460
- Зарегистрирован: 23.05.2013 21:46
Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"
И есть возможность по произвольной, меняющейся строке с формулой, хранящейся в поле, вычислить число?Илья Федоров писал(а): ↑14.04.2021 10:52Теперь есть действие Вычислить значение поля в котором можно вычислять:
Никак не могу найти описание, можно ссылку?
-
- Сообщения: 492
- Зарегистрирован: 21.01.2018 18:09
Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"
Михаил что значит "меняющейся строке с формулой", тут либоМихаил Храпунов писал(а): ↑14.04.2021 12:10И есть возможность по произвольной, меняющейся строке с формулой, хранящейся в поле, вычислить число?Илья Федоров писал(а): ↑14.04.2021 10:52Теперь есть действие Вычислить значение поля в котором можно вычислять:
Никак не могу найти описание, можно ссылку?
писать несколько сценариев с разными формулами используя в формуле поля задач, контактов, в том числе поля вида {{Задача.ПолеТипаЗаписьСправочника.ПолеСправочникаТипаЧисло}}
Либо использовать в формуле функцию Если например
Если({{Задача.Поле1}}>0;{{Задача.Поле1}}*{{Задача.ПолеКоличество}};{{Задача.Поле2}}*{{Задача.ПолеКоличество}})
-
- Сообщения: 460
- Зарегистрирован: 23.05.2013 21:46
Re: Для числовых кастомных полей сделать дополнительные текстовые поля "Вычислители"
Выше кейс описан: в текстовом поле задачи (или аналитики, лучше и там и там) находится выражение, значение которого надо вычислить и занести в другое поле, типа число.Илья Федоров писал(а): ↑14.04.2021 20:28Михаил что значит "меняющейся строке с формулой", тут либо
писать несколько сценариев с разными формулами используя в формуле поля задач, контактов, в том числе поля вида {{Задача.ПолеТипаЗаписьСправочника.ПолеСправочникаТипаЧисло}}
Либо использовать в формуле функцию Если например
Если({{Задача.Поле1}}>0;{{Задача.Поле1}}*{{Задача.ПолеКоличество}};{{Задача.Поле2}}*{{Задача.ПолеКоличество}})
Т.е. в каждом поле новой задачи — новая формула, сам пользователь пишет "формулу" в текстовое поле (сделать аналог функции EVAL из Visual Basic), при изменении текстового поля производить пересчет числового поля. Операции пока что предлагаю простейшие реализовать, как выше написано (грубо говоря арифметические действия). Дополнительные поля и сценарии на все случаи жизни для каждого вида формулы не создать, их множество.
Что мы получим: пользователь видит не только результат — число, но и как он получен — саму формулу и значения над которыми производились действия.
Еще пример: в Excel мы видим в ячейке значение, но если поместим в нее курсор, то увидим и формулу как оно получилось. И в каждой ячейке формула может быть своя. Иногда важно не только само значение, но и как оно посчитано. Примеры из своих кейсов я выше привел.