Имя: Пароль:
1C
 
Работа с деревом значений.
, , ,
0 lamuerto
 
13.09.17
15:38
Добрый день! Учусь работать с деревом значений, возникла такая ситуация, после первого нажатия дерево отлично формируется, но при повторном, выдает ошибку что имя дерева неуникально. При использование функции ИзменитьРеквизиты(). Подскажите как можно удалить дерево при повторном нажатии?
1 Ёпрст
 
13.09.17
15:39
(0)
Вызовом метода:

СрубитьДерево(<ИмяДерева>)
2 Господин ПЖ
 
13.09.17
15:40
канонично СдолбитьДерево

дятлы же
3 lamuerto
 
13.09.17
15:41
(1) ахахаххаха прям как бох шутканул
4 DrShad
 
13.09.17
15:42
(3) ты не поверишь, но он и есть бог )))
5 lamuerto
 
13.09.17
15:43
(4) я верю
6 lamuerto
 
13.09.17
15:44
о великий и могучий Ёпрст ниспошли дожди на грешную землю
7 DrShad
 
13.09.17
15:45
(6) за дожди он не отвечает, сорри
8 lamuerto
 
13.09.17
15:45
(7) за что же?
9 AntiBuh
 
13.09.17
15:45
(8) за одноэс
10 lamuerto
 
13.09.17
15:46
(9) пусть лучше за дожди отвечает, у него бы это лучше получалось бы
11 DrShad
 
13.09.17
15:47
(10) все познается в сравнении - у него дожди по расписанию
12 lamuerto
 
13.09.17
15:47
(11) а одинэсик?
13 DrShad
 
13.09.17
15:48
(12) а разве он задает вопросы?
14 lamuerto
 
13.09.17
15:49
(13) извини грешного
15 DrShad
 
13.09.17
15:50
(14) я то тут каким боком? я так побелить-покрасить
16 lamuerto
 
13.09.17
15:50
(13) о великий и могучий Ёпрст ниспошли благодарить мудрости на грешного недопрограммиста, не руби деревья, а поделись как сделать топор
17 Господин ПЖ
 
13.09.17
15:51
жертву принеси сначала
18 Fedor-1971
 
13.09.17
15:51
(0) ОФ или УФ? Как бы на форме коллекция, а не само дерево
Относительно универсальное решение РеквизитВЗначение и ЗначениеВРекизит.

(16) поздно каяться.
19 lamuerto
 
13.09.17
15:52
(18) уф
20 lamuerto
 
13.09.17
15:53
(17) и какие жертвы принимаются?
21 Fedor-1971
 
13.09.17
15:53
(19) ты бы описал что сделал и что не получается не одной строчкой
22 Веселый собака
 
13.09.17
15:54
(18) на форме табличное поле, а дерево- коллекция!
23 lamuerto
 
13.09.17
15:54
(21) МассивДобавляемыхРеквизитов = Новый Массив;
    МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Дерево", Новый ОписаниеТипов("ДеревоЗначений")));
    Для Каждого Колонка Из Дерево.Колонки Цикл
        МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "Дерево"));
    КонецЦикла;
    ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
    
    // Преобразование объекта прикладного типа ДеревоЗначений
    // в реквизит управляемой формы (данные формы)
    ЗначениеВРеквизитФормы(Дерево, "Дерево");
    
    // Создание элемента формы типа ТаблицаФормы для отображения дерева
    ЭлементДерево = Элементы.Добавить("Дерево", Тип("ТаблицаФормы"));
    ЭлементДерево.ПутьКДанным = "Дерево";
    ЭлементДерево.Отображение = ОтображениеТаблицы.Дерево;
    
    Для Каждого Колонка Из Дерево.Колонки Цикл
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ЭлементДерево);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "Дерево." + Колонка.Имя;
    КонецЦикла;
24 DrShad
 
13.09.17
15:54
(21) ну вот взял и все испортил
25 Господин ПЖ
 
13.09.17
15:54
(20) был бы ты девственницей-консультантшей ЗУП было бы проще
26 lamuerto
 
13.09.17
15:54
(25) как плохо у богов со вкусом
27 DrShad
 
13.09.17
15:55
тебе просто нужно получить дерево из формы, модифицировать его, а потом

ЗначениеВРеквизитФормы(Дерево, "Дерево");

а все остальное выбрось из своей головы
28 DrShad
 
13.09.17
15:56
(26) нам это не мешает
29 lamuerto
 
13.09.17
15:58
(28) плохой вкус обычно доводит только до венеролога
30 lamuerto
 
13.09.17
16:01
(27) типа этого?
тРек = РеквизитФормыВЗначение(Дерево,"Дерево");
тРек.строки.Очисть();
31 Fedor-1971
 
13.09.17
16:02
(22) Добавь на форму реквизит дерево "окДерево" и его колонки один раз
Перебирать дерево формы так:

ур1=окДерево.ПолучитьЭлементы();
Для каждого стрДерева из ур1 цикл
   ур2=стрДерева.ПолучитьЭлементы();
   Дальше если нужна вложенность аналогично
  
   тут можно заполнять значения в колонках на уровне 1
КонецЦикла;
32 Fedor-1971
 
13.09.17
16:02
(30) окДерево.Очистить() если применительно к 31
33 DrShad
 
13.09.17
16:03
(30) вот, наступает прозрение
34 lamuerto
 
13.09.17
16:04
(32) спасибо. Был девственницей-консультантшей ЗУП, дал бы. Увы уже не девственница(((
35 Fedor-1971
 
13.09.17
16:07
(34) так мне и не шибко надо. Прозрел и слава Ёперсту
36 DrShad
 
13.09.17
16:09
(35) +1
37 lamuerto
 
13.09.17
16:09
(35) ахахахахах
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.