|
Прошу помощи в составлении цикла. | ☑ | ||
---|---|---|---|---|
0
popoff17
25.10.11
✎
06:23
|
Доброго времени суток, господа!
В обработке есть переменные: Перем1, Перем2, Перем3, ..... Перем30; В данный момент им присваевается значение так: Перем1 = 1; Перем2 = 2; Перем3 = 3; .......... Перем30 = 30; Вопрос такой: как можно это присваивание проделать в цикле? Просто там еще выполняется над ними много однотипных действий и код получается повторяющимся и очень нагроможденным, самому ориентироваться неудобно. Просто хотелось бы получить что-то типа такого: Пока N<30 Цикл ПеремN = N; КонецЦикла; Это я так наугад написал (не работает =)), в сети видел подобный пример, но вот что-то енайти не могу, а у самого не получается. Заранее спасибо! |
|||
1
Гефест
25.10.11
✎
06:25
|
Ну рассказывай, зачем тебе тридцать штук переменных
|
|||
2
Kavar
25.10.11
✎
06:26
|
(1)+1
Массивы придумали лохи? |
|||
3
popoff17
25.10.11
✎
06:28
|
Ребят, я просто упростил. а так - правлю чужую обработку, где запрос из документа выводит данные, а поля в документе проименованы так, что на конце цифра.
|
|||
4
popoff17
25.10.11
✎
06:31
|
(1)(2)
По существу совет бы... Так то оно понятно что было бы удобно все в массив засунуть и обрабатывать уже элемент массива, но сделано вот так уж |
|||
5
ZanderZ
25.10.11
✎
06:32
|
(0) документ["имяполя"+номерполя]
|
|||
6
Wobland
25.10.11
✎
06:34
|
(4) ну, раз сделано, тогда: Выполнить("Перем"+й+"="й);
|
|||
7
popoff17
25.10.11
✎
06:48
|
(5)
n = 1; Пока n < 30 Цикл ВыборкаПоСотр.ПервыйЧасов[n] = n; КонецЦикла; не прошло =( |
|||
8
Wobland
25.10.11
✎
06:49
|
(7) ВыборкаПоСотр.["ПервыйЧасов"+n] = n;
|
|||
9
Гефест
25.10.11
✎
06:49
|
(7) Внимательно читай (5)
|
|||
10
Wobland
25.10.11
✎
06:50
|
(7) 29 итераций будет. если н=н+1 сделаешь ;)
|
|||
11
popoff17
25.10.11
✎
07:04
|
Если (ВыборкаПоСотр.["ПервыйЧасов"+n] = n)
Вот именно так написал сейчас. Ошибки(цифрами ниже пометил): Если (ВыборкаПоСотр.1[2"ПервыйЧасов"+n] = n) 1 - ожидается идентификатор 2 - ожидается символ ")" |
|||
12
Wobland
25.10.11
✎
07:04
|
(11) точку убери
|
|||
13
popoff17
25.10.11
✎
07:20
|
Господа, всем премного благодарен!
Спасибо! |
|||
14
Ткачев
25.10.11
✎
07:36
|
А разве так нельзя ?
Для n = 1 по 30 Цикл ВыборкаПоСотр.ПервыйЧасов[n] = n; КонецЦикла; |
|||
15
Wobland
25.10.11
✎
07:41
|
(14) не похоже.
Возможно обращение к полям выборки посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) или имя поля выборки. |
|||
16
Ткачев
25.10.11
✎
07:46
|
(15)Я в смысле цикла, сейчас видимо так.
n = 1; Пока n < 30 Цикл ВыборкаПоСотр.ПервыйЧасов[n] = n; н=н+1; КонецЦикла; |
|||
17
Wobland
25.10.11
✎
07:49
|
(16) не понял меня. у автора имя поля "ПервыйЧасов1", "ПервыйЧасов2" и т.д. никакими индексами тут не пахнет, имя надо динамически генерить внутри []
|
|||
18
Ткачев
25.10.11
✎
07:54
|
(17)Я копипастю, а если так + цикл как Для n = 0 по 29 ?
ВыборкаПоСотр["ПервыйЧасов" + n] = n; |
|||
19
Wobland
25.10.11
✎
07:55
|
(18) ну вот как-то так у него и взлетело
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |