Имя: Пароль:
1C
1С v8
Динамическое создание переменных. Возможно ли?
,
0 YF
 
19.01.12
16:05
Возможно ли в модуле в определенной процедуре создать переменные модуля?

Например в модуле формы в ПриОткрытии создать переменную модуля с именем МояПеременная? Т.е. как будто бы написать в разделе переменных Перем МояПеременная.
1 Морозов Александр
 
19.01.12
16:06
нафиг?
2 alex-pro
 
19.01.12
16:06
Выполнить()
?
3 YF
 
19.01.12
16:06
(1) Интересно просто ...

(2) И что?
4 alex-pro
 
19.01.12
16:07
(3)
Ну там же можно написать
Переменная1 = "Значение";
Вот и создал))))
5 YF
 
19.01.12
16:07
(4) И как ее увидеть из другой процедуры?
6 Shurjk
 
19.01.12
16:08
Сделай соответствие и наполняй его как угодно.
7 Ненавижу 1С
 
гуру
19.01.12
16:08
(6) лучше Структура
8 Beduin
 
19.01.12
16:09
(5) Кого? Функцию?
9 Shurjk
 
19.01.12
16:09
(7) Чем лучше?
Вроде как ему переменная произвольного типа нужна.
10 YF
 
19.01.12
16:09
(6) Да я конкретный вопрос в (0) задал. У меня полоска даже больше твоей :-) => я знаю как организовать возможность хранения"списка" переменных с неизвестными заранее именами ...
11 YF
 
19.01.12
16:10
(8) Переменную. Читал (0)?
12 Ненавижу 1С
 
гуру
19.01.12
16:11
(9) вроде как в структурах ограничение только на Ключ
13 Ахиллес
 
19.01.12
16:12
(10) В таком случае ответ - НЕЛЬЗЯ.
14 YF
 
19.01.12
16:13
(13) печалька :-(
15 jsmith82
 
19.01.12
16:13
а какова твоя задача, автор
16 Shurjk
 
19.01.12
16:14
(10) А чего тогда спрашиваешь:)
17 YF
 
19.01.12
16:14
(15) Только то, что указано в (0)
18 Beduin
 
19.01.12
16:14
(14) При чем нигде нельзя. Не только в 1С.
19 Inform
 
19.01.12
16:14
(14) компилятор в 1С - однопроходный, не выйдет
20 YF
 
19.01.12
16:14
(16) Я не знаю ответ на вопрос в (0), вот и спрашиваю
21 jsmith82
 
19.01.12
16:14
такое невозможно ни в одном языке ни в одной платформе
22 YF
 
19.01.12
16:15
(18) Да у меня есть такое подозрение ибо модуль скомпилится еще до выполнения процедуры ...
23 Ахиллес
 
19.01.12
16:15
(15) Когда коту заняться нечем, он яйца лижет :-)
24 jsmith82
 
19.01.12
16:15
ну ты же тут хвастался полоской. вот я не могу понять, ладно бы, если бы это можно было где-нибудь сделать
вопрос какой-то логически противоречивый, даже не технический, а философский
25 YF
 
19.01.12
16:15
(23) Мне не достать :-D
26 YF
 
19.01.12
16:16
(24) Он и есть
27 alex-pro
 
19.01.12
16:17
(22)
Можно загрузить модуль из файла на ходу... в 7.7 так было.
А этот файл опять-таки на ходу написать)))))
28 Beduin
 
19.01.12
16:17
(22) В нормальных компиляторах и интерпритаторах переменные процедуры живут только в теле этой процедуры и доступны лишь через обращения к ней в виде возвращаемых параметров.
29 Beduin
 
19.01.12
16:18
(27) Я в одном месте видел больше 500 таких файлов)
30 Sonny
 
19.01.12
16:18
Однажды модули научатся программировать себя сами и вы все будете искать работу. Автора сжечь, как еретика, а то ведь накликает.
31 YF
 
19.01.12
16:18
(28) Я знаю
32 jsmith82
 
19.01.12
16:26
переменная модуля имеет следующие возможности:
обращение локально this["x"] или из другого модуля that["x"]
судя по задаче, автор хочет в процессе run-time получить возможность выполнить куски кода this["x"] или that["x"]
возможности использования именованных областей памяти определяются кодом с последующей компиляцией
поэтому задача может быть решена только перекомпиляцией модуля с последующим его линкованием
1с этого не умеет
33 orefkov
 
19.01.12
16:41
(21)
Ошибаетесь.
В JScript переменные на-лету влет создаются!
34 orefkov
 
19.01.12
16:43
+(33)
И даже не только переменные, но и функции.
35 Shurjk
 
19.01.12
16:47
(33) И как же?
36 orefkov
 
19.01.12
16:50
(35)
eval("myNewGlobalVar = undefined")
eval("function myNewFunction(a, b){return a + b}")

После этого и переменная, и функция доступны в коде.
37 pumbaEO
 
19.01.12
16:52
python тоже это умеет, но там это через импорт модуля сделано.
38 Shurjk
 
19.01.12
16:56
(36) Аналогичное и в 1с  есть - выполнить называется:)
39 orefkov
 
19.01.12
17:02
(38)
И что, после Выполнить переменная модуля появиться?
Ты этот на коленке сделанный русский бэйсик с могучим JavaScript не сравнивай :)
40 Shurjk
 
19.01.12
17:04
(39) В могучем джава скрипте то же переменная появиться только в рамках того объекта где будет выполнен это eval.
А насчет бэйсика зря ты так нынешний VB JS заткнет только в путь.
41 orefkov
 
19.01.12
17:05
(40)
Ой ли? Ответишь за eval?
42 Shurjk
 
19.01.12
17:06
(41) Еще скажи что в js есть глобальный модуль:)
43 Murzz
 
19.01.12
17:07
структуру делай и динамически пихай в нее что хочешь.
44 orefkov
 
19.01.12
17:08
(42)
Модуля глобального нет, а вот глобальный контекст - есть.
45 Shurjk
 
19.01.12
17:13
(44) Да ну насколько помнб минимальная еденица в джаве это объект.
46 Shurjk
 
19.01.12
17:14
(43) Ты не имеешь права ему такого советовать - у него полоска длиннее твоей:)
47 Murzz
 
19.01.12
17:41
(46) а я насчет длины не комплексую