Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Зачем Вычислить?

Зачем Вычислить?
Я
   Abmo
 
21.01.13 - 07:55
А = Вычислить("500 + 500*20/100");
 
А = 500 + 500*20/100; Так ведь тоже работает
 
 
   Живой Ископаемый
1 - 21.01.13 - 07:56
в этом контексте не надо, нужно в другом. Если не хватает фантазии придумать в каком - это уже другой вопрос
   Abmo
 
2 - 21.01.13 - 07:58
(1) Это пример из СП. Реалистичней примеров небыло
   Kavar
 
3 - 21.01.13 - 07:59
Если бы авто хотя бы для приличия заглянул в СП, не задавал бы таких глупых вопросов.
   Kavar
 
4 - 21.01.13 - 08:00
Вычислить (Eval)
Синтаксис:

Вычислить(<Выражение>)
Параметры:

<Выражение> (обязательный)

Тип: Строка.
Выражение, которое требуется вычислить.
Возвращаемое значение:

Результат вычисления выражения. Тип возвращаемого значения зависит от типа выражения.
Описание:

Вычисляет переданное выражение. С помощью метода можно вычислять математические и логические выражения, а также операции конкатенации. Подробнее про выражения см. раздел "Выражения языка".

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

А = Вычислить("500 + 500*20/100");
А = Вычислить("Истина и Ложь");
А = Вычислить("""Иван"" + "" "" + ""Иванович""");
 


(2) вот пример из справки встроенной.
   Живой Ископаемый
5 - 21.01.13 - 08:01
2(2) Лучи сочувствия
   Wist
 
6 - 21.01.13 - 08:04
(0) В первую очередь, для выполнения динамически создаваемого кода. По примеру того, как во многих типовых решениях в зависимости от контекста собирается текст запроса, передается в объект типа Запрос и выполняется.
   Defender aka LINN
 
7 - 21.01.13 - 08:07
(0) Особенно когда "500 + 500*20/100" вводит пользователь в поле ввода, ага.
   aka AMIGO
 
8 - 21.01.13 - 08:34
...
Если РезультатПолучен Тогда
ФормулаРасчета = ИсходныеДанные.ФормулаРасчета;//Любой из Видов Расчетов, предусмотренных в УПП
 
Попытка
Результат = Вычислить(ФормулаРасчета);
...

И всё это счастье получено сложным умственным приемом - Поиск строки "Вычислить" в УПП 1.2...
Основная конфигурация ОбщийМодуль.ПроведениеРасчетов.Модуль(1228, 18) : Результат = Вычислить(ФормулаРасчета);

В этом модуле рассчитываются данные для зарплаты, предусмотренные в Видах Расчетов (ВР) по зарплате. В каждом ВР есть формула, составленная из параметров, соединенных с помощью 4 арифметических действий, остается подставить в параметры нужные значения и подсунуть формулу в оператор "Вычислить(...)"
   SeraFim
 
9 - 21.01.13 - 08:45
(0) В блоке расчета зарплаты пользователь может сам произвольную формулу задать.
Её "Вычислить", и готово)
   aka AMIGO
 
10 - 21.01.13 - 08:46
кстати, там же, в ВР можно увидеть эти формулы
например, в ВР "Оклад по часам" формула:
Результат = Тарифная ставка месячная / Норма времени за месяц в часах * Отработанное время в часах

Все параметры в формуле - предустановленные, предусмотренные в конфе.

Есть возможность ваять свои ВР в справочник, но параметры надо впихивать те, что известны. Если захочется применить свой - вас ждет жюткий обломс..
 
 Рекламное место пустует
   Maxus43
 
11 - 21.01.13 - 09:15
формулы - это частность применения. Целые алгоритмы с его помощью можно фигачить, в т.ч. запросы и т.д.
   Maxus43
 
12 - 21.01.13 - 09:20
Как пример - есть справочник "фоновые_задания" - туда код исполняемый, а на фоновое задание повешен этот справочник. Имеем выполнение в фоновом задании любого алгоритма (не одного, а сколько надо), не ковыряя пофигуратор. Так же настройку расписания прикрутили. короче есть варианты использования

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует