8.х Дерево значение и изменения строк

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Aston, 10 дек 2014.

  1. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Доброго всем времени суток.
    Столкнулся с необычной задачкой и хотелось бы узнать возможные решения.

    Есть дерево значений на форме, я перевожу РеквизитФормыВЗначение и обрабатываю на сервере, формируется дерево типа;
    1
    1.1
    2
    2.1
    2.1.1
    2.1.2
    3
    3.1
    3.1.1
    3.1.2
    3.2
    3.2.1
    3.2.2

    Мне надо, чтобы прошлось по строкам родительского уровня и если у этих строк одна подчиненная строка, то чтобы она заменила со всем подчинением родительскую, тое чтоб получилось
    1.1
    2.1
    2.1.1
    2.1.2
    3
    3.1
    3.1.1
    3.1.2
    3.2
    3.2.1
    3.2.2

    Подскажите как это более адекватно сделать
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    как мне видится, обход в рекурсию по дереву с определением количества строк (смотрите методы в СП), если количество > 1 тогда берем подчиненную строку в новое дерево, иначе переносим все... в принципе наверное можно поиграться и внутри одного дерева... надо экспериментировать
    --- Объединение сообщений, 11 дек 2014 ---
    а еще есть метод у строки Сдвинуть() - думаю ваш вариант.... обходите дерево и двигайте строки по уровням, не забывая удалять родительскую
  3. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Решил проблему созданием копии дерева и перезаполнением его.

Поделиться этой страницей