Имя: Пароль:
1C
1С v8
Передать ключом структуры Счетчик
0 Baters
 
07.04.14
19:48
Доброго времни суток.
Подскажите как можно передать в структуру в качестве ключа текущее значение счетчика....?

Структура= Новый Структура();
Ключище="Ключик";
Для Счетчик=1 По 50  Цикл
Структура.Вставить("Ключище"+Счетчик,"Значенице");
КонецЦикла;
Спасибо.
1 Михаил Козлов
 
07.04.14
19:50
Можно не мудрить со структурой, а использовать соответствие: в качестве ключа можно использовать произвольное значение.
2 Михаил Козлов
 
07.04.14
19:51
Если "Ключище"+Счетчик - строка, которая может быть именем переменной, то и со структурой должно пройти.
3 Baters
 
07.04.14
20:01
Ошибка - Задано не верное имя атрибута.
И матюкается на метод вставить....
Не могу разобраться почему.....

Структура= Новый Структура();
Для Счетчик=1 По 1000 Цикл
   КакоеЧисло=0;
    
    Для Счетчик1=1  по Счетчик  Цикл
       ВычеслениеЧисла=Счетчик%Счетчик1;
        Если ВычеслениеЧисла=0 Тогда
            
            КакоеЧисло=КакоеЧисло+1;
        КонецЕсли;    
     КонецЦикла;      
    
     Ключик="Число";
     ВидЧисла= ?(КакоеЧисло>2,"НеПпростое","Простое");    
    Структура.Вставить("Число"+Счетчик, "ВидЧисла");

КонецЦикла;
4 Михаил Козлов
 
07.04.14
20:09
Посмотрите в отладчике "Число"+Счетчик: может быть неразрывный пробел. В общем "Число"+Счетчик должно быть допустимо в качестве имени переменной.
Проще с Соответствие: Вставить(Счетчик, ВидЧисла). Кстати, в зачем Вы вставляете в качестве значения строку "ВидЧисла"?
5 Baters
 
07.04.14
20:22
Посмотрел, нет там пробелов :-(
Соответствие проще, но мне для практики нужно именно со структурой поработать.

>>Кстати, в зачем Вы вставляете в качестве значения строку "ВидЧисла"?
Кавычки случайно остались, когда разбирался в причинах ошибки.

Самое странное, то, что если идти пошагово, все работает....и структура наполняется ...
Но при завершении цикла выскакивает ошибка...
6 Михаил Козлов
 
07.04.14
20:39
1000 может дать недопустимый символ в имени из-за разделителя групп разрядов.
7 vi0
 
07.04.14
20:43
(3) для такого решение логично было бы использовать таблицу значений
8 Baters
 
07.04.14
20:54
Михаил, Вы совершенно правы.. в 1000 есть пробел....
Большое спасибо!!!
9 ДенисЧ
 
07.04.14
20:56
(8) Там нет пробела :-))))))))))))
10 Baters
 
07.04.14
21:05
>>1000 может дать недопустимый символ в имени из-за разделителя групп разрядов.

Як так нет пробела?
А что тогда подразумевается под разделителем групп разрядов?
11 Defender aka LINN
 
07.04.14
21:53
(10) Что в настройках задано на сервере. У нас как-то админы, сами того не зная, проучили любителей СтрЗаменить()
12 ДенисЧ
 
07.04.14
21:53
(10) Символы.НПП :-))
13 Baters
 
07.04.14
22:07
Сапасибо.