8.х Проблемы с Запросом (Помогите новичку)

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

  1. TopicStarter Overlay
    SaSer
    Offline

    SaSer

    Регистрация:
    13 фев 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте очень нужна помощь.

    Есть такой запрос

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

    SaSer

    Регистрация:
    13 фев 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Причем если Делать
    Код:
    Выборка = Результат.Выгрузить();
    то результат выгружается в ТЗ,

    почему тогда
    Код:
    Выборка = Результат.Выбрать();
    выдает ошибку чтения значения?
  3. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Я так понимаю, вы в отладчике смотрите.
    Выборку напрямую там увидеть нельзя (как ТЗ, например).
    Элементы выборки можно только обойти в цикле:
    Код:
    Пока Выборка.Следующий() Цикл
  4. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    В отладчике можете написать
    Код:
    Выборка.Следующий()
    увидите первый элемент выборки :)
  5. TopicStarter Overlay
    SaSer
    Offline

    SaSer

    Регистрация:
    13 фев 2013
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    нету ни одного элемента
  6. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Ой, извините, наврал...
    Метод "Следующий()" возвращает ИСТИНУ (если выбран следующий элемент выборки) или ЛОЖЬ (если не выбран).

    В общем, выборка обходится только в цикле.
    Код:
    Пока Выборка.Следующий() Цикл
    Сообщить(Выборка.СчетДт);
    КонецЦикла;

    Как смотрели?

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