Имя: Пароль:
1C
1С v8
из ТЗ получить Дерево с итогами по значению колонки
0 Игорь_МММ
 
24.05.20
10:28
изначальная таблица, допустим:

1_____Цвет______Желтый
2_____Цвет______Голубой
2_____Размер____большой
3_____Цвет______Голубой
3_____Размер____маленький

Пользователь определяет значения группировок, допустим Цвет и Размер

на выходе нужно

Желтый
  \_ все размеры
      \_ 1
Голубой
  \_большой
      \_2
  \_маленький
      \_3

Типы всех значений строковые. Можно ли так получить из запроса или какой-то внятной постобработкой?
1 mistеr
 
24.05.20
10:34
Какая связь между цветом и размером?
2 Игорь_МММ
 
24.05.20
10:35
(1) свойства объектов 1,2,3
3 mistеr
 
24.05.20
10:43
(2) Ну обычный запрос с итогами. Пройтись по выборке, построить дерево.
4 Игорь_МММ
 
24.05.20
10:47
(3) итоги же будут по "Свойство"(колонка где Цвет, Размер) - как определить чтобы порядок итогов был нужный? Может же получиться что итоги будут сначала по Размеру, а потом по Цвету.
5 Игорь_МММ
 
24.05.20
11:04
... Если бы преобразовать исходную таблицу

Объект  |  Свойство    | Значение

в таблицу

Объект  |  Цвет  |  Размер

....
6 mistеr
 
24.05.20
11:05
(4) А, ну да. Придется транспонировать.
7 mistеr
 
24.05.20
11:05
Можно в запросе через ВЫБОР. Можно в цикле по выборке.
8 mistеr
 
24.05.20
11:06
По-хорошему все это должно быть в ПВХ.
9 Игорь_МММ
 
24.05.20
11:11
(6)(7) можно поподробнее - что значит транспонировать или как через ВЫБОР?
10 Игорь_МММ
 
24.05.20
11:16
то есть это как раз преобразование (5)?
11 Игорь_МММ
 
24.05.20
11:23
ок. То есть решение будет таково:
ВЫБРАТЬ
    исходная.объект КАК Объект,
    Размер.Значение КАК Размер,
    Цвет.Значение   КАК Цвет
Из Исходная КАК Исходная
Лев.соединение Исходная КАК Размер
      ПО Исходная.Объект = Размер.Объект И Размер.Свойство = "Размер"
Лев.соединение Исходная КАК Цвет
      ПО Исходная.Объект = Цвет.Объект И Цвет.Свойство = "Цвет"

Далее итоги...
12 Ненавижу 1С
 
гуру
24.05.20
13:38
если это типовые дополнительные свойства и реквизиты, то там все уже есть и так
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс