#0
by Александр Б
Имеется массив групп Номенклатуры. Мне нужно получить список всех элементов и групп из этих групп, при этом во второй колонке для каждого элемента должна быть группа, в иерархии которого находится данный элемент. Надеюсь понятный вопрос :)
#1
by ShoGUN
Задам вопросы на примере: Есть такая иерархия: Группа1 Группа2 Элемент Т.е. в группу вложена другая группа, а в нее в свою очередь - элемент. Если в массиве передается Группа1 - элемент должен попадать в результат? И если должен - во втором столбце должна быть Группа1 или Группа2? Из постановки задачи это непонятно.
#4
by Александр Б
А если например у нас данные: Группа1 Элемент1 Элемент2 Группа2 Элемент3 Элемент4 То при передаче в Массиве (Группа1,Группа2) выборка должна быть следующая: Группа1 Группа1 Уже часа эту головоломку не могу решить. И есть ли решение?
#5
by Александр Б
Также список групп хранится в отдельной таблице, путем выбора из которой мы и получаем данный массив. Может быть как-то можно использовать соединение?
#6
by ShoGUN
А если передается и Группа1, и Группа2? :) В принципе, я решение вижу, но непонятно - устроит ли оно тебя.
#9
by ShoGUN
Не ты не понял. Я про вложенность: Группа1 Группа2 Элемент Передаем группу 1 и группу 2 в списке, получаем: Группа1 Группа1 Группа2 Группа1 Так?
#11
by ShoGUN
Ага, так. Тогда просто делай INNER JOIN таблицы справочника с самой собой по условию В ИЕРАРХИИ. Правда, боюсь, такой запрос будет сильно тормозить :/
#12
by IronDemon
Зачем соединение? Выбор Когда Ссылка.ЭтоГруппа Тогда Ссылка Иначе Ссылка.Родитель Конец Как Поле2
#17
by Александр Б
Вот вроде задача на первый взгляд не сложная, а на самом деле хорошая головоломка :)
#18
by IronDemon
Количество уровней ограничено? Тогда можно связи по Ссылка.Родитель, Ссылка.Родитель.Родитель и т.д. p.s. У меня такие запросы есть ;)
#19
by Александр Б
Делается на базе УТ, а в ней для справочника Номенклатура количество уровней неограничено :)
#22
by Александр Б
согласен, это решит задачу, вот только как-то не оптимально. Других вариантов вообще нет? Напомню, что у нас список этих групп хранится в отдельной таблице, путем выборки из которой мы и получаем наш массив. Может как-то в соединении похимичить?
#23
by ShoGUN
Есть другое неоптимальное - генерация текста запроса в цикле - UNION по количеству групп в массиве :) Только даже не знаю, чем это лучше...
#25
by Александр Б
кстати да, как вариант :) но если у нас будет 100 групп в этой таблице, то крайне неоптимальное решение станет. В общем красиво это наверно не реализовать, буду думать другие варианты. Всем спасибо!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как в запросе получить наименование группы к которой принадлежит элемент?
- Как получить все группы справочника лежащие ниже определенной группы на 1
- Как получить название группы справочника зная элемент этой группы?
- Один запрос - все ок , два запрос - не получается :(
- В группе из списка 1с8.1 запрос
- ТУпой вопрос: как получить текст запроса динамического списка?
- Можно ли получить номер уровня группы / элемента в запросе для СКД
- УФ. 8.3 Форма списка. Как получить результат запроса динамического списка ?
- v7: Как получить элементы справочника принадлежащие группам из списка значений?
- Запрос в обработке и запрос в консоли отчетов выдают разные результаты
- Быстрый запрос для получения списка возможных доп реквизитов
- "Несовместимые типы выразить в запросе 1с" ошибка в динамическом запросе списка документов
В этой группе 1С
- Как полю HTML документа установить прокси- сервер?
- как отредактировать печатную форму авансового отчета?
- ЗУП: отчет "Структура задолженности организаций". Есть вопросы.
- Загрузка из SQL в 1с
- Перенос плана счетов Бух 7 -> ЗуП
- Как размер картинки в макете отрегулировать?
- Восстановить базу 77. Утеряны 1SJOURN, 1SENTRY .
- УТ 10.2. Как получить информацию об оплате заказа покупателя.
- Как программно вызвать окошко ввода пароля "Временная блокировка"
- ЗУП Где хранятся вычеты сотрудников
- УПП. Закрытие года.
- Восстановление удаленной номенклатуры
- УПП Списание расходов будущих периодов
- ЗУП. Сальдо на начало периода
- Удалить кнопку панели инструментов 1С 8
- УПП Как отразить начисление процентов по займам?
- как поставить условие на дату документа?
- Как в интервале на Диаграмме Ганта вывести текст?
- Почтовый сервер (динамический IP)
- Как программно развернуть табличный документ во весь экран