Имя: Пароль:
1C
1С v8
Табличное поле типа "Дерево значений" не выводится 4-ю группу
0 AlexandrV
 
08.02.19
11:31
Табличное поле типа "Дерево значений" не выводится 4-ю группу
Уровни с 1-го по 3-й раскрываются, а 4-й не выводится

подскажите в чем дело
1 AlexandrV
 
08.02.19
11:39
В значение табличного поля загружаются данные таблицы значений
В таблице значений элементы создаются от родителя
Первый уровень создается без родителя от объекта, а далее все последующие уровни создаются от предыдущего родителя

Элементы 4-го уровня созданы от элементов 3-го уровня в точности как созданы элементы 3-го уровня, но 3-й уровень выводится, а 4-й нет
2 AlexandrV
 
08.02.19
11:45
кто знает подскажите в чем дело
3 SeriyP
 
08.02.19
11:54
Куда не выводится-то? В табличное поле, на печать, в табличный документ
4 AlexandrV
 
08.02.19
11:55
(3) На форму в табличное поле
5 SeriyP
 
08.02.19
11:56
а в отладке есть?
6 Вафель
 
08.02.19
11:58
картинку и код
7 AlexandrV
 
08.02.19
11:58
(5) В отладке в значении есть

У табличного поля тип "ДеревоЗначений"
8 SeriyP
 
08.02.19
12:02
(7) Ваша переменная - Кнопка F9 - Строки - F9 - Строки ... Все Уровни видны?
9 AlexandrV
 
08.02.19
12:13
(8) нет не видны
10 SeriyP
 
08.02.19
12:15
(9) Значит дерево формируется не правильно. Код показывайте
11 AlexandrV
 
08.02.19
12:22
МассивСтруктурГруппировок     = Новый Массив;
    
    Для каждого Строка Из ТабСвернутая Цикл
        
        СтруктураГруппировки = Новый Структура;
        
        Для каждого ИмяКолонки Из МассивКолонокГруппировки Цикл
            СтруктураГруппировки.Вставить(ИмяКолонки, Строка[ИмяКолонки]);    
        КонецЦикла;
        
        МассивСтруктурГруппировок.Добавить(СтруктураГруппировки);
        
    КонецЦикла;
    
    Для каждого СтруктураОтбора Из МассивСтруктурГруппировок Цикл
        
        СтрокаРодитель = ДеревоРезультат.Строки.Добавить();
        
        НайденныеСтроки1 = ТабСвернутая1.НайтиСтроки(СтруктураОтбора);
        ЗаполнитьЗначенияСвойств(СтрокаРодитель, НайденныеСтроки1[0], СтрокаКолонкиГруппировки);
    
        Для каждого Строка1_ Из НайденныеСтроки1 Цикл
            
            Строка1 = Новый Структура;
            
            Для каждого ИмяКолонки Из МассивКолонокГруппировки1 Цикл
                Строка1.Вставить(ИмяКолонки, Строка1_[ИмяКолонки]);    
            КонецЦикла;
            
            СтрокаРодитель1 = СтрокаРодитель.Строки.Добавить();
            ЗаполнитьЗначенияСвойств(СтрокаРодитель1, Строка1);
            
            
            НайденныеСтроки2 = ТабСвернутая2.НайтиСтроки(Строка1);
                
            Для каждого Строка2_ Из НайденныеСтроки2 Цикл
        
                Строка2 = Новый Структура;
                
                Для каждого ИмяКолонки Из МассивКолонокГруппировки2 Цикл
                    Строка2.Вставить(ИмяКолонки, Строка2_[ИмяКолонки]);    
                КонецЦикла;
                
                СтрокаРодитель2 = СтрокаРодитель1.Строки.Добавить();
                ЗаполнитьЗначенияСвойств(СтрокаРодитель2, Строка2);
            
                НайденныеСтроки_ = Таб.НайтиСтроки(Строка1);
                
                Для каждого Строка3 Из НайденныеСтроки_ Цикл
                    НоваяСтрока = СтрокаРодитель2.Строки.Добавить();
                    ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка3);
                    
            КонецЦикла;
            
        
        КонецЦикла;
        
        Для каждого ИмяКолонки Из МассивКолонокСуммирования Цикл
            СтрокаРодитель[ИмяКолонки] = СтрокаРодитель.Строки.Итог(ИмяКолонки);    
        КонецЦикла;
    
    КонецЦикла;
12 AlexandrV
 
08.02.19
12:25
(11)+ далее идет

    ЭлементыФормы.Дерево.Значение = ДеревоРезультат;
13 AlexandrV
 
08.02.19
12:52
кто знает подскажите в чем проблема
14 AlexandrV
 
08.02.19
12:55
Помогите кто может
15 Admin_Net_1C
 
08.02.19
13:03
(11) внутри:
Для каждого Строка3 Из НайденныеСтроки_ Цикл
...
еще один цикл на заполнение 4 уровня
16 AlexandrV
 
08.02.19
13:11
(15) последний цикл уже сделан
ниже код 3-го и 4-го циклов


        Для каждого Строка2_ Из НайденныеСтроки2 Цикл
    
            Строка2 = Новый Структура;
            
            Для каждого ИмяКолонки Из МассивКолонокГруппировки2 Цикл
                Строка2.Вставить(ИмяКолонки, Строка2_[ИмяКолонки]);    
            КонецЦикла;
            
            СтрокаРодитель2 = СтрокаРодитель1.Строки.Добавить();
               НайденныеСтроки_ = Таб.НайтиСтроки(Строка2);
            
            Для каждого Строка3 Из НайденныеСтроки_ Цикл
                НоваяСтрока = СтрокаРодитель2.Строки.Добавить();
                ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка3);
                
            КонецЦикла;
        КонецЦикла;
17 AlexandrV
 
08.02.19
13:13
(16)+ это изначальный код и проблемы все те-же
18 SeriyP
 
08.02.19
13:17
ну, а где заполнение 4 уровня-то? Тут только про третий, похоже
19 AlexandrV
 
08.02.19
13:23
Это и есть 4-й уровень, первый уровень в названии цифр не имеет и номер 2-го уровня начинается с 1

            Для каждого Строка3 Из НайденныеСтроки_ Цикл
                НоваяСтрока = СтрокаРодитель2.Строки.Добавить();
                ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка3);
                
            КонецЦикла;
20 SeriyP
 
08.02.19
13:26
пошагово проверьте, может в этом последнем цикле ничего не выполняется
21 AlexandrV
 
08.02.19
13:28
(20) уже проверял и в таблицу все данные попадают и в  ЭлементыФормы.Дерево в реквизите "Значение" все есть, ана экран последний уровень (4-й) не выводится
22 AlexandrV
 
08.02.19
13:49
Помогите  кто может
23 AlexandrV
 
08.02.19
14:54
Подскажите кто знает как открыть 4-ю группировку
24 aleks_default
 
08.02.19
16:16
Уверен что тут НайденныеСтроки_ = Таб.НайтиСтроки(Строка2) что-то находится?
25 Ботаник Гарден Меран
 
08.02.19
16:26
У него в (11) вообще
НайденныеСтроки_ = Таб.НайтиСтроки(Строка1)
,а в (16)
НайденныеСтроки_ = Таб.НайтиСтроки(Строка2)
перед
Для каждого Строка3 Из НайденныеСтроки_ Цикл
И где рабочий код?
26 Ёпрст
 
гуру
08.02.19
16:36
0)Ошибка в 1211 строке
27 AlexandrV
 
08.02.19
18:00
(25) я в рабочем коде пока отключил 4-ю группу, поэтому в 11 была опечатка, а в 16 код положил, который работает в тестовой базе
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.