Имя: Пароль:
1C
1С v8
Как работать с результатом запроса? Подскажите
0 ppkmlite
 
10.08.15
19:51
Здравствуйте!
Создаю печатную форму для документа списание мз.
Поля материалы должны выводиться одной  строкой (каждый материал в  отдельной колонке) и под ними соответственно одной строкой количество  этих материалов. Итоги под количеством. во вложении пример

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

        
    КонецЦикла;
1 zak555
 
10.08.15
19:55
ТабличныйДокумент.Присоединить
2 ДенисЧ
 
10.08.15
19:55
А где вывод в таблицу?
3 ppkmlite
 
10.08.15
20:17
Спасибо, сейчас буду смотреть
4 ppkmlite
 
10.08.15
20:34
Я что то неправильно сделала, помогите разобраться. Не судите строго. выводит одну и ту же номенклатуру в одну колонку, а мне нужно,чтобы каждая в отдельной колонке выводилась
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            
            колонкаН = табдокумент.получитьобласть("R39C8:R42C12");
            ТабДокумент.НачатьАвтогруппировкуКолонок();
            колонкаН.Область("R39C8:R42C12").Текст = "наменование";
            ТабДокумент.Вывести(колонкаН,1,"Группа 1",Ложь);
                    //    Для н = 1 по 10 Цикл
                колонкаН = ТабДокумент.ПолучитьОбласть("R39C8:R42C12");
                колонкаН.Область().Текст = "А"+ВыборкаДетальныеЗаписи.наименование;
                колонкаН.Область().ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
                ТабДокумент.Присоединить(колонкаН,2,"Группа 2",Истина);
        //    КонецЦикла;
    //    ОбластьТаблица.параметры.Наименование = ВыборкаДетальныеЗаписи.Наименование;

        
    КонецЦикла;
5 ppkmlite
 
10.08.15
20:39
В отладчике смотрю - проходится по всей выборке, а потом как будто затирает и в итоге выводит самую первую несколько раз и одним столбцом!
6 Dен
 
10.08.15
22:22
А как же макеты? Удобное средство для построения табличных документов.
7 ppkmlite
 
11.08.15
11:45
Не пойму как работатет этот метод присоединить?
Сначала вывожу наименование - текст, а потом присоединяю справа.
А он мне этот текст несколько раз выводит, а потом еще присоединяет одну и ту же номенклатуру несколько раз! Объясните, что я не так делаю?

РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    колонка1 = табДокумент.ПолучитьОбласть("R50C5:R50C7");
    колонка1.Область().Текст = "наименование";
    ТабДокумент.Вывести(колонка1);
    для каждого колонка из РезультатЗапроса цикл
        колонкаН = табДокумент.ПолучитьОбласть("R50C8:R50C11");
        колонкаН.Область().Параметр = колонка.Наименование;
        колонкаН.Область().ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
        ТабДокумент.Присоединить(колонкаН);
        /////
        

    конеццикла;
8 ppkmlite
 
11.08.15
11:46
Почему у меня наименование не в цикле, а он мне его все равно несколько раз выводит в строку
Программист всегда исправляет последнюю ошибку.