Имя: Пароль:
1C
 
Вывод дерева програмно. УФ
0 nAPACEHAK
 
26.12.17
16:54
Добра всем

Помогите разобраться плз

[code]
&НаСервере
Процедура ВывестиДеревоНаФорму(УФ,ИмяДЗНаФорме,ДЗ, ТЗОбработчиковСобытий = Неопределено) Экспорт

    МассивДобавляемыхРеквизитов = Новый Массив;
    
    Для Каждого Колонка Из ДЗ.Колонки Цикл
        МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, ИмяДЗНаФорме ,Колонка.Заголовок));    
    КонецЦикла;
    
    МассивУдаляемыхРеквизитов = УФ.ПолучитьРеквизиты(ИмяДЗНаФорме);
    МассивИменУдаляемыхРеквизитов = Новый Массив;
    
    Для каждого Элемент Из МассивУдаляемыхРеквизитов Цикл
        МассивИменУдаляемыхРеквизитов.Добавить(ИмяДЗНаФорме + Элемент.Имя);
    КонецЦикла;
    
    УФ.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов,МассивИменУдаляемыхРеквизитов);
    
    Для каждого Элемент Из МассивУдаляемыхРеквизитов Цикл
        УдаляемыйЭлемент = УФ.Элементы.Найти(ИмяДЗНаФорме + Элемент.Имя);
        УФ.Элементы.Удалить(УдаляемыйЭлемент);
    КонецЦикла;
    
    УФ.ЗначениеВРеквизитФормы (ДЗ, ИмяДЗНаФорме);
    
    Для Каждого Колонка Из ДЗ.Колонки Цикл
        НовыйЭлемент = УФ.Элементы.Добавить (Колонка.Имя, Тип ("ПолеФормы"), УФ.Элементы[ИмяДЗНаФорме]);
        НовыйЭлемент.Заголовок = Колонка.Заголовок;
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = ИмяДЗНаФорме + "." + Колонка.Имя;
    КонецЦикла;    
итд
[/code]

УФ
на форме реквизит с типом дерево значений (СписокИБ)
вывожу дерево на форму - все заполняется-выводится (две колонки, наименование-ссылка, из ДЗ)

еще раз формирую вывод на эту же форму -
Ошибка при вызове метода контекста (ИзменитьРеквизиты)
    УФ.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов,МассивИменУдаляемыхРеквизитов);
по причине:
Недопустимый путь к реквизиту. Путь: "СписокИБНаименование"
1 chelentano
 
27.12.17
06:44
(0) Наверное, уже есть такой реквизит. Сначала удаляй все реквизиты формы, потом добавляй
2 nAPACEHAK
 
27.12.17
08:53
(1) на форме реквизит - с типом дередо значений. без колонок

при первом вызове - добавляются колонки и выводится дерево. в массиве удаляемых - пусто
при втором - реквизит не удаляется. как раз эта ошибка при удалении реквизита. тупо на форме нет пути к реквизиту, добавленному ранее.
не могу понять, почему
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан