Имя: Пароль:
1C
 
Динамически создаваемые имена
0 Slovar
 
20.09.04
16:41
Суть проблемы в следующем:
Мне необходимо в цикле создать таблицу значений(примерно 5 итераций). Как задать имя для каждой таблицы что бы получилось например так(Таблица_1,Таблица_2,...,Таблица_5)
1 Волшебник
 
20.09.04
16:44
Воспользуйся конструкцией "Выполнить".
2 Волшебник
 
20.09.04
16:45
примерно так:

для н = 1 По 5 Цикл
  Выполнить("Таблица_" + н + " = Новый ТаблицаЗначений;");
КонецЦикла;
3 Slovar
 
20.09.04
17:00
Такая конструкция что-то не сработала
4 Волшебник
 
20.09.04
17:04
Действительно... Бум думать.
5 Волшебник
 
20.09.04
17:08
Если сначала объявить переменные:
   Перем Таблица_1;
   Перем Таблица_2;

то в конструкции Выполнить они замечательно получают свои значения.
6 Slovar
 
20.09.04
17:09
А если заранее не известно сколько их будет, то как мне поступать?
7 Волшебник
 
20.09.04
17:10
(6) Создай с запасом! :)
8 SiMazx
 
20.09.04
17:11
Вы меня послушайте... Я вам один глупый весчь скажу...
Восьмерку в глаза не видел, но по логике вышесказанного:
для н = 1 По 5 Цикл
 Выполнить("Перем Таблица_" + н +";");
КонецЦикла;
Не прокатит?
9 Волшебник
 
20.09.04
17:14
{Форма.Форма(5)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
Выполнить("Перем Таблица_" + н + " = Новый ТаблицаЗначений;");
{(1,1)}: Объявления переменных должны быть расположены в начале модуля, процедуры или функции
<<?>>Перем Таблица_1 = Новый ТаблицаЗначений;
10 SiMazx
 
20.09.04
17:15
Ну да, ну да... Глупость сморозил... Не подумав ляпнул...
11 Волшебник
 
20.09.04
17:20
Если переменные не объявить в модуле, то обращаться по именам к ним будет нельзя: синтаксический контроль не пропустит. Следовательно, имена не нужны совсем. Загоняй все таблицы значений в массив и работай с ним.
12 Slovar
 
20.09.04
17:22
Ок сечас попробую.
Спасибо :)
13 Rovan
 
гуру
27.10.04
13:54
(11) Да не массив нужен, а список значений, где значения ссылки на ТЗ.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.