Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 19:22

Заполнение ТЧ макета из запроса к БД

Автор spapin, 09 авг 2013, 11:23

0 Пользователей и 1 гость просматривают эту тему.

spapin

Добрый день, подскажите как вывести в макет  все строки полученные запросом(запрос отладчиком получает все правильно)? Сейчас выводится последняя строка ... :(

Макет = Справочники.ПрайсЛисты.ПолучитьМакет("ЗагруженнаяИнформация");
    ОбластьЗаголовок=Макет.ПолучитьОбласть("Заголовок");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрока = Макет.ПолучитьОбласть("СтрокаТаблицы");
    ТабДок=Новый ТабличныйДокумент;
    ТабДок.Очистить();
    ОбластьЗаголовок.Параметры.Поставщик=Наименование;
    Дата = ЭлементыФормы.ИсторияИзмененияЦен.ТекущаяСтрока.ДатаПрайса;
    Дата = Дата(Дата);
    ДатаПрайса = Формат(Дата,"ДФ=dd.MM.yyyy; ДЛФ=D");
    ОбластьЗаголовок.Параметры.ДатаПрайса = ДатаПрайса;
   
    qs_ord = "SELECT
    |    I.item_number AS number,
    |    I.item_name AS name,
    |    P.qty AS qty,
    |    P.price AS price,
    |    S.sup_name AS sup_name
    |FROM items AS I
    |INNER JOIN prices AS P ON P.id_item = I.id_item
    |INNER JOIN suppliers AS S ON S.id_sup = P.id_sup
    |WHERE S.sup_name = '"+Контрагент.КодНаименование+"' AND FROM_UNIXTIME(P.prc_date, '%d.%m.%Y') = '"+ДатаПрайса+"'";
   
    rs_ord.Open(qs_ord, Con);
    Пока не rs_ord.EOF цикл
        печАртикул = TrimAll(rs_ord.fields("number").value);
        печНаименование = TrimAll(rs_ord.fields("name").value);
        печКоличество = TrimAll(rs_ord.fields("qty").value);
        печЦена = TrimAll(rs_ord.fields("price").value);
        печПоставщик = TrimAll(rs_ord.fields("sup_name").value);

        //ОбластьСтрока.Параметры.Заполнить(qs_ord);

        ОбластьСтрока.Параметры.number = печАртикул;
        ОбластьСтрока.Параметры.name = печНаименование;
        ОбластьСтрока.Параметры.qty = печКоличество;
        ОбластьСтрока.Параметры.price = печЦена;
        ОбластьСтрока.Параметры.sup_name = печПоставщик;
        rs_ord.MoveNext();
    КонецЦикла;
    Попытка
        Con.Close();
    Исключение
    КонецПопытки;
   
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапка);
    ТабДок.Вывести(ОбластьСтрока);
    ТабДок.Показать( );

cska-fanat-kz

"ТабДок.Вывести(ОбластьСтрока);"
надо делать в том же цикле где параметры области заполняются
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

spapin


Dethmontt

ОбластьСтрока.Параметры.sup_name = печПоставщик;
ТабДок.Вывести(ОбластьСтрока); //Выводим строку
        rs_ord.MoveNext();
КонецЦикла;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск