helpf.pro
Регистрация

v8: Внешняя печатная форма, проблема с выводом документов списком

Ast1
14.06.2018 13:42Прочитано: 67
Добрый день, делаю обработку чтобы можно было вывести документ(расшифровка) из выбранных в списке документов. Все данные залетают в первый документ, как быть ?
Код 1C v 8.х
 

Процедура КнопкаВыполнитьНажатие(Кнопка)Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьШапки           = Макет.ПолучитьОбласть("Шапка");
ОбластьЗаголовокТовары = Макет.ПолучитьОбласть("ЗаголовокТовары");
ОбластьДанныеТовары    = Макет.ПолучитьОбласть("ДанныеТовары");
ОбластьЗаголовокУслуги = Макет.ПолучитьОбласть("ЗаголовокУслуги");
ОбластьДанныеУслуги    = Макет.ПолучитьОбласть("ДанныеУслуги");
//ОбластьЗаголовокТара   = Макет.ПолучитьОбласть("ЗаголовокТара");
//ОбластьДанныеТара      = Макет.ПолучитьОбласть("ДанныеТара");


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ПоступлениеТоваровУслуг.Ссылка КАК Документ,
               |    ПоступлениеТоваровУслуг.Контрагент,
               |    ПоступлениеТоваровУслуг.Контрагент.ИНН КАК ИНН,
               |    ПоступлениеТоваровУслуг.ДоговорКонтрагента,
               |    СчетФактураПолученный.Дата КАК СчетФактураДата,
               |    СчетФактураПолученный.Номер КАК СчетФактураНомер,
               |    ПоступлениеТоваровУслуг.СуммаДокумента КАК СуммаПоДокументу,
               |    ВЫРАЗИТЬ(ПоступлениеТоваровУслуг.СуммаДокумента * 18 / 118 КАК ЧИСЛО(15, 3)) КАК НДСПоДокументу,
               |    ПоступлениеТоваровУслуг.НомерВходящегоДокумента КАК Номер,
               |    ПоступлениеТоваровУслугТовары.Номенклатура,
               |    ПоступлениеТоваровУслугТовары.Цена,
               |    ПоступлениеТоваровУслугТовары.Сумма,
               |    ПоступлениеТоваровУслугТовары.СуммаНДС,
               |    ПоступлениеТоваровУслугУслуги.Номенклатура КАК Номенклатура1,
               |    ПоступлениеТоваровУслугУслуги.Количество КАК Количество1,
               |    ПоступлениеТоваровУслугУслуги.Цена КАК Цена1,
               |    ПоступлениеТоваровУслугУслуги.Сумма КАК Сумма1,
               |    ПоступлениеТоваровУслугУслуги.СуммаНДС КАК СуммаНДС1,
               |    ПоступлениеТоваровУслугТовары.Количество КАК Количество
               |ИЗ
               |    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
               |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
               |        ПО ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугТовары.Ссылка
               |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
               |        ПО ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка
               |        ПОЛНОЕ СОЕДИНЕНИЕ Документ.СчетФактураПолученный КАК СчетФактураПолученный
               |        ПО (СчетФактураПолученный.ДокументОснование = ПоступлениеТоваровУслуг.Ссылка)
               |ГДЕ
               |    ПоступлениеТоваровУслуг.Ссылка В(&СсылкаНаДокумент)
               |
               |СГРУППИРОВАТЬ ПО
               |    ПоступлениеТоваровУслуг.Ссылка,
               |    ПоступлениеТоваровУслуг.Контрагент,
               |    ПоступлениеТоваровУслуг.Контрагент.ИНН,
               |    ПоступлениеТоваровУслуг.ДоговорКонтрагента,
               |    СчетФактураПолученный.Дата,
               |    СчетФактураПолученный.Номер,
               |    ПоступлениеТоваровУслуг.СуммаДокумента,
               |    ПоступлениеТоваровУслуг.НомерВходящегоДокумента,
               |    ПоступлениеТоваровУслугТовары.Номенклатура,
               |    ПоступлениеТоваровУслугТовары.Цена,
               |    ПоступлениеТоваровУслугТовары.Сумма,
               |    ПоступлениеТоваровУслугТовары.СуммаНДС,
               |    ПоступлениеТоваровУслугУслуги.Номенклатура,
               |    ПоступлениеТоваровУслугУслуги.Количество,
               |    ПоступлениеТоваровУслугУслуги.Цена,
               |    ПоступлениеТоваровУслугУслуги.Сумма,
               |    ПоступлениеТоваровУслугУслуги.СуммаНДС,
               |    ПоступлениеТоваровУслугТовары.Количество";

Запрос.УстановитьПараметр("СсылкаНаДокумент",СсылкаНаДокумент);
ВыборкаШапки = Запрос.Выполнить().Выбрать();


    
    
    
Пока ВыборкаШапки.Следующий() Цикл
    ОбластьШапки.Параметры.Контрагент         = ВыборкаШапки.Контрагент;
    ОбластьШапки.Параметры.ИНН                = ВыборкаШапки.ИНН;
    ОбластьШапки.Параметры.ДоговорКонтрагента = ВыборкаШапки.ДоговорКонтрагента;
    ОбластьШапки.Параметры.СчетФактураДата    = ВыборкаШапки.СчетФактураДата;
    ОбластьШапки.Параметры.СчетФактураНомер   = ВыборкаШапки.СчетФактураНомер;
    ОбластьШапки.Параметры.НомерТОРГ12        = ВыборкаШапки.Номер;   
    ОбластьШапки.Параметры.СуммаПоДокументу   = ВыборкаШапки.СуммаПоДокументу;
    ОбластьШапки.Параметры.НДСПоДокументу     = ВыборкаШапки.НДСПоДокументу;
    ОбластьШапки.Параметры.Документ           = ВыборкаШапки.Документ;
    ТабДок.Вывести(ОбластьШапки);    
        
    ТабДок.Вывести(ОбластьЗаголовокТовары);        

    Пока ВыборкаШапки.Следующий() Цикл
        ОбластьДанныеТовары.Параметры.Номенклатура = ВыборкаШапки.Номенклатура;
        ОбластьДанныеТовары.Параметры.Количество   = ВыборкаШапки.Количество;
        ОбластьДанныеТовары.Параметры.Цена         = ВыборкаШапки.Цена;
        ОбластьДанныеТовары.Параметры.Сумма        = ВыборкаШапки.Сумма;
        ОбластьДанныеТовары.Параметры.СуммаНДС     = ВыборкаШапки.СуммаНДС;
        ТабДок.Вывести(ОбластьДанныеТовары);    
    КонецЦикла;    
    
    ТабДок.Вывести(ОбластьЗаголовокУслуги);
    
    Пока ВыборкаШапки.Следующий() Цикл
        ОбластьДанныеУслуги.Параметры.Номенклатура = ВыборкаШапки.Номенклатура1;
        ОбластьДанныеУслуги.Параметры.Количество   = ВыборкаШапки.Количество1;
        ОбластьДанныеУслуги.Параметры.Цена         = ВыборкаШапки.Цена1;
        ОбластьДанныеУслуги.Параметры.Сумма        = ВыборкаШапки.Сумма1;
        ОбластьДанныеУслуги.Параметры.СуммаНДС     = ВыборкаШапки.СуммаНДС1;
        ТабДок.Вывести(ОбластьДанныеУслуги);
    КонецЦикла;        
    
    
КонецЦикла;
            
  
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
ТабДок.Показать();

    
КонецПроцедуры

Yandex
Возможно, вас также заинтересует
Реклама на портале
Ast1
14.06.2018 13:44Ответ № 1

пример обработки

Ast1
14.06.2018 15:44Ответ № 2

Obrabotka1.epf

Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.