Имя: Пароль:
1C
1С v8
Дерево значений.
0 Draziw
 
20.10.11
09:02
Ребят ну 11 утра башка уже квадратная, завтра срок сдачи работы кончается, а тут у бухов закрытие квартала и открыли новый склад. понимаю что так-то надо самому взяться по копаться но конкретно нет времени.

Вообщем мне надо на форме каким-то макаром отразить дерево красиво с иерархией, типа как у справочников.
Родитель1
    Элемент1,
    Элемент2,
    Элемент3,
Родитель2,
    Элемент4,
    Элемент5,
    Элемент6.

и чтоб с этими элементами можно было взаимодействовать как если бы я таблицу значений на форме разместил.
Я попробовал сделать ТабличноеПоле с типом значения - дерево значений,
он отображает так
Родитель1, Элемент1
Родитель1, Элемент2
Родитель1, Элемент3
Родитель2, Элемент4
Родитель2, Элемент5
Родитель2, Элемент6

это не подходит...

просто ну направьте куда копать или где посмотреть почитать. спасибо. сори что с такой ерундой отнимаю время.
1 catena
 
20.10.11
09:08
(0)Как заполняешь-то?
2 Irbis
 
20.10.11
09:10
В родителя строки ДЗ ховай родителя.
3 Draziw
 
20.10.11
09:16
(1) заполняю из запроса, просто выгружаю по группировкам.

(2) я правильно тебя понял что ты просто предлагаешь очистить в подчиненных строках родителя ?
4 Irbis
 
20.10.11
09:18
(3)
СтрокаДереваЗначений (ValueTreeRow)
Родитель (Parent)
Использование:
Только чтение.
Описание:
Тип: СтрокаДереваЗначений. Содержит строку-родителя для данной строки дерева значений. Если строка находится в корне дерева (на верхнем уровне иерархии), то свойство имеет значение Неопределено.
5 Draziw
 
20.10.11
09:19
меня просто как бы больше волнует вопрос,о том добъюсь ли я результата пытаясь работать с ТабличнымПолем и Деревом, а то может щас убью часа 3 разбираясь и окажется что вообще им сделать то что я хочу нельзя :(
и придется завтра увольняться.
6 Irbis
 
20.10.11
09:20
(5) Заявление писать проще чем отчет. Завтра за пятьминут справишься.
7 Рэйв
 
20.10.11
09:23
(0)

Как самостоятельно заполнить дерево значений?
Процедура ЗаполнениеДерева(Кнопка)
   Дерево.Колонки.Очистить();
   Дерево.Колонки.Добавить("ИмяКолонки");

   // Создать первую строку. Правильнее сказать создать элемент
   // коллекции. Он помещается в переменную "СтрокаВерхнегоУровня".
   СтрокаВерхнегоУровня = Дерево.Строки.Добавить();

   // В колонку "ИмяКолонки" записать значение "Старшая".
   СтрокаВерхнегоУровня.ИмяКолонки = "Старшая";

   // Создать строку подчиненную "Старшей".
   ПодчиненнаяСтрока =СтрокаВерхнегоУровня.Строки.Добавить();
   ПодчиненнаяСтрока.ИмяКолонки = "Первая подчиненная";

   ПодчиненнаяВторогоУровня = ПодчиненнаяСтрока.Строки.Добавить();
   ПодчиненнаяВторогоУровня.ИмяКолонки = "Первая нижняя";

   ПодчиненнаяВторогоУровня = ПодчиненнаяСтрока.Строки.Добавить();
   ПодчиненнаяВторогоУровня.ИмяКолонки = "Вторая нижняя";

   ПодчиненнаяСтрока = СтрокаВерхнегоУровня.Строки.Добавить();
   ПодчиненнаяСтрока.ИмяКолонки = "Вторая подчиненная";

   // Использование метода позволит увидеть результат работы
   // с деревом значений в табличном поле.
   ЭлементыФормы.Дерево.СоздатьКолонки();

КонецПроцедуры
Процедура ОткрытиеВетки(Кнопка)

   // Сделать текущим именно элемент коллекции "Строки".
   РезультатПоиска = Дерево.Строки.Найти("Первая нижняя", "ИмяКолонки", Истина);

   Если РезультатПоиска <> Неопределено Тогда
       ЭлементыФормы.Дерево.ТекущаяСтрока = РезультатПоиска;
   КонецЕсли;

КонецПроцедуры


(C)Простые примеры разработки
8 Draziw
 
20.10.11
09:29
(7) ты меня спас.
9 Draziw
 
20.10.11
09:30
Всем спасибо,заработала голова, критинизм прошел.
10 Irbis
 
20.10.11
09:30
(8) А зря. Ни одно доброе дело не останется безнаказанным.
11 Draziw
 
20.10.11
09:43
(10) не не, нормально, мы программисты должны помогать друг другу :)  я потом тоже кому-нить что-то дельное напишу на форуме, или так в жизни другому программисту помогу. Мы программисты должны держаться вместе, так как мы социальные существа.
P.S. а еще забыл добавить что у меня кроме бухов с отчетностью, операторов на новом складе, еще сессия :))) еще чуть чуть и у меня будет нервный срыв от переутомления :)
Ушел работать. Всем спасибо.