Имя: Пароль:
1C
1С v8
Печатная форма расходной накладной
,
0 Pe3HuK
 
02.08.16
10:47
Помогите, пожалуйста. Я рядовой пользователь 1С, но вышло так, что на меня повесили такую задачу. В печатную форму расходной накладной добавить родителя верхней группы для номенклатуры и группировать по нему. Вот я нашел запрос:
Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    Реализация.Ссылка КАК Ссылка,
    |    Реализация.Номер КАК Номер,
    |    Реализация.Дата КАК Дата,
    |    ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) КАК Партнер,
    |    Реализация.ОрганизацияПолучатель КАК Получатель,
    |    Реализация.Организация КАК Организация,
    |    Реализация.Организация.Префикс КАК Префикс,
    |    Реализация.Валюта КАК Валюта,
    |    Реализация.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
    |    ВЫБОР
    |        КОГДА Реализация.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
    |            ТОГДА ЛОЖЬ
    |        ИНАЧЕ ИСТИНА
    |    КОНЕЦ КАК УчитыватьНДС,
    |    Реализация.БанковскийСчетОрганизации КАК БанковскийСчетОрганизации,
    |    Реализация.БанковскийСчетОрганизацииПолучателя КАК БанковскийСчетКонтрагента,
    |    НЕОПРЕДЕЛЕНО КАК Договор,
    |    """" КАК ДоговорНаименованиеДляПечати,
    |    ЛОЖЬ КАК ПечататьЗаказ,
    |    НЕОПРЕДЕЛЕНО КАК Заказ,
    |    Реализация.АдресДоставки КАК АдресДоставки,
    |    Реализация.МестоСоставленияДокумента КАК МестоСоставленияДокумента,
    |    Реализация.ПредставительОрганизации.Наименование КАК ПредставительОрганизации,
    |    Реализация.ПредставительОрганизацииДолжность КАК ПредставительОрганизацииДолжность,
    |    """" КАК ПредставительКонтрагента,
    |    Реализация.ПредставительОрганизацииПолучателя КАК ПредставительОрганизацииПолучателя,
    |    Реализация.ПредставительОрганизацииПолучателяДолжность  КАК ПредставительОрганизацииПолучателяДолжность,
    |    Реализация.ДоверенностьАльтернативныйВидДокумента КАК ДоверенностьАльтернативныйВидДокумента,
    |    Реализация.ДоверенностьСерия КАК ДоверенностьСерия,
    |    Реализация.ДоверенностьНомер КАК ДоверенностьНомер,
    |    Реализация.ДоверенностьДата КАК ДоверенностьДата,
    |    Реализация.ДоверенностьВыдана КАК ДоверенностьВыдана,
    |    Реализация.ДоверенностьПримечание КАК ДоверенностьПримечание
    |ИЗ
    |    Документ.ПередачаТоваровМеждуОрганизациями КАК Реализация
    |ГДЕ
    |    Реализация.Ссылка В(&МассивДокументов)
    |    И Не Реализация.РасчетыЧерезОтдельногоКонтрагента
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    Реализация.Ссылка КАК Ссылка,
    |    Реализация.Номер КАК Номер,
    |    Реализация.Дата КАК Дата,
    |    Реализация.Партнер КАК Партнер,
    |    Реализация.Контрагент КАК Получатель,
    |    Реализация.Организация КАК Организация,
    |    Реализация.Организация.Префикс КАК Префикс,
    |    Реализация.Валюта КАК Валюта,
    |    Реализация.ЦенаВключаетНДС КАК ЦенаВключаетНДС,
    |    ВЫБОР
    |        КОГДА Реализация.НалогообложениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогообложенияНДС.ПродажаНеОблагаетсяНДС)
    |            ТОГДА ЛОЖЬ
    |        ИНАЧЕ ИСТИНА
    |    КОНЕЦ КАК УчитыватьНДС,
    |    Реализация.БанковскийСчетОрганизации КАК БанковскийСчетОрганизации,
    |    Реализация.БанковскийСчетКонтрагента КАК БанковскийСчетКонтрагента,
    |    НЕОПРЕДЕЛЕНО КАК Договор,
    |    """" КАК ДоговорНаименованиеДляПечати,
    |    ЛОЖЬ КАК ПечататьЗаказ,
    |    НЕОПРЕДЕЛЕНО КАК Заказ,
    |    Реализация.АдресДоставки КАК АдресДоставки,
    |    Реализация.МестоСоставленияДокумента КАК МестоСоставленияДокумента,
    |    Реализация.ПредставительОрганизации.Наименование КАК ПредставительОрганизации,
    |    Реализация.ПредставительОрганизацииДолжность КАК ПредставительОрганизацииДолжность,
    |    Реализация.ПредставительКонтрагента КАК ПредставительКонтрагента,
    |    """" КАК ПредставительОрганизацииПолучателя,
    |    """" КАК ПредставительОрганизацииПолучателяДолжность,
    |    Реализация.ДоверенностьАльтернативныйВидДокумента КАК ДоверенностьАльтернативныйВидДокумента,
    |    Реализация.ДоверенностьСерия КАК ДоверенностьСерия,
    |    Реализация.ДоверенностьНомер КАК ДоверенностьНомер,
    |    Реализация.ДоверенностьДата КАК ДоверенностьДата,
    |    Реализация.ДоверенностьВыдана КАК ДоверенностьВыдана,
    |    Реализация.ДоверенностьПримечание КАК ДоверенностьПримечание
    |ИЗ
    |    Документ.ПередачаТоваровМеждуОрганизациями КАК Реализация
    |ГДЕ
    |    Реализация.Ссылка В(&МассивДокументов)
    |    И Реализация.РасчетыЧерезОтдельногоКонтрагента
    |
    |УПОРЯДОЧИТЬ ПО
    |    Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВложенныйЗапрос.Ссылка КАК Ссылка,
    |    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    |    ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК ТоварНаименованиеПолное,
    |    ВложенныйЗапрос.Номенклатура.Код КАК Код,
    |    ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
    |    ВложенныйЗапрос.ЕдиницаИзмерения.Наименование КАК ЕдиницаЦены,
    |    ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    ВложенныйЗапрос.Характеристика.НаименованиеПолное КАК Характеристика,
    |    ВЫБОР
    |        КОГДА ЕСТЬNULL(ВложенныйЗапрос.Упаковка.Коэффициент, 1) = 1
    |            ТОГДА НЕОПРЕДЕЛЕНО
    |        ИНАЧЕ ВложенныйЗапрос.Упаковка.Наименование
    |    КОНЕЦ КАК Упаковка,
    |    ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
    |    ВложенныйЗапрос.Цена КАК Цена,
    |    ВложенныйЗапрос.Количество КАК Количество,
    |    ВложенныйЗапрос.Сумма КАК Сумма,
    |    ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
    |    ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
    |    ЛОЖЬ КАК ЭтоВозвратнаяТара
    |ИЗ
    |    (ВЫБРАТЬ
    |        Реализация.Ссылка КАК Ссылка,
    |        Реализация.Номенклатура КАК Номенклатура,
    |        ВЫБОР
    |            КОГДА Реализация.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
    |                ТОГДА 1
    |            ИНАЧЕ Реализация.Упаковка.Коэффициент
    |        КОНЕЦ КАК Коэффициент,
    |        ВЫБОР
    |            КОГДА Реализация.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
    |                ТОГДА Реализация.Номенклатура.ЕдиницаИзмерения
    |            ИНАЧЕ Реализация.Упаковка.ЕдиницаИзмерения
    |        КОНЕЦ КАК ЕдиницаИзмерения,
    |        Реализация.Характеристика КАК Характеристика,
    |        Реализация.Упаковка КАК Упаковка,
    |        Реализация.СтавкаНДС КАК СтавкаНДС,
    |        Реализация.Цена КАК Цена,
    |        Реализация.КоличествоУпаковок КАК Количество,
    |        Реализация.Сумма КАК Сумма,
    |        Реализация.СуммаНДС КАК СуммаНДС,
    |        Реализация.НомерСтроки КАК НомерСтроки
    |    ИЗ
    |        Документ.ПередачаТоваровМеждуОрганизациями.Товары КАК Реализация
    |    ГДЕ
    |        Реализация.Ссылка В(&МассивДокументов)
    |        И Реализация.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар)) КАК ВложенныйЗапрос
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВложенныйЗапрос.Ссылка,
    |    НомерСтроки
    |ИТОГИ ПО
    |    Ссылка");

    Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
    
    МассивРезультатов = Запрос.ВыполнитьПакет();
    ДанныеПечати = МассивРезультатов[0].Выбрать();
    ВыборкаПоДокументам = МассивРезультатов[1].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Возврат Новый Структура(
        "РезультатПоШапке, РезультатПоТабличнойЧасти",
        МассивРезультатов[0],
        МассивРезультатов[1]
    );

И код вывода печати:
Пока ДанныеПечати.Следующий() Цикл
    
        // Найдем в выборке товары по текущему документу
        СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
        НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
        
        // В одном вызове этой функции обрабатываются документы одного типа
        Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов")
         ИЛИ ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями") Тогда
            ИспользоватьРучныеСкидки = Ложь;
            ИспользоватьАвтоматическиеСкидки = Ложь;
        КонецЕсли;
        
        Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
            ВыводитьКоды = Ложь;
        КонецЕсли;

        // Если в накладной только услуги - перейдем к следующему документу
        Если НайденСледующий Тогда
            ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();            
            ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ВыборкаПоТоварам, ИспользоватьРучныеСкидки Или ИспользоватьАвтоматическиеСкидки, КодЯзыкаПечать);
            ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки;
            ЕстьНДС = ДанныеПечати.УчитыватьНДС;
            ВыборкаПоТоварам.Сбросить();
        Иначе
            Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'В документе %1 отсутствуют товары. Печать накладной не требуется'"),
                ДанныеПечати.Ссылка
                );
                
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
                Текст,
                ДанныеПечати.Ссылка
            );
            Продолжить;
        КонецЕсли;
        
        // Макет необходимо получать для каждого документа, т.к. размеры колонок изменяются динамически
        Макет = УправлениеПечатью.ПолучитьМакет("Обработка.ПечатьОбщихФорм.ПФ_MXL_РасходнаяНакладная", КодЯзыкаПечать);
        
        Если Не ПервыйДокумент Тогда
            ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        
        ПервыйДокумент    = Ложь;
        НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
        
        // Выводим шапку накладной
        
        ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
        ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
        
        ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Расходная накладная';uk='Видаткова накладна'", КодЯзыкаПечать), КодЯзыкаПечать);
        
        ОбластьМакета.Параметры.ТекстЗаголовка = ТекстЗаголовка;
        ТабличныйДокумент.Вывести(ОбластьМакета);
        СведенияОПоставщике    = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата, , ДанныеПечати.БанковскийСчетОрганизации);    
        СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель, ДанныеПечати.Дата, , ДанныеПечати.БанковскийСчетКонтрагента);

        ОбластьМакета                                   = Макет.ПолучитьОбласть("Поставщик");
        ПредставлениеПоставщика                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование",,КодЯзыкаПечать);
        РеквизитыПоставщика                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);
        ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика;
        ОбластьМакета.Параметры.Поставщик               = ДанныеПечати.Организация;
        ОбластьМакета.Параметры.РеквизитыПоставщика     = РеквизитыПоставщика;
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        ОбластьМакета                                   = Макет.ПолучитьОбласть("Покупатель");
        ПредставлениеПолучателя                         = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
        РеквизитыПокупателя                             = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя;
        ОбластьМакета.Параметры.Получатель              = ДанныеПечати.Получатель;
        ОбластьМакета.Параметры.РеквизитыПокупателя        = РеквизитыПокупателя;
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Выводим дополнительно информацию о договоре и заказе
        СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
        Если ДанныеПечати.ПечататьЗаказ Тогда
            // Реализацию и договор уже вывели
            СписокДополнительныхПараметров = СписокДополнительныхПараметров + "Заказ,";
        КонецЕсли;
        СписокДополнительныхПараметров = СписокДополнительныхПараметров + "АдресДоставки,";
        
        МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(ДанныеПечати, СписокДополнительныхПараметров, КодЯзыкаПечать);
        ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
        Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
            ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
            ТабличныйДокумент.Вывести(ОбластьМакета);
        КонецЦикла;        

        // Выводим заголовок таблицы Товары
        
        СуффиксОбластиСтроки = ?(ЕстьСкидки, "СоСкидкой", "") + ?(ЕстьНДС, "СНДС", "");
        СуффиксОбластиКолонки = ?(ЕстьСкидки И ЕстьНДС, "СоСкидкойСНДС", ?(ЕстьСкидки Или ЕстьНДС, "СоСкидкойИлиСНДС", ""));
        
        ОбластьКолонкаТовар = Макет.Область("ПерваяКолонкаТовара");
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
            + ?(ВыводитьКоды, 0, Макет.Область("КолонкаКодов").ШиринаКолонки)
        ;
        
        ОбластьНомера  = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
        ОбластьКодов   = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
        ОбластьТовар   = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
        ОбластьДанных  = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
        
        ТабличныйДокумент.Вывести(ОбластьНомера);
            
        Если ВыводитьКоды Тогда
            ОбластьКодов.Параметры.ИмяКолонкиКодов = КолонкаКодов;
            ТабличныйДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        
        ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры, ФормированиеПечатныхФорм.СформироватьЗаголовкиДляСуммовыхПоказателей(ДанныеПечати, КодЯзыкаПечать));
        
        Если ЕстьСкидки Тогда
            ОбластьДанных.Параметры.Скидка = ЗаголовокСкидки.Скидка;
            ОбластьДанных.Параметры.СуммаБезСкидки = ЗаголовокСкидки.СуммаСкидки;
        КонецЕсли;
        
        ТабличныйДокумент.Присоединить(ОбластьТовар);
        ТабличныйДокумент.Присоединить(ОбластьДанных);
        
        ОбластьНомера  = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
        ОбластьКодов   = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
        ОбластьТовар   = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
        ОбластьДанных  = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
        
        Сумма          = 0;
        СуммаНДС       = 0;
        ВсегоСкидок    = 0;
        НомерСтроки    = 0;
        ВсегоБезСкидок = 0;
        
        // Выводим строки таблицы Товары
            
        Пока ВыборкаПоТоварам.Следующий() Цикл
            
            НомерСтроки = НомерСтроки + 1;
            
            ОбластьНомера.Параметры.НомерСтроки = НомерСтроки;
            ТабличныйДокумент.Вывести(ОбластьНомера);
            
            Если ВыводитьКоды Тогда
                
                ОбластьКодов.Параметры.Артикул = ВыборкаПоТоварам[КолонкаКодов];
                ТабличныйДокумент.Присоединить(ОбластьКодов);
                
            КонецЕсли;
            
            ОбластьТовар.Параметры.Заполнить(ВыборкаПоТоварам);
            Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда    
                ОбластьТовар.Параметры.Товар = ВыборкаПоТоварам.Содержание;
                
            Иначе    
                ОбластьТовар.Параметры.Товар = ФормированиеПечатныхФорм.ПолучитьПредставлениеНоменклатурыДляПечати(
                    ВыборкаПоТоварам.ТоварНаименованиеПолное,
                    ВыборкаПоТоварам.Характеристика
                );
            
            КонецЕсли;
            
            ТабличныйДокумент.Присоединить(ОбластьТовар);
            
            ОбластьДанных.Параметры.Заполнить(ВыборкаПоТоварам);
            
            Если ЗаголовокСкидки.ЕстьСкидки Тогда
                ОбластьДанных.Параметры.СуммаСкидки = ?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки);
            КонецЕсли;
            
            ТабличныйДокумент.Присоединить(ОбластьДанных);
            
            Сумма          = Сумма          + ВыборкаПоТоварам.Сумма;
            СуммаНДС       = СуммаНДС       + ВыборкаПоТоварам.СуммаНДС;
            
            Если ЕстьСкидки Тогда
                ВсегоСкидок    = ВсегоСкидок    + ВыборкаПоТоварам.СуммаСкидки;
                ВсегоБезСкидок = ВсегоБезСкидок + ВыборкаПоТоварам.СуммаБезСкидки;
            КонецЕсли;
            
        КонецЦикла;
        
        // Выводим подвал
        
        ОбластьНомера  = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
        ОбластьКодов   = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
        ОбластьТовар   = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
        ОбластьДанных  = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
        
        ТабличныйДокумент.Вывести(ОбластьНомера);
        
        Если ВыводитьКоды Тогда
            ТабличныйДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        
        ТабличныйДокумент.Присоединить(ОбластьТовар);
        
        Если ЕстьСкидки Тогда
            
            ОбластьДанных.Параметры.ВсегоСкидок    = ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок);
            ОбластьДанных.Параметры.ВсегоБезСкидок = ВсегоБезСкидок;
            
        КонецЕсли;
        
        ОбластьДанных.Параметры.Всего = ФормированиеПечатныхФорм.ФорматСумм(Сумма);
        ТабличныйДокумент.Присоединить(ОбластьДанных);
        
        // Выводим ИтогоНДС
        
        Область = Макет.ПолучитьОбласть("ПодвалНДС");
        
        Область.Параметры.ВсегоНДС = СуммаНДС;
        Если ЕстьНДС Тогда
            Область.Параметры.НДС = ?(ДанныеПечати.ЦенаВключаетНДС, НСтр("ru = 'В том числе НДС:'; uk = 'У тому числі ПДВ:'", КодЯзыкаПечать), НСтр("ru = 'Сумма НДС:'; uk = 'Сума ПДВ:'", КодЯзыкаПечать));
            Если Не ДанныеПечати.ЦенаВключаетНДС Тогда
                ТабличныйДокумент.Вывести(Область);
                Область.Параметры.НДС = НСтр("ru='Всего с НДС:';uk='Усього з ПДВ:'", КодЯзыкаПечать);
                Область.Параметры.ВсегоНДС = Сумма+СуммаНДС;
                //ТабличныйДокумент.Вывести(Область);
            КонецЕсли;
        Иначе
            Область.Параметры.НДС = НСтр("ru = 'Без налога (НДС)'; uk = 'Без податку (ПДВ)'", КодЯзыкаПечать);
        КонецЕсли;
        ТабличныйДокумент.Присоединить(Область);
                
        // Выводим Сумму прописью
        
        ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
        СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
        
        ИтоговаяСтрока = НСтр("ru = 'Всего наименований %КоличествоНаименований%, на сумму %СуммаДокумента% '; uk = 'Всього найменувань %КоличествоНаименований%, на суму %СуммаДокумента% '", КодЯзыкаПечать);
        ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%КоличествоНаименований%", ВыборкаПоТоварам.Количество());
        ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, "%СуммаДокумента%", ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));

        ОбластьМакета.Параметры.ИтоговаяСтрока = ИтоговаяСтрока;
        ОбластьМакета.Параметры.СуммаПрописью  = РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта, , КодЯзыкаПечать);
        
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        Если ЗначениеЗаполнено(ДанныеПечати.МестоСоставленияДокумента) Тогда
            ОбластьМакета = Макет.ПолучитьОбласть("МестоСоставления");
            ОбластьМакета.Параметры.МестоСоставления = СокрЛП(ДанныеПечати.МестоСоставленияДокумента);
            ТабличныйДокумент.Вывести(ОбластьМакета);
        КонецЕсли;
        
        // Выводим подписи
        ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
        
        ОбластьМакета.Параметры.Заполнить(ФормированиеПечатныхФорм.СведенияОбОтветсвенныхЛицах(ДанныеПечати, КодЯзыкаПечать));
        
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
        
    КонецЦикла;

Помогите, пожалуйста. Могу даже заплатить, только увы, не много.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс