![]() |
|
v7: Индексированная таблица. Свернуть столбец со строкой | ☑ | ||
---|---|---|---|---|
0
AntiBuh
02.07.14
✎
13:07
|
Помогите с задачей
есть таблица вида: Ключ к1(Строка) к2(строка) к3(число) ------------------------------------------ Знач1 Стр1 Знач1 стр2 знач1 числ1 нужно получить из этого 1 строку таблицы можно ли быстро свернуть или придется перебором заполнять к1 и к2 для свертки? |
|||
1
mikecool
02.07.14
✎
13:27
|
выгрузить в тз и свернуть?
нет у ИТ метода? |
|||
2
MadJhey
02.07.14
✎
13:28
|
строковые значение не сворачиваются. сделай перебором
|
|||
3
aqua80
03.07.14
✎
01:36
|
Например так:
[code]//заполнение тз = СоздатьОбъект("ТаблицаЗначений"); тз.НоваяКолонка("Ключ", "Строка"); тз.НоваяКолонка("К1", "Строка"); тз.НоваяКолонка("К2", "Строка"); тз.НоваяКолонка("К3", "Число"); тз.НоваяСтрока(); тз.Ключ = "Знач1"; тз.К1 = "Стр1"; тз.НоваяСтрока(); тз.Ключ = "Знач1"; тз.К2 = "Стр2"; тз.НоваяСтрока(); тз.Ключ = "Знач1"; тз.К3 = 10; //контроль до тз.ВыбратьСтроку(); //обработка тз.ПолучитьСтрокуПоНомеру(1); Пока тз.КоличествоСтрок() > 1 Цикл тз.К1 = Макс(тз.К1, тз.ПолучитьЗначение(2, "К1")); тз.К2 = Макс(тз.К2, тз.ПолучитьЗначение(2, "К2")); тз.К3 = Макс(тз.К3, тз.ПолучитьЗначение(2, "К3")); тз.УдалитьСтроку(2); КонецЦикла; //контроль после тз.ВыбратьСтроку();[/code] |
|||
4
КонецЦикла
03.07.14
✎
01:40
|
Встречный вопрос, что делать с такими данными?
Ключ к1(Строка) к2(строка) к3(число) ------------------------------------------ Знач1 Стр1 Знач1 стр2 знач1 стр3 числ1 |
|||
5
VladZ
03.07.14
✎
07:22
|
(0) Варианты решений:
1. Не создавать себе такую проблему. Т.е. на этапе получения данной таблицы заполнять ее так, как нужно, а не так, как получилось. 2. см. Индексированная таблица. Там есть ЛевоеСоединение, ПравоеСоединение. |
|||
6
AntiBuh
03.07.14
✎
07:55
|
(4) такого не может получиться
(5) 1. знаю что лучше изначально, но заполняется из запроса 2. вроде нету такого у индексированной |
|||
7
Salimbek
03.07.14
✎
12:02
|
(6) 1. Если заполняется из запроса, то может проще обернуть этот запрос, типа:
SELECT Ключ, Max(к1), Max(к2) FROM (...тут твой запрос...) GROUP BY Ключ и не надо будет мучить бедную 1С-ку. 2. Есть такое у Индексированной |
|||
8
Ёпрст
гуру
03.07.14
✎
12:04
|
(0) сделать запрос к этой тз через 1sqlite и там group_concat
|
|||
9
AntiBuh
03.07.14
✎
14:35
|
короч взял каркас идеи из (3)
свертка в запросе чет не получилась ну да ладно все равно вроде быстро |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |