Вычисление математических выражений

27.12.18

Разработка - Математика и алгоритмы

Калькулятор математических выражений. В 1С производится ввод данных и отображение результата, вычисление выражения происходит на javascript (пример интеграции 1С+JS)

Скачать файлы

Наименование Файл Версия Размер
Вычисление математических выражений:
.epf 16,98Kb
2
.epf 16,98Kb 2 Скачать

Вычисление математических выражений

Арифметические операторы Логические операторы Операторы сравнения Функции
+ ! = AVG
- & > ABS
* | < ACOS
/   <= ASC
%   >= ASIN
^   <> ATAN
      CDATE
      CHR
      COS
      DATE
      FIX
      HEX
      IIF
      LCASE
      LEFT
      LOG
      MAX
      MID
      MIN
      RIGHT
      ROUND
      SIN
      SQRT
      TAN
      UCASE
 

Пример:

Выражение: 5*LOG(1000)*-2/3+MAX(4,6%7)
Результат: = -17.025850929940457

 

Тестировалось на платформе 1С:Предприятие 8.3.12.1412 (в тонком, толстом и web клиентах, а также в режиме совместимости 8.2.13)

Ссылка на javascript оригинал: https://www.codeproject.com/articles/12116/javascript-mathematical-expression-evaluator

 

обработка калькулятор математика 1C javascript вычисление математических выражений

См. также

Метод Дугласа-Пойкера для эффективного хранения метрик

Математика и алгоритмы Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    1754    stopa85    12    

33

Алгоритм симплекс-метода для решения задачи раскроя

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    4423    user1959478    50    

34

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    7464    4    SpaceOfMyHead    17    

56

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    7855    7    kalyaka    11    

44

Изменения формата файлов конфигурации (CF) в 8.3.16

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Дополнение по формату файлов конфигурации (*.cf) в версии 8.3.16.

16.12.2021    4446    fishca    13    

36

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    8840    John_d    73    

46

Механизм анализа данных. Кластеризация.

Математика и алгоритмы Анализ учета Платформа 1С v8.3 Анализ и прогнозирование Бесплатно (free)

Подробный разбор, с примером использования, встроенного механизма кластеризации 1С.

31.08.2021    7806    dusha0020    8    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gaglo 05.09.18 10:20 Сейчас в теме
Это с какой целью опубликовано?
Показать пример интеграции 1С+JS на задаче вычисления математических выражений
или же решить задачу вычисления математических выражений, предлагая подходящий путь - интеграцию 1С+JS ??
Текст публикации настолько краток, что я хочу, но не могу задать более содержательный вопрос...
2. DO_WHILE_LOOP 358 05.09.18 13:52 Сейчас в теме
(1) А Вы с какой целью интересуетесь и какой более содержательный вопрос хотите задать? Почему "настолько краткий" текст публикации не дает Вам это сделать? Чего по Вашему мнению недостаточно в этой публикации?
3. СергейКа 669 05.09.18 18:01 Сейчас в теме
(2) Наверное потому что при такой стоимости нет примера практического применения? 2/3 из описанного реализованы средствами платформы. Остальное либо мало востребовано, либо имеет способ расчета с помощью имеющихся функций.
5. DO_WHILE_LOOP 358 05.09.18 21:31 Сейчас в теме
(3) "2/3 из описанного реализованы средствами платформы. Остальное либо мало востребовано, либо имеет способ расчета с помощью имеющихся функций."
этот функционал не доступен в режиме предприятия, и что в таком случае делать обычному пользователю которому нужно быстро произвести например инженерный рассчет
П.С. Не зря же возникают такие вопросы https://forum.infostart.ru/forum9/topic52646/
7. СергейКа 669 05.09.18 21:34 Сейчас в теме
(5) Во первых там для 77 вопрос, во вторых - автору кроме математики еще спелл-чекер не помешал бы по русскому, а в третьих что мешает вывести платформенные средства на форму кнопками. Так что это не аргумент )))
PS. Я ни в коем случае не ругаю. Возможно это и полезный функционал, который мне просто не требуется. Но вот возник вопрос интереса - зачем?
Если для каких-то сложных математических расчетов, то есть специальные программы для этого. Хотя постепенно и встроенный функционал в 1С появляется. Как например вот это: https://wonderland.v8.1c.ru/blog/mekhanizm-resheniya-sistem-lineynykh-algebraicheskikh-uravneniy/
Реализуете это на смеси 1С и javascript?
9. DO_WHILE_LOOP 358 05.09.18 21:51 Сейчас в теме
(7) Цель публикации показать альтернативный вариант быстрого решения, а именно использовать уже готовую кодовую базу реализованную на другом языке программирования.
10. DO_WHILE_LOOP 358 05.09.18 22:33 Сейчас в теме
(7) На смеси 1С и javascript много чего можно реализовать, начиная с интерфейса (дашбордов, различных виджетов и рабочих мест) и заканчивая работой с BigData, нейронными сетями https://habr.com/post/304414/ и искуственным интелектом https://js.tensorflow.org/
4. gaglo 05.09.18 18:27 Сейчас в теме
(2) В том-то и дело. Попробуйте еще раз прочесть мой вопрос и свой текст. Вы не знаете, но и я не знаю, какие вопросы я захотел бы задать. Но вы, похоже, боитесь вопросов. Чего недостаточно - я написал в первый раз. Ответьте вроде "Я захотел просто показать как я умею - так и еще вот еще так" - и вопросов к вам не будет. Правда-првада!!
6. DO_WHILE_LOOP 358 05.09.18 21:34 Сейчас в теме
(2) Интересный у Вас стиль общения
8. DO_WHILE_LOOP 358 05.09.18 21:43 Сейчас в теме
(2) Обработка в первую очередь предназначена для пользователей которым необходим такой функционал.
11. DO_WHILE_LOOP 358 05.09.18 23:52 Сейчас в теме
(2) для начала в профиль заглянули бы, чтобы не делать поспешных предположений, а если бы, Вам было действительно интересно, то давно бы уже исследовали обработку и возможно бы вынесли для себя, что нибудь интересное, например:

как оптимизировать работу с кодом на javascript в 1С используя кеширование
как решить проблему не оптимальной работы со строками в 1С
как решить проблему двойной инициализации в 1С встроенного компонента поля HTML

в качестве бонуса:

пройдя по ссылке на оригинал реализованный в javascript и исследуя его сорцы можно обнаружить, что код модульно разбит по файлам Evaluator.js Stack.js Tokanizer.js JsHashMap.js и т.п.(общим весом около 100Кб), а в обработке используется только один bundle.min.js (почти в 10 раз меньшего объема) немного подумав и погуглив можно было бы выяснить почему так было сделано, а исследовав минимизированный код возможно и обнаружить

как на глобальном уровне в javascript отключить обработку ошибок и вывод модального сообщения (без правок реестра windows)

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

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

П.П.П.С. Сорри за мой плохой французский (спел-чекер действительно мне бы не помешал)
12. gaglo 08.09.18 20:37 Сейчас в теме
(11) Ну дык: если бы в публикации было сразу написано то, что содержится в комменте (11) - вот эти "как, как, как" - я бы ничего и не спрашивал. Ведь можем, если захотим!
ППСы:
для начала в профиль заглянули бы
да не хочу... ну зачем мне это?
если бы, Вам было действительно интересно
мне было действительно непонятно , а не интересно - это не синонимы.
По поводу стоимости, надеюсь Вы не будете отрицать...
буду ;-] если была бы цена 1 стармарка, я бы, может, и потратил бы ее, а за 10 не буду, и вы не получите ни 10, ни 1, а получите чистый 0....
И сильно подозреваю, что матерому разработчику было бы легче быстрее (эффективнее?) переписать данный функционал на чистый 1С, возможно, потеряв бы при этом какие-то функции - или FIX, или HEX, чем связываться с JS. Даже
без правок реестра windows
Оставьте свое сообщение