8.х Запрос (иерархия)

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

  1. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Тупанул.
    Код:
    ВЫБРАТЬ
        Номенклатура.Ссылка
    ПОМЕСТИТЬ ВТ_Группа
    ИЗ
        Справочник.Номенклатура КАК Номенклатура
    ГДЕ
        Номенклатура.Ссылка = &Группа
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        Номенклатура.Ссылка
    ИЗ
        Справочник.Номенклатура КАК Номенклатура
    ГДЕ
        Номенклатура.Ссылка В ИЕРАРХИИ
                (ВЫБРАТЬ
                    ВТ_Группа.Ссылка
                ИЗ
                    ВТ_Группа КАК ВТ_Группа)
    Можно же по такому принципу пойти. Все выведет как надо.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Запрос вида:

    Код:
    ВЫБРАТЬ
        ТЧ.Номенклатура
    ИЗ
        Документ.РеализацияТоваровУслуг.Товары КАК ТЧ
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
            ПО ТЧ.Номенклатура = СправочникНоменклатура.Ссылка
    ГДЕ
        ТЧ.Номенклатура В ИЕРАРХИИ(&НужнаяНоменклатура)
    Выдаст вам все, что БД знает про номенклатуру, включая ее иерархию каждого элемента.
    Кстати, не совсем понятно, для чего выполняется соединение к справочнику.

    Если вы отчет делаете вручную(макет + код), то иерархию в данном случае вам придется самим обрабатывать при выводе в макет.
    Если вы отчет делаете в СКД, то группировка вывода по номенклатуре [​IMG] покажет вам необходимую структуру иерархии.

    Что не так?

    Вложения:

  3. TopicStarter Overlay
    Shelest
    Offline

    Shelest Опытный в 1С

    Регистрация:
    29 янв 2007
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Так как получить &Группа? Тут скорее вопрос не в выводе иерархии, а в объединение таблиц...
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Делайте соединение по Родитель
  5. TopicStarter Overlay
    Shelest
    Offline

    Shelest Опытный в 1С

    Регистрация:
    29 янв 2007
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Мне нужен отбор не по &НужнаяНоменклатура, а по документу. Т.е. есть &Нужный документ и по нему вывести элементы номенклатуры.
    --- Объединение сообщений, 15 сен 2014 ---
    по родителю выводит только то что уровнем ниже, а мне нужны все, что ниже.
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Ну епт....
    ........
    ГДЕ ТЧ.Ссылка = &НужныйДокумет
  7. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Я пример привел. Бога ради. Я так понял в вашем документе хранятся группы в табличной части. А Вам в отчет надо вывести, все что входит в эти группы. Если так. То просто делайте запрос к Вашему документу, получайте список групп. А потом уже по моему примеру.
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    я не удивлюсь, если в самих группах, в ТЧ, хранится входящая в эти группы номенклатура, как это сделано с номенклатурными группами в типовых :)
  9. TopicStarter Overlay
    Shelest
    Offline

    Shelest Опытный в 1С

    Регистрация:
    29 янв 2007
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Да это я все я понимаю, только написать не могу. Давно не программировал. А сейчас че-то не сообразить...
  10. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Ну как тогда Вам помочь? Написать за Вас? Конфигурация то хоть какая?
  11. TopicStarter Overlay
    Shelest
    Offline

    Shelest Опытный в 1С

    Регистрация:
    29 янв 2007
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Самописная.
  12. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Короче, я Вам сказал, что нужно делать.
  13. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Ну тада так:
    Код:
    ВЫБРАТЬ
        РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура
    ПОМЕСТИТЬ ВТ_ГруппыНоменклатуры
    ИЗ
        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    ГДЕ
        РеализацияТоваровУслугТовары.Ссылка = &НужныйДокумент
    
    ИНДЕКСИРОВАТЬ ПО
        Номенклатура
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        СправочникНоменклатура.Ссылка КАК Номенклатура
    ИЗ
        Справочник.Номенклатура КАК СправочникНоменклатура
    ГДЕ
        СправочникНоменклатура.Ссылка В ИЕРАРХИИ
                (ВЫБРАТЬ
                    ВТ_ГруппыНоменклатуры.Номенклатура
                ИЗ
                    ВТ_ГруппыНоменклатуры)
    --- Объединение сообщений, 15 сен 2014 ---
    да, да....опять я раздаю рыбу вместо удочек....вот такой я добрый сегодня :)
  14. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Он щас напишет, что данные хранятся не в этом документе.
  15. TopicStarter Overlay
    Shelest
    Offline

    Shelest Опытный в 1С

    Регистрация:
    29 янв 2007
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ
        спрНоменклатура.Ссылка
    ПОМЕСТИТЬ ВТ_Группа
    ИЗ
        Документ.РасходнаяНакладная.Товары КАК докРасходнаяНакладнаяТовары
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК спрНоменклатура
            ПО докРасходнаяНакладнаяТовары.Номенклатура = спрНоменклатура.Ссылка
    ГДЕ
        докРасходнаяНакладнаяТовары.Ссылка = &Ссылка;
     
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        Номенклатура.Ссылка
    ИЗ
        Справочник.Номенклатура КАК Номенклатура
    ГДЕ
        Номенклатура.Ссылка В ИЕРАРХИИ
                (ВЫБРАТЬ
                    ВТ_Группа.Ссылка
                ИЗ
                    ВТ_Группа КАК ВТ_Группа)
    Все! Спасибо, джентельмены!
  16. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    ну в таком случае медицина бессильна :)
  17. nbIpKuH_BaH9I
    Online

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Соединение с номенклатурой не к чему в первой таблице.
    --- Объединение сообщений, 15 сен 2014 ---
    Также в конце удаляйте временную таблицу.

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