|
Как в цикле обратиться к области макета с номером? |
☑ |
0
Cray12
12.04.13
✎
16:10
|
Всем доброго дня.
Опишу ситуацию: есть макет, в нем есть 5 вертикальных областей. В коде получаю, соответственно, те же 5 - на пересечении каждой из описанных с горизантальной областью - "строкой".
И вот в чем проблема - надо в цикле "Для...По" обратиться к некоторым областям.
Например, я пишу:
ОбластьСтрокаТипЦен1 = Макет.ПолучитьОбласть("Строка|СтолбецЦен1");
ОбластьСтрокаТипЦен2 = Макет.ПолучитьОбласть("Строка|СтолбецЦен2");
ОбластьСтрокаТипЦен3 = Макет.ПолучитьОбласть("Строка|СтолбецЦен3");
ОбластьСтрокаТипЦен4 = Макет.ПолучитьОбласть("Строка|СтолбецЦен4");
ОбластьСтрокаТипЦен5 = Макет.ПолучитьОбласть("Строка|СтолбецЦен5");
Затем запускаю цикл, например:
Для Инд = 0 По СоответствиеТиповЦен.Количество() - 1 Цикл
ОбластьСтрока[Инд].Параметры.Цена = Цена;
КонецЦикла;
В этом примере неправильно написано обращение к области и вот вопрос: как в этом случае обратиться к ней правильно? Это вообще возможно?
|
|
1
Maxus43
12.04.13
✎
16:11
|
ОбластьСтрокаТипЦен[Инд]
|
|
2
Cray12
12.04.13
✎
16:15
|
(1) А, ну да, здесь я ошибся. Да, пытался именно так иии....не сработало. Пишет, что не определена переменная ОбластьСтрокаТипЦен.
|
|
3
and2
12.04.13
✎
16:18
|
сформируй из них массив или структуру - и перебирай
|
|
4
Cray12
12.04.13
✎
16:19
|
(3) Массив из областей?
|
|
5
НЕА123
12.04.13
✎
16:19
|
ОбластьСтрокаТипЦен = Массив;
ОбластьСтрокаТипЦен.Добавить(Макет.ПолучитьОбласть("Строка|СтолбецЦен1");
ОбластьСтрокаТипЦен.Добавить(Макет.ПолучитьОбласть("Строка|СтолбецЦен2");
|
|
6
yanejsh
12.04.13
✎
16:19
|
Для Инд = 0 По СоответствиеТиповЦен.Количество() - 1 Цикл
НужнаяОбласть = Макет.ПолучитьОбласть("Строка|СтолбецЦен"+Строка(Инд)+);
НужнаяОбласть.Параметры.Цена = Цена;
КонецЦикла;
|
|
7
НЕА123
12.04.13
✎
16:20
|
(5)+
массив тоже в цикле можно, если как (0).
|
|
8
Cray12
12.04.13
✎
16:21
|
(6) Да, так делал. Возникли проблемы, их действительно будет долго описывать, суть в том, что все уткнулось в необходимость именно обращения в цикле.
|
|
9
Maxus43
12.04.13
✎
16:24
|
ИмяОбласти = "ОбластьСтрокаТипЦен" + Строка(Инд);
Область = Выполнить(ИмяОбласти);
|
|
10
Cray12
12.04.13
✎
16:26
|
(5) Да, это сработало!
Огромное спасибо!
(9) Извини, бро, до этого не дошел.
Всем спасибо за помощь :)
|
|