|
v7: Вывод вертикальный областей макета |
☑ |
0
Wefast
26.07.16
✎
10:17
|
Хочу вывести всех родителей у элементов справочника. Но сколько этих родителей может быть я не знаю
Сейчас у меня как то так:
Элемент | Код | Родитель
Хочу чтобы родитель выводился до тех пор пока этот самый родитель не кончится.
Сейчас я делаю так
Таб.ВывестиСекцию("Шапка");
Элемент = Спр.ТекущийЭлемент();
Код = Спр.Код;
Родитель = Спр.Родитель;
Таб.ВывестиСекцию("Строка");
Хочу сделать так:
Как вывести шапку пока не знаю даже в теории
Таб.ВывестиСекцию("Строка|НеК"); // выведу ту часть строки без родителя
Род = ЗС.Родитель;
Сч = 0;
Пока ПустоеЗначение(Род) =0 Цикл
Родитель2=Род; //Родитель2 это выражение на макете в этой колонке.
Таб.ПрисоединитьСекцию("Строка|Колонка");
Род = Род.Родитель;
Сч=Сч+1;
КОнецЦикла
Пишет Родитель2<<?>>
Переменная не определена (Родитель2)
Как вообще это Присоединить() работает. Куда там что присоединяется?
|
|
1
Ёпрст
гуру
26.07.16
✎
10:23
|
(0)
1.Просто при выводе секции, где в выражении стоит Родитель2 в коде не определяешь переменную Родитель2 (она позжее у тебя) - отсюда и ошибка
2. присоеденить - просто присоединяет справа к выведенной секции. Если секция задана всей строкой - то "присоеденит" к новой строке.
|
|
2
Wefast
26.07.16
✎
12:26
|
(1) 1 Так вон написано Родитель2 = Род, а потом присоединяется секция.
Таб.ВывестиСекцию("Строка|НеК");
Род = ЗС.Родитель;
Сч = 0;
Для Счетчик = 1 По Максим-1 Цикл
Если ПустоеЗначение(Род) =0 Тогда
РодСтрока = Род.Наименование;
КодРод = Род.Код;
Таб.ПрисоединитьСекцию("Строка|Колонка");
Род = Род.Родитель;
Иначе
РодСтрока = "";
КодРод = "";
Таб.ПрисоединитьСекцию("Строка|Колонка");
КонецЕсли;
КонецЦикла;
Сделал так и вроде все выводится как нужно.
|
|