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

27.12.18

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Вычисление математических выражений:
.epf 16,98Kb
3
3 Скачать (1 SM) Купить за 1 850 руб.

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

Арифметические операторы Логические операторы Операторы сравнения Функции
+ ! = 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    3165    stopa85    12    

38

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

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

19.10.2023    7556    user1959478    51    

36

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

Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.

2 стартмани

29.09.2023    3111    maksa2005    8    

26

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

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

1 стартмани

09.06.2023    10905    7    SpaceOfMyHead    18    

61

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

Три задачи - три идеи - три решения. Мало кода, много смысла. Мини-статья.

03.04.2023    4361    RustIG    9    

25

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

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

23.11.2022    3531    gzharkoj    14    

25

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

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

1 стартмани

21.03.2022    9042    7    kalyaka    11    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gaglo 05.09.18 10:20 Сейчас в теме
Это с какой целью опубликовано?
Показать пример интеграции 1С+JS на задаче вычисления математических выражений
или же решить задачу вычисления математических выражений, предлагая подходящий путь - интеграцию 1С+JS ??
Текст публикации настолько краток, что я хочу, но не могу задать более содержательный вопрос...
2. DO_WHILE_LOOP 359 05.09.18 13:52 Сейчас в теме
(1) А Вы с какой целью интересуетесь и какой более содержательный вопрос хотите задать? Почему "настолько краткий" текст публикации не дает Вам это сделать? Чего по Вашему мнению недостаточно в этой публикации?
3. СергейКа 670 05.09.18 18:01 Сейчас в теме
(2) Наверное потому что при такой стоимости нет примера практического применения? 2/3 из описанного реализованы средствами платформы. Остальное либо мало востребовано, либо имеет способ расчета с помощью имеющихся функций.
5. DO_WHILE_LOOP 359 05.09.18 21:31 Сейчас в теме
(3) "2/3 из описанного реализованы средствами платформы. Остальное либо мало востребовано, либо имеет способ расчета с помощью имеющихся функций."
этот функционал не доступен в режиме предприятия, и что в таком случае делать обычному пользователю которому нужно быстро произвести например инженерный рассчет
П.С. Не зря же возникают такие вопросы https://forum.infostart.ru/forum9/topic52646/
7. СергейКа 670 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 359 05.09.18 21:51 Сейчас в теме
(7) Цель публикации показать альтернативный вариант быстрого решения, а именно использовать уже готовую кодовую базу реализованную на другом языке программирования.
10. DO_WHILE_LOOP 359 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 359 05.09.18 21:34 Сейчас в теме
(2) Интересный у Вас стиль общения
8. DO_WHILE_LOOP 359 05.09.18 21:43 Сейчас в теме
(2) Обработка в первую очередь предназначена для пользователей которым необходим такой функционал.
11. DO_WHILE_LOOP 359 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
Оставьте свое сообщение