Имя: Пароль:
1C
1С v8
Заполнение дерева значений
0 ac13
 
06.08.18
12:53
Добавил на форму ДеревоЗначений с колонками. Первая колонка - ГруппировкаНоменклатуры с составным типом значений: СправочникСсылка.Номенклатура и СправочникСсылка.НоменклатурнаяГруппа.

Надо заполнить дерево, чтобы первая строка была НоменклатурнаяГруппа, а нижняя подчиненная ей Номенклатура.

Пока Выборка.Следующий() Цикл
    НС1 = Дерево1.Строки.Добавить();
    НС1.НоменклатурнаяГруппа = Выборка.НоменклатурнаяГруппа;

    НС2 = НС1.Строки.Добавить();
    НС2.Номенклатура = Выборка.Номенклатура;

КонецЦикла;

В итоге у меня заполняет только номенклатурные группы, а подчиненного элемента нет. Что не так делаю?
1 VladZ
 
06.08.18
12:55
МоёДерево = Запрос.выполнить.Выгрузить(ОбходРезультатаЗапроса.СГруппировками).
2 VladZ
 
06.08.18
12:56
Запрос должен быть с итогом по ном.группе.
3 ac13
 
06.08.18
13:00
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ГруппыТоваров", ГруппыТоваров);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    спрНоменклатура.Ссылка КАК Номенклатура,
    |    спрНоменклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа
    |ИЗ
    |    Справочник.Номенклатура КАК спрНоменклатура
    |ГДЕ
    |    спрНоменклатура.Ссылка В ИЕРАРХИИ (&ГруппыТоваров)
    |    И спрНоменклатура.ЭтоГруппа = ЛОЖЬ
    |
    |СГРУППИРОВАТЬ ПО
    |    спрНоменклатура.Ссылка
    |ИТОГИ ПО
    |    НоменклатурнаяГруппа";
    ДеревоЗначений1 = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);

В дерево добавляется куча пустых строк
У меня колонка называется номенклатура с составным типов. Не пойму как запрос выгрузит в нее поля Номенклатура и НоменклатурнаяГруппа
4 ac13
 
06.08.18
13:04
У меня в Дерево в принципе нет возможности добавить подчиненный элемент
5 ac13
 
06.08.18
13:19
В таком виде это что? Дерево же?
Как для поля с деревом значений нарисовать границы?
http://www.picshare.ru/uploads/180806/YsczRY7Fnm.png
6 Ботаник Гарден Меран
 
06.08.18
13:41
ТС, так разные колонки заполняешь.

НаименованиеКолонки = "Колонка1";
Пока Выборка.Следующий() Цикл
    НС1 = Дерево1.Строки.Добавить();
    НС1[НаименованиеКолонки] = Выборка.НоменклатурнаяГруппа;

    НС2 = НС1.Строки.Добавить();
    НС2[НаименованиеКолонки] = Выборка.Номенклатура;

КонецЦикла;
7 ac13
 
06.08.18
13:50
(6) точно! спасибо

исправил

Пока В.Следующий() Цикл
     НС1 = ДеревоЗначений1.Строки.Добавить();
     НС1.Номенклатура = В.НоменклатурнаяГруппа;
        
     НС2 = НС1.Строки.Добавить();
     НС2.Номенклатура = В.Номенклатура;
КонецЦикла;

Теперь заполняет не в виде иерархии и подчиненных строк, а сплошным списком без подчиненных элементов
8 ac13
 
06.08.18
13:51
А нет, все-таки заполнило только ном. группы, без номенклатуры
9 ac13
 
06.08.18
13:53
Установил флажок "Отображать иерархию, всё получилось
Есть ли возможность отображения границы в поле дерева?
10 ac13
 
06.08.18
14:08
Всё получилось, спасибо
11 Малыш Джон
 
06.08.18
14:33
(9) "Горизонтальные линии", "вертикальные линии" в панели свойств.
Программист всегда исправляет последнюю ошибку.