|
Запросом выбрать верхнего родителя | ☑ | ||
|---|---|---|---|---|
|
0
dfaa
04.07.11
✎
20:30
|
Как запросом выбрать самого верхнего родителя в справочнике номенклатура ?
|
|||
|
1
PR
04.07.11
✎
20:37
|
(0) Никак, только через иерархическую выборку.
Но проще в цикле IMHO. |
|||
|
2
Жан Пердежон
04.07.11
✎
20:40
|
ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.ИмяСправочника.ПустаяСсылка)
|
|||
|
3
dfaa
04.07.11
✎
20:45
|
(2) да ладно, это я выберу пустую ссылку.
|
|||
|
4
dfaa
04.07.11
✎
20:46
|
неужели в запросе не как не получиться ?
|
|||
|
5
kumena
04.07.11
✎
20:46
|
(2) так это пустая ссылка, а автору надо элемент самого верхнего уровня.
я писал так, когда времени не было. Выбор Когда Родитель Значение(справочник.Номенклатура.ПустаяСсылка) Тогда Ссылка Иначе Выбор Когда родитель.родитель ... тогда ссылка.родитель Конец а вообще можно написать запрос, но подумать надо |
|||
|
6
Лефмихалыч
04.07.11
✎
20:51
|
(0) зачем именно запросом? Какая религия запрещает рекурсию и циклы?
|
|||
|
7
dfaa
04.07.11
✎
20:54
|
(6) да собственно ни какая. Просто хотелось сделать всё запросом, так как номенклатуры больше сотни тысяч, не хотелось бы её гонять в цикле
|
|||
|
8
PR
04.07.11
✎
20:56
|
(7) Тогда делай коряво.
Определяй максимальный уровень вложенности и (5). Кстати, может в свежих 8.2 решили вопрос получения уровня в запросе, тогда может что-то получится придумать в запросе. |
|||
|
9
kumena
04.07.11
✎
20:59
|
"зачем именно запросом? Какая религия запрещает рекурсию и циклы?" - например в компоновку воткнуть.
|
|||
|
10
Лефмихалыч
04.07.11
✎
21:00
|
ну, соединение по иерархии не возможно по крайней мере в имеющихся на сегодняшний день платформах
Как-то придется с этим жить |
|||
|
11
MikleV
04.07.11
✎
21:10
|
зато возможно получение результата запроса, в котором на верхнем уровне будет желаемое
|
|||
|
12
dfaa
04.07.11
✎
21:13
|
(11) и как его получить ?
|
|||
|
13
Baker_it
04.07.11
✎
21:22
|
Ну итоги по иерархии видимо :)
|
|||
|
14
MikleV
04.07.11
✎
22:19
|
УПОРЯДОЧИТЬ ПО
|
|||
|
15
Parti
04.07.11
✎
22:21
|
выбрать итоги с иерархией во временную таблицу, из временной - пакетным запросом получить 1 значение
|
|||
|
16
ILM
гуру
04.07.11
✎
22:29
|
(0) Делай пакет запрос:
Первый итоги выводит для всех в данной ветке, Второй отбор где родитель = ЗНАЧЕНИЕ(Спр-к.ЛаЛаЛа.ПустаяСсылка) из (3) |
|||
|
17
ILM
гуру
04.07.11
✎
22:30
|
(15) Опередил, пока чай наливал )))
|
|||
|
18
Лефмихалыч
04.07.11
✎
22:36
|
(14),(17) пример может покажите?
|
|||
|
19
Лефмихалыч
04.07.11
✎
22:38
|
+(18) Во-первых, в пакетном запросе УПОРЯДОЧИТЬ ПО возможно использовать только в купе с ПЕРВЫЕ. А, во-вторых, у меня платформа радостно обрухнула при попытке провернуть этот трюк из брюк
|
|||
|
20
MikleV
04.07.11
✎
22:38
|
(18)а я что то говорил про пакетный запрос?
|
|||
|
21
MikleV
04.07.11
✎
22:39
|
ВЫБРАТЬ *
ИЗ Т КАК Т УПОРЯДОЧИТЬ ПО Т.Ссылка ИЕРАРХИЯ |
|||
|
22
bazvan
04.07.11
✎
22:40
|
(19) ЕЕ, так лето, жара, шорты одень:))
|
|||
|
23
Лефмихалыч
04.07.11
✎
22:41
|
(22) пробовал, не помогает :(
|
|||
|
24
Лефмихалыч
04.07.11
✎
22:43
|
(21) и дальше чо?
|
|||
|
25
MikleV
04.07.11
✎
22:56
|
(24)обход результата запроса
|
|||
|
26
ILM
гуру
04.07.11
✎
22:59
|
Счас по быстрому не найду, делал типа
ВЫБРАТЬ ПЕРВЫЕ 10000 * ПОМЕСТИТЬ ТЕМП ИЗ ... УПОРЯДОЧИТЬ ПО ... ИЕРАРХИЯ ИТОГИ ПО ИЕРАРХИИ ; ВЫБРАТЬ ... ИЗ ТЕМП ГДЕ ТЕМП.Ссылка = ЗНАЧЕНИЕ(.....ПустаяСсылка) Просто знал, что никогда и 10 тыс не будет в ветке. |
|||
|
27
Попытка1С
04.07.11
✎
22:59
|
Опять... Обсасывали вроде бы месяц назад.
|
|||
|
28
ILM
гуру
04.07.11
✎
23:01
|
(27) А что делать? Просят раз пососать
|
|||
|
29
Лефмихалыч
04.07.11
✎
23:02
|
(25) а, вон оно чо, а я-то думал, что дальше как-то ЗАПРОСОМ ты собрался. Так-то оно рекурсией или циклом и быстрее и читабельнее получится
(26) падает платформа, аргументируя это тем, что "Выход за размерность" или что-то такое. Да и какой понт в этом велосипеде, если проще так:
Задача была в том, чтобы родителя верхнего уровня конкретного элемента найтить только запросом. А это всё фигня от лукавого и не серьезно |
|||
|
30
ILM
гуру
04.07.11
✎
23:05
|
(29) Рекурсией лучше, но раз люди хотят запросом - зачем им в этом отказывать.
|
|||
|
31
ПульсЪ
04.07.11
✎
23:07
|
Функция родительпервогоуровня()
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Контрагенты.Наименование |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.ЭтоГруппа = &ЭтоГруппа | И Контрагенты.Родитель = &ПустаяСтрока |"; Запрос.УстановитьПараметр("ЭтоГруппа", Истина); Запрос.УстановитьПараметр("ПустаяСтрока",Справочники.Контрагенты.НайтиПоКоду("") ); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); возврат Выборка.Наименование КонецФункции |
|||
|
32
ПульсЪ
04.07.11
✎
23:08
|
а не
|
|||
|
33
Попытка1С
04.07.11
✎
23:08
|
(0) Поиском не пробовали пользоваться?
v8: Как получить верхнего родителя группы? v8: Из справочника вернуть Родителя Самого Верхнего уровня. v8: Как в 1С получить вернюю папку-родителя номенклатуры v8: "верхний" родитель в иерархии элементов справочника v8: Как запросом получит самые нижние и самый верхний соотв. уровень в справочнике v8: Родитель верхнего уровня в запросе v8: запросом получить самого верхнего родителя v8: обратиться к элементам верхнего уровня. |
|||
|
34
ПульсЪ
04.07.11
✎
23:08
|
или... все норм
|
|||
|
35
thezos
04.07.11
✎
23:12
|
полный кот
|
|||
|
36
ПульсЪ
04.07.11
✎
23:15
|
(0) проверил) канает) пользуйся (31)
|
|||
|
37
ПульсЪ
04.07.11
✎
23:16
|
тока нуна что бы в справочнике была папка первого уровня одна) ну или допили чутка
|
|||
|
38
Jackman
05.07.11
✎
02:55
|
|
|||
|
39
Рэйв
05.07.11
✎
07:06
|
Выбрать
Выбор когда Ссылка.Родитель Есть NULL Тогда "Верхний уровень" Когда Ссылка.Родитель.Родитель Есть NULL Тогда Ссылка.Родитель Когда Ссылка.Родитель.Родитель.Родитель Есть NULL Тогда Ссылка.Родитель.Родитель Когда Ссылка.Родитель.Родитель.Родитель.Родитель Есть NULL Тогда Ссылка.Родитель.Родитель.Родитель .... |
|||
|
40
Рэйв
05.07.11
✎
07:09
|
+
...Конец КАК ВерхнийПапа естессно:-) |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |