8.х Выборка и обход запроса по группировкам.

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

  1. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Сильно не пинайте, доброго дня всем...
    Ам.. как то не приходилось с этим сталкиваться, но я подразумеваю что мне необходимо именно то что написано в заголовке..
    Суть следующая, необходимо выбрать контрагентов с обходом вида...

    Головной контрагент 1
    Контрагент 1 = Головной контрагент 1
    Контрагент 2
    Головной контрагент 2
    Контрагент 3 = Головной контрагент 2
    Контрагент 4
    Контрагент 5

    Логика такая что если у контрагента не заполнен головной контрагент то он возвращает там себя..

    Вот что накидал решив проверить..

    Код:
        Запрос = Новый Запрос;
        Запрос.Текст ="ВЫБРАТЬ
                      |    Контрагенты.Ссылка КАК Контрагент,
                      |    Контрагенты.ГоловнойКонтрагент КАК Головной
                      |ИЗ
                      |    Справочник.Контрагенты КАК Контрагенты
                      |ГДЕ
                      |    Контрагенты.ГоловнойКонтрагент В ИЕРАРХИИ(&Дилеры)
                      |
                      |СГРУППИРОВАТЬ ПО
                      |    Контрагенты.Ссылка,
                      |    Контрагенты.ГоловнойКонтрагент";
        Запрос.Параметры.Вставить("Дилеры",Справочники.Контрагенты.НайтиПоКоду("000000002"));
       
        ВыборкаПоГоловному = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Головной");
       
        Пока ВыборкаПоГоловному.Следующий() Цикл
            Сообщить("Головной: "+ВыборкаПоГоловному.Ссылка);
            Выборка = ВыборкаПоГоловному.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Контрагент");
            Пока Выборка.Следующий() Цикл
                Сообщить("Контрагент: "+Выборка.Ссылка);
            КонецЦикла;   
        КонецЦикла
    Ругается вот на что:

    {Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (Выбрать)
    ВыборкаПоГоловному = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Головной");
    по причине:
    Измерение не найдено "Головной"



    что делаю не так?))))
  2. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Может иерархии не хватает в запросе?
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    нужны ИТОГИ по ГОЛОВНОЙ
    TerANik нравится это.
  4. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Вернее итогов.
  5. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    А зачем мне иерархия? Мне группы не нужны.
  6. TopicStarter Overlay
    TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Код:
    ВЫБРАТЬ
        Контрагенты.Ссылка КАК Контрагент,
        Контрагенты.ГоловнойКонтрагент КАК Головной
    ИЗ
        Справочник.Контрагенты КАК Контрагенты
    ГДЕ
        Контрагенты.ГоловнойКонтрагент В ИЕРАРХИИ(&Дилеры)
    
    СГРУППИРОВАТЬ ПО
        Контрагенты.Ссылка,
        Контрагенты.ГоловнойКонтрагент
    ИТОГИ ПО
        Головной,
        Контрагент

    Всем спасибо))
  7. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Я имел ввиду итоги.
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Логичино что итоги нужны.
    Ты просто выгрузи свой первый запрос в ТЗ и втрой в ТЗ и посмотри разницу.
    --- Объединение сообщений, 10 авг 2015 ---
    и Все поймешь.

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