8.х Непонятки в Запросе

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

  1. TopicStarter Overlay
    The_Demon
    Offline

    The_Demon

    Регистрация:
    21 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Народ, убил уже весь день, никак не могу догнать, почему не выполняется запрос:

    Код:
    Запрос = Новый Запрос("ВЫБРАТЬ
    |	УРВ_ФактическоеВремяРабот.Сотрудник КАК Сотрудник,
    |	УРВ_ФактическоеВремяРабот.Работа КАК Работа,
    |	УРВ_ФактическоеВремяРабот.Статус,
    |	УРВ_ФактическоеВремяРабот.Время КАК Время
    |ИЗ
    |	РегистрСведений.УРВ_ФактическоеВремяРабот КАК УРВ_ФактическоеВремяРабот
    |
    |УПОРЯДОЧИТЬ ПО
    |	Сотрудник,
    |	Работа,
    |	Время
    |ИТОГИ ПО
    |	Сотрудник,
    |	Работа");
    ВыборкаПоСотрудникам = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    Пока ВыборкаПоСотрудникам.Следующий() Цикл 
    
    //код обработки
    
    ВыборкаПоРаботам = ВыборкаПоСотрудникам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    Пока ВыборкаПоРаботам.Следующий Цикл  
    
    //код
    
    ВыборкаПоВремени = ВыборкаПоСотрудникам.Выбрать();
    Пока ВыборкаПоВремени.Следующий() Цикл
    //код
    КонецЦикла;
    
    КонецЦикла; 
    
    КонецЦикла;
    
    Проблема в том, что "Поле объекта не обнаружено (Следующий)" в строке
    Код:
    Пока ВыборкаПоРаботам.Следующий Цикл
    
    Я просто в тупике, данные есть точно, в предприятии консолью запросов этот запрос выполняется как надо, но в конфигураторе на момент "вхождения" в следующий итог происходит "ошибка чтения". Можно, конечно, обойти это деревом, но очень неудобно да и просто хотелось бы узнать, что за глюк. Может кто-нить сталкивался?
  2. DmitryS
    Offline

    DmitryS Опытный в 1С

    Регистрация:
    20 июл 2007
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    26
    Потому что нужно "Следующий()", это фукция а не реквизит.
  3. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!

    Дело в том что Следующий - это не поле, а метод, а у метода должны быть параметры, даже если их как таковых нету.

    Из синтаксис - помощника

    Код:
    ВыборкаИзРезультатаЗапроса.Следующий (QueryResultSelection.Next)  ВыборкаИзРезультатаЗапроса (QueryResultSelection)  
    Следующий (Next)  Синтаксис:  Следующий()   Возвращаемое значение:
    Тип: Булево. Истина - следующая запись выбрана; Ложь - достигнут конец выборки.
    Описание:  Получает следующую запись из результата запроса. Для обхода результата запроса нужно после получения выборки вызвать данный метод для позиционирования на первый элемент и далее вызывать до тех пор, пока не будет возвращено значение Ложь.
    Пример:
    Пока Выборка.Следующий() Цикл      ...  КонецЦикла;
    
    Т.е. Вам нужно написать так

    Код:
    Пока ВыборкаПоРаботам.Следующий() Цикл
    
  4. TopicStarter Overlay
    The_Demon
    Offline

    The_Demon

    Регистрация:
    21 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Вот жыж я тупень.. Спасибо))
Похожие темы
  1. Lord Volan
    Ответов:
    2
    Просмотров:
    1.565
  2. mialord
    Ответов:
    3
    Просмотров:
    737
Загрузка...

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