СКД 8.2: программный вывод в дерево значений на форме #476804


#0 by kabanoff
Есть задача вывести результат компоновки в дерево значений и отобразить его в управляемой форме на клиенте. С выводом в дерево проблем нет, а вот отобразить дерево в управляемой форме никак не получается: 1) Если создаю реквизит обработки, то в форме таб.часть не появляется. 2) Если создаю реквизит формы, то для того, чтобы появилась таб.часть, нужно интерактивно навешать колонки. Интерактивно создавать колонки нет желания, т.к. в схему компоновки планирую передавать различные наборы данных и на выходе получать различные комбинации полей. В 8.1 создать дерево можно было двумя способами: 1) Создать элемент управления на форме и связать его с данными типа "ДеревоЗначений". Вывод осуществить с помощью метода СоздатьКолонки. 2) Создать элемент управления типа ДеревоЗначений, добавить интерактивно колонки и далее заполнить через ЭлементыФормы. Здесь бьюсь ап стену, пытаясь пойти по №1. Метод СоздатьКолонки в контексте Элементов не нашел. Коллеги, подскажите, как правильно создать и заполнить дерево значений, чтобы работать с ним как на сервере, так и на клиенте в управляемой форме?
#1 by kabanoff
вверх
#2 by kabanoff
кто-нибудь может знает?
#3 by WayLander
По поводу дерева могу только посоветовать посмотреть в конфигурации УНФ. Там есть ничегошные примеры построения дерева. Ну, и как я уяснил, многое приходится делать программно. То есть можно и колонки, если что, навесить программно.
#4 by Mort
ИзменитьРеквизиты ищи в СП. Кратко - нужно создать (программно !) реквизит формы вида коллекция-дерево, и создать элементы привязанные к этому реквизиту.
#5 by kabanoff
Попробую, спасибо.
#6 by kabanoff
тов. помог разобраться. Вот рабочий кусок кода вывода ДереваДанных в управляемой форме с динамически создаваемыми колонками: Эта 8.2 просто взрыв мозга! %/ В вышеприведенном куске еще нужно сделать удаление уже существующих колонок.
#7 by kabanoff
Выкладываю рабочий код с удалением реквизитов формы, если кто-то вдруг решит наткнуться на те же грабли.
#8 by bashta_aleksey
#9 by Aswed
Автор спасибо, столкнулся именно с такой же гадостью.
#10 by Студиозус
А у меня что то не работает. Пишет не уникальное имя колонки:( Или на форме надо создать два дерева значений?
#11 by Студиозус
Я создал на форме дерево значений с названием как в куске кода. Добавил в него одну колонку "Телефон". еперь при попытке вывести выводит сообщение Не уникальное имя колонки, и ругается на строчку ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов,МассивУдаляемыхРеквизитов);
#12 by kabanoff
На форме не надо ничего создавать. Достаточно добавить один реквизит формы "ДеревоРезультата" (тип "ДеревоЗначений"). Вот ссылка на мою форму: В режиме Предприятия (толстого/тонкого/web-клиента) дерево само появится на форме.
#13 by Студиозус
Понял, спасибо. Пытался просто выводить пустое дерево, вот из-за этого и ругался видимо.
#14 by Студиозус
А как ты в выводим дереве значений убирал заголовок колонки? И меню управления списком значений?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С