Имя: Пароль:
1C
1С v8
Программное задание имени переменной
0 Игорь_МММ
 
29.09.16
12:33
можно ли программно задать имя переменной? смысл: пользователь задает определенные параметры и сам их обзывает , например, "Длина". Этот параметр строковый, хранится в таб.части Параметры. В другой момент выполнения кода у пользователя спрашивается значение этого параметра "Длина" и значение подставляется в формулу, потом вычисляется с помощью Вычислить().
У меня затык в след.: есть строка "Длина" - нужно создать перем. Длина. Как это сделать программно?
1 КоньЛапчатый
 
29.09.16
12:34
(0) выполнить()
2 Рэйв
 
29.09.16
12:42
(0)Да сделай структуру с заданными именами и не парься.
3 Игорь_МММ
 
29.09.16
12:42
написал так:
Длина =1;
    а= "Длина";
    выполнить("в=[а]+2");
ответ:
{(1,3)}: Ожидается выражение
в=<<?>>[а]+2
4 Игорь_МММ
 
29.09.16
12:43
(2) те чтобы пользователь задавал имена не произвольно,а  выбирал? .. это не можно (
5 Лефмихалыч
 
29.09.16
12:44
(3) Выполниить("в="+а+"+2");
6 Рэйв
 
29.09.16
12:45
(4)Да нет!

Струк=Новый Структура("ДанноеИмя1,ДанноеИмя2,ДанноеИмя3",Значене1,Значение2,Значение3);

Потом в структуре по дпнным именам будешь обращаться

Струк["ДанноеИмя1"]
7 Garykom
 
гуру
29.09.16
12:47
Писать свой интерпретатор на интерпретируемом языке... оригинальненько...
8 DailyLookingOnA Sunse
 
29.09.16
12:47
(7)
А в обмене по правилам КД как ты думаешь всё работает?
9 Рэйв
 
29.09.16
12:47
(5)"в" все равно надо выше инициализировать.
Иначе не скомпилится.
Будет кричать что переменная в неопределена, например при
Сообщить(в);
10 f_vadim
 
29.09.16
12:50
соответствие
запихиваешь, потом используешь
переменные["длина"]
11 VladZ
 
29.09.16
13:01
(0) Зачем давать пользователю такую возможность? Достаточно ошибиться в названии - и вся стройная система завалились.

В целом, как я вижу, задача поставлена некорректно.
12 Игорь_МММ
 
29.09.16
13:07
(9) так и есть. ошибка не вылезает, но в- не определена
(6) а как в "ДанноеИмя1" подставить произвольную строку?
делаю так, но без толку:

Длина = 1;
    в="Длина";
    Струк=Новый Структура(в,3);
    а= Струк["в"]+2;

(11)  он сам вводит название, потом по этому же названию у него (скорее всего у другого пользователя) спрашивается значение ,поэтому ошибки быть не может
13 Рэйв
 
29.09.16
13:09
Ты не тормоз, ты медленный газ!:-)

:
а= Струк[в]+2;
14 Игорь_МММ
 
29.09.16
13:09
(10) та же проблема: а если будет не "Длина" ,а "Ширина"?
15 Рэйв
 
29.09.16
13:09
(13) к (12)
16 Игорь_МММ
 
29.09.16
13:11
(13) Oh! yes !!!
спс
17 Лефмихалыч
 
29.09.16
13:20
(6) мне ТС напомнил вот это
https://www.youtube.com/watch?v=jw6TPI-uJxk
18 Рэйв
 
29.09.16
13:22
(17):-)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.