8.х Результат запроса

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

  1. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Пишу простенький запрос:
    Код:
    Запрос = Новый Запрос;
    
    Запрос.Текст=" Выбрать top 10
    | *
    .
    .
    ."
    
    Результат = Запрос.Выполнить().Выгрузить();
    
    
    Вопрос, как сделать, чтобы результат отобразился (делаю в обработках) ?

    А какой эквивалент операции top в 1С ?
  2. Hr0n
    Offline

    Hr0n Опытный в 1С

    Регистрация:
    17 авг 2009
    Сообщения:
    353
    Симпатии:
    0
    Баллы:
    26
    Чтобы результат отобразился, нужно куда-нибудь его вывести. Например в табличный документ.
    Если нужно посмотреть что получается из этого результата без написания вывода, с помощью отладчика или консоли запросов можно посмотреть результат запроса.
    эквивалент операции "top" в 1С "ПЕРВЫЕ". Т.е. " ВЫБРАТЬ ПЕРВЫЕ 10". Юзайте конструктор запросов, все нужные опции можно выбрать там, например выбрать первые или последние записи можно на вкладке конструктора "Дополнительно".
  3. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Конструктор юзую..запрос выполняется, но вот вывести не могу.

    А ведь есть временные таблицы, в которые можно вывести и после закрытия они удалятся?
  4. Hr0n
    Offline

    Hr0n Опытный в 1С

    Регистрация:
    17 авг 2009
    Сообщения:
    353
    Симпатии:
    0
    Баллы:
    26
    Вы неправильно понимаете назначение временных таблиц, они не предназначены для вывода результата. Вам что нужно? Вывести результат запроса в таблицу значений, в печатную форму, или просто посмотреть результат?
    Посмотреть результат запроса, отладить запрос, лучше всего пользоваться консолью запросов, например http://infostart.ru/public/78001/
  5. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Спасибо, уже имею такую консоль - там проверил запрос.
    Я бы хотел просто в программе выводить для просмотра. С числами я разобрался, а вот как вывести 1-10 строк для просмотра - я пока не разобрался...

    В обработки-форма - создаю таблицу (но она не появляется)... Не подскажите, как создать в форме таблицу, чтобы в нее выгрузить...
  6. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Создал ТаблицуЗначений, как теперь в неё добавить результат запроса.

    Делаю так:

    Код:
    ....
    Результат = Запрос.Выполнить();
    ТЗ=Результат.Выгрузить();
    ВОЗВРАТ ТЗ;
    
    Но ничего не происходит...
  7. Hr0n
    Offline

    Hr0n Опытный в 1С

    Регистрация:
    17 авг 2009
    Сообщения:
    353
    Симпатии:
    0
    Баллы:
    26
    Создайте в таблице значений колонки, при необходимости тип значений и заполняйте их из результата запроса.
  8. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    А где нужно выполнять эту функцию, я её выполняю при открытии обработке?


    У меня есть таблица значений ТЗ.

    Но когда делаю так:

    Код:
    Таблица=Результат.Выгрузить;
    Для каждого Строка из Таблица цикл
    ТЗ.Бюджет=Таблица.Бюджет;
    КонецЦикла
    
    Бюджет - это созданная колонка

    Выдает, что переменная ТЗ не определена, в чем дело?
  9. TopicStarter Overlay
    Shining ninja
    Offline

    Shining ninja Опытный в 1С

    Регистрация:
    20 фев 2011
    Сообщения:
    129
    Симпатии:
    0
    Баллы:
    26
    Сделал так:

    Код:
    &НаСервере
    
    Функция МакСер()
    
    
    Запрос=Новый Запрос;
    
    
    Запрос.Текст=...
    
    
    Таблица=Запрос.Выполнить().Выгрузить();
    
    
    Для каждого Строка из Таблица цикл
    
    НоваяСтрока=ТЗ.Добавить();
    
    НоваяСтрока.Б=Строка.Сборы;
    
    КонецЦикла
    
    
    КонецФункции
    

    Делаю на 8.2. Можно еще проще написать?

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