8.х Запрос- подчиненные элементы в справочнике

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем JohnConnor, 12 май 2016.

  1. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    пытаюсь найти все элементы которые содержат подчиненные элементы в справочнике
    но выдает ошибку "неверные параметры в иерархии"
    Код:
    ВЫБРАТЬ
        Номенклатура.Ссылка КАК Ссылка,
        Номенклатура.Наименование КАК Наименование
    ИЗ
        Справочник.Номенклатура КАК Номенклатура
    ГДЕ
        Номенклатура.Ссылка  В ИЕРАРХИИ (Номенклатура.Родитель)
    Последнее редактирование модератором: 12 май 2016
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Код:
    ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.Наименование КАК Наименование
    ИЗ
    Справочник.Номенклатура КАК Номенклатура
    ГДЕ
    Номенклатура.Ссылка В ИЕРАРХИИ (&Родитель)
    Передавайте в параметр Родитель ссылку на группу, что хотите проверить.
  3. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    мне надо не используя параметры
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Тогда как эту группу понять? Наименование может?
    --- Объединение сообщений, 12 май 2016 ---
    Код:
    ВЫБРАТЬ
        Номенклатура.Ссылка,
        Номенклатура.Наименование
    ИЗ
        Справочник.Номенклатура КАК Номенклатура
    ГДЕ
        Номенклатура.Ссылка В ИЕРАРХИИ
                (ВЫБРАТЬ
                    Номенклатура.Ссылка
                ИЗ
                    Справочник.Номенклатура КАК Номенклатура
                ГДЕ
                    Номенклатура.Наименование = "Ваша группа"
                    И Номенклатура.ЭтоГруппа)
  5. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.631
    Симпатии:
    946
    Баллы:
    204
    рекурсия. там одним запросом не получится
  6. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    вот и сам голову ломаю как это сделать, вывести все представления групп справочника "Номенклатура", содержащих подчиненные элементы
  7. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Значит я затупил. Подумал, что нужно выявить подчиненные элементы конкретной группы.
  8. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.742
    Симпатии:
    509
    Баллы:
    204
    Вам уже подкинули - рекурсия.
  9. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Иерархия какая? Групп? Элементов?
  10. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
  11. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.742
    Симпатии:
    509
    Баллы:
    204
    Делаете функцию, которою вызываете в этой же функции :), это рекурсия, таким способом можно проваливаться на сколь-угодно какую глубину вложенности
  12. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Ну можно сделать по-другому. Получить список групп.. Получить все элементы. Запихнуть их во временную таблицу. Чтобы не было больше обращений к базе данных. Потом проходимся по каждой группе и запросом смотрим сколько в нее вхождений. Дальше эту инфу можно записывать в ТЗ. Проверяем и уже итог какой Вам нужен.
    alexburn нравится это.
  13. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.631
    Симпатии:
    946
    Баллы:
    204
    ну с таким подходом можно и взять получить только группы поместить их в ВТ.
    Затем запросом провисать что выбрать все элеменыт которые В ИЕРАРХИИ (тут выборка этих групп), а затем в запросе добавить БЕЗ ПОВТОРЯЮЩИХСЯ
    и ты получишь все элементы которые в группах.
  14. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.979
    Симпатии:
    397
    Баллы:
    104
    Вариантов масса.
  15. TopicStarter Overlay
    JohnConnor
    Offline

    JohnConnor Опытный в 1С

    Регистрация:
    1 сен 2012
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    26
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    Родитель.Представление КАК Представление
    ИЗ
    Справочник.Номенклатура
    ГДЕ
    НЕ Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
    И НЕ ЭтоГруппа

Поделиться этой страницей