По теме из базы знаний
- Преобразование массива структур в дерево значений. Представление массива подчиненных друг другу "объектов" в иерархическом виде без использования рекурсии
- JSON -> Дерево значений
- Преобразование Структуры в Дерево значений и Дерева значений в Структуру. Управляемые формы
- 1С-ная магия
- Вывод условного оформления дерева значений или табличной части в эксель
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
У меня в старых обработках есть такой код:
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗ); // передаём ТЗ или массив
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ИсточникДанных.Колонки.Наименование.Измерение = Истина; // по этой колонке идет группировка - "Наименование"
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
Древо = ПЗ.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
(2)
попробовал, выдало ошибку, вызываю на сервере
Ошибка при вызове конструктора (ОписаниеИсточникаДанных)
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗ);//передаем ТЗ или массив
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ИсточникДанных.Колонки.Наименование.Измерение = Истина; //по этой колонке идет группировка - "Наименование"
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
Древо = ПЗ.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗ);//передаем ТЗ или массив
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ИсточникДанных.Колонки.Наименование.Измерение = Истина; //по этой колонке идет группировка - "Наименование"
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
Древо = ПЗ.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
попробовал, выдало ошибку, вызываю на сервере
Ошибка при вызове конструктора (ОписаниеИсточникаДанных)
(3) загрузите массив в ТЗ и вперёд, я попробовал - с ТЗ работает точно.
Таб = Новый ТаблицаЗначений;
Таб.Колонки.Добавить("Фрукты");
Таб.ЗагрузитьКолонку(НашМассив, "Фрукты");
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(Таб); // передаём ТЗ или массив
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ИсточникДанных.Колонки.Фрукты.Измерение = Истина; // по этой колонке идет группировка - "Фрукты"
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
Древо = ПЗ.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
Показать
разобрался, получилось так
где НашаСтруктура- структура массивов а ТекущееДерево - строка дерева
&НаСервере
Функция СформироватьДерево(НашаСтруктура,ТекущееДерево)
Для каждого СтрокаСтруктуры из НашаСтруктура цикл
ПодчиненнаяСтрока=ТекущееДерево.Строки.Добавить();
ПодчиненнаяСтрока.Ключ=СтрокаСтруктуры.Ключ;
Если ТипЗнч(СтрокаСтруктуры.Значение)=Тип("Структура") тогда
СформироватьДерево(СтрокаСтруктуры.Значение,ПодчиненнаяСтрока)
Иначе
ПодчиненнаяСтрока.Значение=СтрокаСтруктуры.Значение;
КонецЕсли;
КонецЦикла;
КонецФункции
Показатьгде НашаСтруктура- структура массивов а ТекущееДерево - строка дерева
когда в следующий раз будешь задавать вопрос - сформулируй его как адекватный человек, а не как среднестатистический пользак...
ему помогают с массивом, а у него структура...
и
немного разнятся, самую малось, почти не явно. "Документ в поле" и "поле в документе" тоже чуть-чуть отличаются.
ему помогают с массивом, а у него структура...
для преобразования массива структур
и
где НашаСтруктура- структура массивов
немного разнятся, самую малось, почти не явно. "Документ в поле" и "поле в документе" тоже чуть-чуть отличаются.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот