|
Удалить колонку в дереве значений | ☑ | ||
---|---|---|---|---|
0
zhukovia
24.03.17
✎
05:53
|
Можно ли как то удалить колонку в дереве значений ну или в результате запроса получить только определенные колонки?
ВыборкаДерево = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); Дерево в последствии выгружается на форму без перебора. ЗначениеВРеквизитФормы(ВыборкаДерево,"ДеревоРезультата"); |
|||
1
Jonny_Khomich
24.03.17
✎
06:10
|
дз.Колонки.Удалить(дз.Колонки.ИмяКолонки);
|
|||
2
Jonny_Khomich
24.03.17
✎
06:11
|
а вообще проще удалить из результата запроса.
|
|||
3
zhukovia
24.03.17
✎
06:21
|
(1) Спасибо. Все получилось.
(2) А вот как удалить из результатов запроса я так и не могу сообразить. У меня в запросе есть вложенный запрос и может быть куча группировок (они динамически добавляются), к тому же мне надо чтобы группировки в результате выводились в одну колонку, а не в несколько и если в результирующем запросе я ставлю в Выбор только нужные мне поля тогда не видно группировок. Запрос.Текст = "ВЫБРАТЬ | ВложеныйЗапрос.Выборка, | ВложеныйЗапрос.КряжТекст, | ВложеныйЗапрос.СединаТекст, | СУММА(ВложеныйЗапрос.СуммаСтарая) КАК СуммаСтарая, | СУММА(ВложеныйЗапрос.КоличествоСтарое) КАК КоличествоСтарое, | СУММА(ВложеныйЗапрос.Сумма) КАК Сумма, | СУММА(ВложеныйЗапрос.Количество) КАК Количество |ИЗ (ВЫБРАТЬ | Каталог.КряжТекст, | Каталог.СединаТекст, | Каталог.СединаТекст + """+" - седина"+""" КАК Выборка, | СУММА(0) КАК СуммаСтарая, | СУММА(0) КАК КоличествоСтарое, | СУММА(Каталог.Цена * Каталог.Количество) КАК Сумма, | СУММА(Каталог.Количество) КАК Количество |ИЗ | Документ.АукционыйКаталог.Лоты КАК Каталог |ГДЕ | Каталог.Ссылка = &СсылкаНаДокумент |СГРУППИРОВАТЬ ПО | Каталог.КряжТекст, | Каталог.СединаТекст |ОБЪЕДИНИТЬ ВСЕ |ВЫБРАТЬ | Каталог.КряжТекст, | Каталог.СединаТекст, | Каталог.СединаТекст + """+" - седина"+""" КАК Выборка, | СУММА(Каталог.Цена * Каталог.Количество) КАК СуммаСтарая, | СУММА(Каталог.Количество) КАК КоличествоСтарое, | СУММА(0) КАК Сумма, | СУММА(0) КАК Количество |ИЗ | Документ.АукционыйКаталог.Лоты КАК Каталог |ГДЕ | Каталог.Ссылка = &СсылкаНаДокументДляСравнения |СГРУППИРОВАТЬ ПО | Каталог.КряжТекст, | Каталог.СединаТекст) КАК ВложеныйЗапрос |СГРУППИРОВАТЬ ПО | ВложеныйЗапрос.Выборка, | ВложеныйЗапрос.КряжТекст, | ВложеныйЗапрос.СединаТекст |УПОРЯДОЧИТЬ ПО | КряжТекст, | СединаТекст |ИТОГИ | СУММА(СуммаСтарая), | СУММА(КоличествоСтарое), | СУММА(Сумма), | СУММА(Количество), | МАКСИМУМ(ПРЕДСТАВЛЕНИЕ(ВложеныйЗапрос.КряжТекст)+"""+" - Кряж"+""") КАК Выборка |ПО | КряжТекст"; |
|||
4
zhukovia
24.03.17
✎
06:22
|
(3) В результате нужно только колонка Выборка и 4 суммы.
|
|||
5
1dvd
24.03.17
✎
06:49
|
Получается у тебя КряжТекст вообще не используется, но ты по нему группируешь. В чем смысл?
|
|||
6
zhukovia
24.03.17
✎
06:51
|
(5) Он используется во вложенном запросе, по нему и другим (около пяти) колонкам собирается иерархия. Но вывести все это надо в одной колонке.
|
|||
7
1dvd
24.03.17
✎
06:52
|
(6) да, пусть будет колонка, не парься
|
|||
8
zhukovia
24.03.17
✎
06:55
|
(7) Т.е. в запросе никак от нее не избавиться? Только удаление в результатах?
|
|||
9
1dvd
24.03.17
✎
06:57
|
(8) я просто не понимаю логики всего этого действа. А так, в запросе достаточно выбрать только то, что тебе надо
|
|||
10
Web00001
24.03.17
✎
07:09
|
(8)В любой непонятной ситуации оборачивай весь запрос вложеным запросом и там уже бери только нужные тебе колонки и вообще накладывай любые условия на результат финального вложенного запроса.
|
|||
11
zhukovia
24.03.17
✎
07:18
|
(9) Мне нужно выбрать из двух документов таблицы их объединить, потом сгруппировать результат объединения по всем колонкам (с итогами) и вывести все это в виде дерева на форму только вывести в Одну колонку, а не в несколько.
Примерно вот так http://s015.radikal.ru/i330/1703/1d/751210441be6.jpg |
|||
12
zhukovia
24.03.17
✎
07:19
|
(11) Только колонки РазмерТекст и СединаТекст надо убрать.
|
|||
13
zhukovia
24.03.17
✎
07:24
|
(10) Я так и сделал, но тогда не получается объединить (собрать одинаковые поля из разных таблиц в одну) по последнему полю Выборка. И в результирующей таблице в группировках все нормально, а вот последний уровень имеет по две строки (из каждой таблице по одной) вместо одной.
|
|||
14
Web00001
24.03.17
✎
07:51
|
(13)Значит и оригинальный запрос имеет по две строки
|
|||
15
1dvd
24.03.17
✎
07:53
|
Или я в запросах ничего не понимаю, или одна из черепашек свистит...
У тебя правда запрос (3) рисует дерево с иерархией по текстовому полю? |
|||
16
zhukovia
24.03.17
✎
07:55
|
(15) Ну да. Я же скриншот скинул.
|
|||
17
zhukovia
24.03.17
✎
07:57
|
(14) Если не объединять по последней колонке то да, но если объединить то получается одно лишнее вложение, это которое группировки раскрывает (+-).
|
|||
18
1dvd
24.03.17
✎
08:00
|
ладно, я вижу, что картинка не по этому запросу сделана.
Теперь самый главный вопрос - чем тебе мешает лишнее поле? Это поле нужно для иерархии. Его никак не удалить. Чем мешает? |
|||
19
zhukovia
24.03.17
✎
08:03
|
(18) Запрос немного урезан конечно но он взят из отладчика.
А поле мешает при отображении на форме, лишнее оно. Нужно только первое "Выборка" там все вложения и прописаны. |
|||
20
zhukovia
24.03.17
✎
08:07
|
(18) Можно конечно и после обработки удалить лишние колонки, но я думаю что так больше времени потратиться нежели еще в запросе лишнее убрать. Запрос и так довольно долго делается (две таблицы по 15 000 строк).
|
|||
21
1dvd
24.03.17
✎
08:10
|
(20) у тебя ключевое поле для построения иерархии. Без него иерархию не построишь.
|
|||
22
zhukovia
24.03.17
✎
08:19
|
(21) Какое ключевое, Выборка? Дак я его и не собираюсь удалять, мне остальные не нужны. Я просто чувствую что мой запрос очень не оптимальный (работает не быстро и выглядит не очень), вот и подумал что смогу понять в чем. Не очень сильно понимаю как правильно делать запросы, что оптимально, а что нет. Вот у меня например делается Группировка и во вложенных запросах и во внешнем, причем по одним и тем же полям. Попробовал у внутренних запросов убрать СГРУППИРОВАТЬ стало почему то еще медленней и результаты другими.
|
|||
23
darius357
24.03.17
✎
08:27
|
ну как всегда побакланили, и нифига толку
|
|||
24
zhukovia
24.03.17
✎
08:34
|
(23) Я так понял что можно сделать только удалением колонок после выполнения запроса (1). Что я и сделал, а в самом запросе либо не получиться, либо никто хочет в нем копаться чтобы понять что я делаю не так.
|
|||
25
zhukovia
24.03.17
✎
08:36
|
(23) Моя задача решилась по способу в (1) хоть ощущение что можно лучше (правильней) так и осталось. :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |