|
Дерево значений в таблицу значений | ☑ | ||
---|---|---|---|---|
0
SKY_LLS
28.10.16
✎
13:08
|
Добрый день.
Если дерево значений: -Строка1 --подстрока1_1 --подстрока1_2 --... --подстрока1_n -Строка2 --подстрока2_1 --подстрока2_2 --... --подстрока2_n ... -Строкаm --подстрокаm_1 --подстрокаm_2 --... --подстрокаm_n Необходимо получить ТЗ строка 1 - подстрока1_1,подстрока2_1,подстрока2_2,...подстрокаm_n строка 1 - подстрока2_1,подстрока2_1,подстрока2_2,...подстрокаm_n и так далее... То есть склеить все подстроки со всеми подстроками Ума не приложу как это сделать. Может кто-то подскажет. Заранее благодарен |
|||
1
СамыйУмный
28.10.16
✎
13:09
|
Клей не предлагать?
|
|||
2
SKY_LLS
28.10.16
✎
13:10
|
Если поможет, готов нюхать:)
|
|||
3
Живой Ископаемый
28.10.16
✎
13:13
|
один уровень иерархии?
|
|||
4
Лефмихалыч
28.10.16
✎
13:14
|
Я из "Необходимо получить ТЗ" ни ч0рта не понял
|
|||
5
СамыйУмный
28.10.16
✎
13:16
|
Обходишь циклом своё дерево и пихаешь это всё в ТЗ.
Что тут сложного?) |
|||
6
SKY_LLS
28.10.16
✎
13:26
|
в итоге я просто выгружу строки
мне нужно из ДЗ с тремя строками, в которых по 3 подстроки получитьТЗ п11,п21,п31 п11,п21,п32 п11,п21,п33 п11,п22,п31 п11,п22,п32 п11,п22,п33 п11,п23,п31 п11,п23,п32 п11,п23,п33 п12,п21,п31 п12,п21,п32 п12,п21,п33 п12,п22,п31 п12,п22,п32 п12,п22,п33 п12,п23,п31 п12,п23,п32 п12,п23,п33 п13,п21,п31 п13,п21,п32 п13,п21,п33 п13,п22,п31 п13,п22,п32 п13,п22,п33 п13,п23,п31 п13,п23,п32 п13,п23,п33 |
|||
7
Лефмихалыч
28.10.16
✎
13:28
|
Строки = ДЗ.Строки.НайтиСтроки(УсловеКотороеВсегдаИстина, Истина);
для каждого строка из строки ЗаполнитьЗначенияСвойств(ТЗ.Добавить(), Строка); КонецЦикла |
|||
8
Михаил Козлов
28.10.16
✎
13:32
|
(7) Ему нужно еще колонки получить: как в отчете при группировке в колонках. Похоже, строки ТЗ - 1-ый уровень, колонки - объединение подстрок.
|
|||
9
Лефмихалыч
28.10.16
✎
13:35
|
(8) да я вообще не понимаю - суда по примерам, там какое-то декартово произведение чего-то на что-то.
|
|||
10
Михаил Козлов
28.10.16
✎
13:37
|
(9) Например, нужно вывести объемы продаж: в строках - номенклатура, в столбцах - месяцы. Дерево: результат запроса с итогами по номенклатуре.
|
|||
11
Fedor-1971
28.10.16
✎
13:39
|
(7) по ходу, у ТС проблема как определить сколько колонок в ТЗ завести.
Пробуй примерно так:
|
|||
12
Лефмихалыч
28.10.16
✎
13:39
|
(10) ну и вывести компоновкой сразу в ТЗ, зачем вот эти заморочки?
|
|||
13
Михаил Козлов
28.10.16
✎
13:50
|
(11) Можно и одним циклом, добавляя колонки, если их не хватает.
|
|||
14
SKY_LLS
28.10.16
✎
14:10
|
Спасибо, попробую
|
|||
15
SKY_LLS
08.11.16
✎
12:37
|
Если кому-то интересно. Вот что требовалось :)
Процедура КнопкаВыполнитьНажатие(Кнопка) ДЗ = Новый ДеревоЗначений; ДЗ.Колонки.Добавить("Значение", Новый ОписаниеТипов("Строка")); Для Ид = 1 По 3 Цикл СтрокаДЗ = ДЗ.Строки.Добавить(); СтрокаДЗ.Значение = "Значение_"+Ид; Для Ид1 = 1 По 3 Цикл СтрокаДЗ1 = СтрокаДЗ.Строки.Добавить(); СтрокаДЗ1.Значение = "Значение_"+Ид+"_"+Ид1; КонецЦикла; КонецЦикла; МассивДанных = Новый Массив; Для Каждого СтрокаДЗ Из ДЗ.Строки Цикл СформироватьМассив(МассивДанных, СтрокаДЗ.Строки); КонецЦикла; Сообщить(МассивДанных.Количество()); КонецПроцедуры Процедура СформироватьМассив(МассивДанных, СтрокиДЗ) НовыйМассив = Новый Массив; Если МассивДанных.Количество() = 0 Тогда Для Каждого СтрокаДЗ Из СтрокиДЗ Цикл МассивДанных.Добавить(СтрокаДЗ.Значение); КонецЦикла; Возврат; КонецЕсли; Для Каждого СтрокаМассива Из МассивДанных Цикл Для Каждого СтрокаДЗ Из СтрокиДЗ Цикл НовыйМассив.Добавить(СтрокаМассива + ", " + СтрокаДЗ.Значение); КонецЦикла; КонецЦикла; МассивДанных = НовыйМассив; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |