Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 02:30

Строки дерева значений 1с 8.3

Автор Максим *****, 30 мар 2018, 06:30

0 Пользователей и 1 гость просматривают эту тему.

Максим *****

Всем привет, help me :(
Есть у меня дерево значений с множеством уровней и подчиненными, как мне найти строки у которых нет больше подчиненных? Скажем так, последняя ветка дерева есть, вот мне нужно найти ее, как это сделать??

AntS

Нужно перебрать в цикле все подчиненные строки и у каждого уровня проверять значение .Строки.Количество() = 0

Максим *****

AntS, Спасибо, все получилось. Созрел следующий вопрос :)
Вот я вывел все это дело, теперь нужно отсортировать по условиям, 1) вывел общее время создания детали, нужно их отсортировать по возрастанию, и 2) на каждой детали есть подчиненные, так вот нужно отсортировать по количеству подчиненных. Можно это все сделать?

alex0402

В запросе, в конце запроса Упорядочить ПО, если это таблицаЗначений, тогда Таблица.Сортировать();
Спасибо за Сказать спасибо

Максим *****

alex0402, Я вытаскиваю это из дерева значений
Добавлено: 02 апр 2018, 09:41


alex0402, Вот так выглядит у меня это:
Функция ОбходДерева(Дерево)
   Сч = 0;
   Для Каждого Строка Из Дерево.Строки Цикл
      Если НЕ Строка.Станок Тогда
         Сч = Сч + 1;
      КонецЕсли;
      Если НЕ Строка.Станок Тогда ОбходДерева(Строка);
      КонецЕсли;       
   КонецЦикла;   
   Если Сч  =  0 Тогда
      Сообщить(Дерево.Деталь+",   "+Дерево.Время+",   " + Дерево.Станок);
      ОбщееВремя = Дерево.Строки.Итог("Время", Истина);
      Сообщить("-Время изготовления детали - " + ОбщееВремя);
      Сообщить(" ");
   КонецЕсли;
КонецФункции

alex0402

Ну тогда нужно сунуть в ТаблицаЗначений, потом отсортировать и вывести.
Спасибо за Сказать спасибо

Максим *****

alex0402, Понял, спасибо, сейчас опробую
Добавлено: 02 апр 2018, 12:11


alex0402, Не получается преобразовать из ДЗ в ТЗ, пробовал вот таким образом:
Если Таблица = Неопределено Тогда
    Таблица = Новый ТаблицаЗначений;
    Для Каждого Колонка Из Дерево.Колонки Цикл
    Таблица.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения);
    КонецЦикла;
КонецЕсли;

Для Каждого СтрокаДерева Из Дерево.Строки Цикл
    ЗаполнитьЗначенияСвойств(Таблица.Добавить(), СтрокаДерева);
    ВыгрузитьДеревоЗначенийВТаблицуЗначений(СтрокаДерева, Таблица);
КонецЦикла;
Возврат Таблица;
КонецФункции

Добавлено: 03 апр 2018, 06:30


alex0402, Доброе утро, я закинул ДЗ в ТЗ, но сейчас я понял, что после этого дерево ведь теряется, то есть, в ТЗ все данные просто в перемешку или же если далее выкинуть из ТЗ в ДЗ, то данные снова будут в правильном порядке?

Похожие темы (5)

Рейтинг@Mail.ru

Поиск