8.х Вывести результат запроса в текстовое поле

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

  1. TopicStarter Overlay
    bluntschi
    Offline

    bluntschi Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    422
    Симпатии:
    0
    Баллы:
    26
    Добрый день, подскажите, пожалуйста, у меня есть документ, в нем текстовое поле описание, и нужно туда выводить некоторые данные из табличной части, вот запрос:

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

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    980
    Симпатии:
    19
    Баллы:
    29
    Может быть так:
    Код:
    Описание = "";
    Пока Выборка.Следующий() Цикл
    Описание = Описание + Строка(Выборка.ДоговорКонтрагента)+ " " + Строка(Выборка.Проект)+ " " + Строка(Выборка.Спецификация);
    КонецЦикла;
    ;
    bluntschi нравится это.
  3. rshakiro
    Offline

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

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Код:
    Описание = Описание + Строка(Выборка.ДоговорКонтрагента)+ " " + Строка(Выборка.Проект)+ " " + Строка(Выборка.Спецификация);
    Опередили ;)
    Последнее редактирование: 27 мар 2014
    bluntschi нравится это.
  4. TopicStarter Overlay
    bluntschi
    Offline

    bluntschi Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    422
    Симпатии:
    0
    Баллы:
    26
    да, спасибо!!! оно)
  5. LordMaverick
    Offline

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

    Регистрация:
    17 мар 2014
    Сообщения:
    3.438
    Симпатии:
    373
    Баллы:
    104
    по мне лучше сперва всё накопить в цикле, а потом разом вывести
    Код:
    Описание = "";
    ДляОписания = "";
    Пока Выборка.Следующий() Цикл
    ДляОписания = ДляОписания + Строка(Выборка.ДоговорКонтрагента)+ " " + Строка(Выборка.Проект)+ " " + Строка(Выборка.Спецификация)+Символы.ПС;
    КонецЦикла;
    Описание=ДляОписания;
    

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