|   |   | 
| 
 | Динамический список на форме в виде дерева | ☑ | ||
|---|---|---|---|---|
| 0
    
        zerat 27.06.16✎ 13:59 | 
        Всем привет! Создаю общую произвольную форму, на которой хочу разместить документы в виде иерархического списка. У документа есть табличная часть. Хочется чтобы первая строка была Ссылка на документ, вторая строка перечислялось все что есть в табличной части документа.  Динамический список нужен для того чтобы данные обновлялись.     | |||
| 1
    
        vde69 27.06.16✎ 14:01 | 
        никогда не делайте динамический список в виде дерева - будуи страшные тормоза     | |||
| 2
    
        zerat 27.06.16✎ 14:02 | 
        (1) как быть подскажите?     | |||
| 3
    
        Chameleon1980 27.06.16✎ 14:03 | 
        &НаСервере
 Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Создание и заполнение "обычного" объекта прикладного типа ДеревоЗначений, // который будет отображен на управляемой форме ДеревоОбъект = Новый ДеревоЗначений; ДеревоОбъект.Колонки.Добавить("Узел", Новый ОписаниеТипов("Строка")); Для к1 = 1 По 5 Цикл СтрокаУ1 = ДеревоОбъект.Строки.Добавить(); СтрокаУ1.Узел = "Узел"+к1; Для к2 = 1 По 5 Цикл СтрокаУ2 = СтрокаУ1.Строки.Добавить(); СтрокаУ2.Узел = СтрокаУ1.Узел+к2; Для к3 = 1 По 5 Цикл СтрокаУ3 = СтрокаУ2.Строки.Добавить(); СтрокаУ3.Узел = СтрокаУ2.Узел+к3; КонецЦикла; КонецЦикла; КонецЦикла; // Создание Реквизита формы типа ДанныеФормыДерево МассивДобавляемыхРеквизитов = Новый Массив; МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Дерево", Новый ОписаниеТипов("ДеревоЗначений"))); Для Каждого Колонка Из ДеревоОбъект.Колонки Цикл МассивДобавляемыхРеквизитов.Добавить( Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "Дерево")); КонецЦикла; ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); // Преобразование объекта прикладного типа ДеревоЗначений // в реквизит управляемой формы (данные формы) ЗначениеВРеквизитФормы(ДеревоОбъект, "Дерево"); // Создание элемента формы типа ТаблицаФормы для отображения дерева ЭлементДерево = Элементы.Добавить("Дерево", Тип("ТаблицаФормы")); ЭлементДерево.ПутьКДанным = "Дерево"; ЭлементДерево.Отображение = ОтображениеТаблицы.Дерево; Для Каждого Колонка Из ДеревоОбъект.Колонки Цикл НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ЭлементДерево); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "Дерево." + Колонка.Имя; КонецЦикла; КонецПроцедуры | |||
| 4
    
        vde69 27.06.16✎ 14:03 | 
        либо статические данные и дерево, либо динамические и список...     | |||
| 5
    
        vde69 27.06.16✎ 14:03 | 
        (3) это статическое дерево...     | |||
| 6
    
        zerat 27.06.16✎ 14:04 | 
        (3) только если его динамически обновлять...     | |||
| 7
    
        Chameleon1980 27.06.16✎ 14:04 | 
        (5) ну да - пардон. Смысл темы немного упустил.     | |||
| 8
    
        vde69 27.06.16✎ 14:05 | 
        (6) вот и будут тормоза...     | |||
| 9
    
        Chameleon1980 27.06.16✎ 14:12 | 
        отчет с группировками с выбором периода с кнопкой обновить     | |||
| 10
    
        zerat 27.06.16✎ 14:12 | 
        (8) емаё     | |||
| 11
    
        Chameleon1980 27.06.16✎ 14:14 | 
        (10) ну вообще пробуйте.
 нарисуйте свою форму с ДС (со своим запросом). покрутите - может вас и устроит скорость. | |||
| 12
    
        zerat 27.06.16✎ 14:15 | 
        (11) пример есть запроса для отображения ДС в виде дерева?     | |||
| 13
    
        zerat 27.06.16✎ 14:15 | 
        напримере допустим документа реализация товаров и услуг     | |||
| 14
    
        vde69 27.06.16✎ 14:19 | 
        сколько всего элементов в дереве? если 100 - можно делать штатным вариантом, а если более 500 - будут тормоза...     | |||
| 15
    
        Chameleon1980 27.06.16✎ 14:20 | 
        (14) штатным по номенклатуре нет жеж     | |||
| 16
    
        Посмотрим 27.06.16✎ 14:22 | 
        Зачем дерево, когда можно в два списка - один документы, второй состав документа     | |||
| 17
    
        Посмотрим 27.06.16✎ 14:24 | 
        Так и удобнее, иначе для документов в 100 строк или более навигация будет неудобной, а так две таблицы + разделитель для регулировки площади отображения той или иной таблицы     | |||
| 18
    
        Chameleon1980 27.06.16✎ 14:27 | 
        (16) +++     | |||
| 19
    
        zerat 27.06.16✎ 15:27 | 
        (16) так и решил делать, заказчику объясню, что будут лаги     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |