Вопрос № 156870: Здравствуйте. Может быть тут уже звучал этот вопрос, но всё же... В моей конфигурации заложена возможность формирования пользователем произвольных формул расчёта и установки значений переменных, используемых в этих формулах. На выходе получается стро...
Вопрос № 156.870
Здравствуйте. Может быть тут уже звучал этот вопрос, но всё же... В моей конфигурации заложена возможность формирования пользователем произвольных формул расчёта и установки значений переменных, используемых в этих формулах. На выходе получается строка формулы с уже подставленными значениями, т.е. например: пользователь сформировал строку формулы Q*R*(T1-T2)/(S1-S2), затем в эту строку вместо переменных Q,R,T1,T2 и т.д. программно подставляются реальные значения, преобразованные в строковый тип. Вопрос: Как
рассчитать полученную строку по правилам арифметики ? Подобных операторов в 1Cv77 я не обнаружил (для сравнения: в Visual FoxPro был похожий оператор EVALUTE). Можно ли реализовать подобное при помощи запрсов, и если да,- то как ? P.S. Писать функцию разбора строки и расчёта по правилам арифметики, учитывая наличие и положение скобок, не хотелось бы, да и не уверен, что будет работать всегда корректно...
Отправлен: 07.01.2009, 07:18
Вопрос задал: Бонч Бруевич
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Яна
Здравствуйте, Бонч Бруевич! Почитайте про оператор Выполнить.
Ответ отправила: Яна (статус: Практикант)
Ответ отправлен: 07.01.2009, 11:02
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240483 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Ovr1970
Здравствуйте, Бонч Бруевич! Очень просто В 1С есть аналогичный оператор - Шаблон("[<Мат.выражение>]") Т.е. если у Вас уже опубликованы переменные Q,R,T1,T2,S1,S2, то Ответ=Шаблон("[Q*R*(T1-T2)/(S1-S2)]");
Ответ отправил: Ovr1970 (статус: Практикант)
Ответ отправлен: 07.01.2009, 15:57
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240497 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.