Имя: Пароль:
1C
1С v8
Формирование имени процедуры и ее вызов
,
0 mzelensky
 
04.07.12
14:17
Доброго всем еще раз!

Допустим есть процедуры (в данном случае 3, но вообще их больше):

Процедура_Тест_1()
Процедура_Тест_2()
Процедура_Тест_3()

Далее, в другом обработчике, я выполняю некие действия и в зависимости от условий должен буду вызвать нужную процедуру. Можно ли как-то программно сформировать имя процедуры в виде текста, а затем вызвать ее. Что-то типа такого:

ИмяПроцедуры="Процедура_Тест_"+Строка(НомерНужной)+"()";
И вызвать этот обработчик. ?!?!?!
1 Zmich
 
04.07.12
14:19
Выполнить(ТекстКода)
2 mzelensky
 
04.07.12
14:22
(1) а "ТекстКода" будет именем процедуры?
3 Zmich
 
04.07.12
14:26
Выполнить (Execute)
Синтаксис:
   Выполнить(<Строка>)

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

Описание:
Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения.
4 ДенисЧ
 
04.07.12
14:26
(2)
ИмяПроцедуры="Процедура_Тест_"+Строка(НомерНужной)+"()";
Выполнить(ИмяПроцедуры);
5 Fragster
 
гуру
04.07.12
14:27
(4) ты лучше бы следил, почему СП без твоего ведома распространяют в (3)
6 эцп
 
04.07.12
14:27
(2) Будет кодом, который хочешь выполнить, можно написать даже "а = б", и ведь присвоится!
7 mzelensky
 
04.07.12
14:28
Я "выполнить" я знаком. Это единственный вариант?
8 fly7
 
04.07.12
14:31
File = "";
Srvr = "";
Ref = "";

СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
Выполнить(СтрокаСоединения);
9 Stepa86
 
04.07.12
14:40
(7) тебя не смущает, что "Выполнить" и "Вычислить" как раз для таких случаев и введены?
10 mzelensky
 
04.07.12
14:44
Хорошо, сделаю так.
11 palpetrovich
 
04.07.12
15:00
офигенное счастье потом кому-то такой код анализировать :/
12 Irbis
 
04.07.12
15:02
(11) Это проблемы индейцев, шерифу пофиг