Вход | Регистрация


1С:Предприятие ::

Метки:

Работа с деревом значений.

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

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

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

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

    // в реквизит управляемой формы (данные формы)

    ЗначениеВРеквизитФормы(Дерево, "Дерево");
    
    // Создание элемента формы типа ТаблицаФормы для отображения дерева

    ЭлементДерево = Элементы.Добавить("Дерево", Тип("ТаблицаФормы"));
    ЭлементДерево.ПутьКДанным = "Дерево";
    ЭлементДерево.Отображение = ОтображениеТаблицы.Дерево;
    
    Для Каждого Колонка Из Дерево.Колонки Цикл
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ЭлементДерево);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "Дерево." + Колонка.Имя;
    КонецЦикла;
   DrShad
 
24 - 13.09.17 - 15:54
(21) ну вот взял и все испортил
   Господин ПЖ
 
25 - 13.09.17 - 15:54
(20) был бы ты девственницей-консультантшей ЗУП было бы проще
   lamuerto
 
26 - 13.09.17 - 15:54
(25) как плохо у богов со вкусом
   DrShad
 
27 - 13.09.17 - 15:55
тебе просто нужно получить дерево из формы, модифицировать его, а потом

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

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

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



Список тем форума
Рекламное место пустует  
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует