Имя: Пароль:
1C
1С v8
Вычислить и произвольный код
0 toypaul
 
гуру
27.02.14
12:18
Как можно с помощью Вычислить выполнить произвольный код? В результате я всеравно получаю какое-то значение, но мне хочется там использовать все операторы языка. Минимум очень надо хотя бы установить значения переменных, которые потом будут использоваться дальше в вычислении.

Как это можно сделать?
1 Wobland
 
27.02.14
12:19
выполни что-нибудь
2 toypaul
 
гуру
27.02.14
12:19
(1) в смысле?
3 vicof
 
27.02.14
12:19
Выполнить (Execute)
Синтаксис:
    Выполнить(<Строка>)

Параметры:
    <Строка>
    Строка, содержащая текст исполняемого кода.

Описание:
Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения.

Примечание:
В режиме запуска веб-клиент оператор не поддерживается и его вызов игнорируется.

В режимах запуска мобильного приложения оператор не поддерживается в операционной системе iOS.
4 MSII
 
27.02.14
12:19
(0) Все - не получится.
5 mikecool
 
27.02.14
12:20
(0) объявить массив с переменными, менять их в вычислить, потом использовать дальше
6 toypaul
 
гуру
27.02.14
12:21
(3) уже интереснее. но похоже этот метод не возвращает значение?
7 toypaul
 
гуру
27.02.14
12:23
(5) не. это сложно. заполнение переменных производится в настройке пользователем.
8 МойКодУныл
 
27.02.14
12:24
(6) он исполняет переданный ему код. Ты же именно этого хотел.
9 toypaul
 
гуру
27.02.14
12:25
(8) ну да, но дальше я хочу получить все-таки результат вычисление этого когда. как делает это Вычислить.
10 MSII
 
27.02.14
12:26
(9) Делай так:

РезультатВыполненияАлгоритма = Ложь;
Выполнить("РезультатВыполненияАлгоритма = Истина;");
Если РезультатВыполненияАлгоритма Тогда
СделатьЧтоНибудь();
КонецЕсли;
11 vicof
 
27.02.14
12:26
(9) Суй в коде результат в какую-нить переменную
12 toypaul
 
гуру
27.02.14
12:27
наверное надо заменить

Возврат Вычислить(РазборВыражения);

надо

Результат = Неопределено;

Выполнить(РазборВыражения);

а в выражении присвоить Результат
13 toypaul
 
гуру
27.02.14
12:30
(10),(11) спасибо

плохо что этот метод в вебе отключаетеся...
в тонком клиенте точно будут использовать и на 8.3 собираются переходить...
14 MSII
 
27.02.14
12:32
(13) И еще Возврат использовать нельзя.