Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

При формировании печатной формы появляется хвост, а шапка таблицы показывается на третьем

При формировании печатной формы появляется хвост, а шапка таблицы показывается на третьем
Я
   alexodel
 
22.07.19 - 17:38
Доброго дня!!! Проблема в том что пишу в ВПФ на УНФ ке... Табличная часть формируется нормально, а я хотел шапку при каждом листе было, и задал шапку на каждом листе, но почему то на второй странице, хвост от первой страницы и шапка переходит на третью страницу что интересно, может Ребят я не так делаю....
помогите юниору....
Вылажу код:


#Область ПрограммныйИнтерфейс

Перем ДатаИНомерДокументаДляРаспечатки Экспорт;

Перем Автор Экспорт ;
Перем Пользователь Экспорт ;

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.6.10.174");
    ПараметрыРегистрации.БезопасныйРежим = Ложь;
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
    ПараметрыРегистрации.Версия = "030719-19";
    ПараметрыРегистрации.Назначение.Добавить("Документ.СдельныйНаряд");
    
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Сдельный наряд по пошиву'");
    НоваяКоманда.Идентификатор = "СдельныйНарядПоПошиву";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.ПоказыватьОповещение = Истина;
    НоваяКоманда.Модификатор = "ПечатьMXL";

    Возврат ПараметрыРегистрации;
    
КонецФункции

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

    //Адрес = "R:\Backup1C\Обработка_печати_этикеток\СДЕЛЬНЫЙ_НАРЯД_ПО_ПОШИВУ_SA.epf";
    //обр = ВнешниеОбработки.Создать(Адрес,БезопасныйРежим());            ///(Адрес, БезопасныйРежим());
    //обр.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
    //Возврат;
    //
    
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СдельныйНарядПоПошиву", "Сдельный наряд по пошиву", СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати));  //МассивОбъектов[0]

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


Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)
    
    Перем ПервыйДокумент, НомерСтрокиНачало, Ошибки;
    
    ТЗ = Новый ТаблицаЗначений;
    
    ТЗ.Колонки.Добавить("НомерСтроки");
    ТЗ.Колонки.Добавить("ИзделиеОперацияНазвание");
    ТЗ.Колонки.Добавить("ИзделиеНоменклатура");
    ТЗ.Колонки.Добавить("СпецификацияНазвание");
    ТЗ.Колонки.Добавить("МатериалКоличествоНаОдноИзделие");
    ТЗ.Колонки.Добавить("Расценка");
    ТЗ.Колонки.Добавить("МатериалЕдиницаИзмерения");
    ТЗ.Колонки.Добавить("МатериалНоменклатура");
    ТЗ.Колонки.Добавить("МатериалКоличествоНаПланИзделий");
    ТЗ.Колонки.Добавить("Стоимость");
    
    ТЗ.Колонки.Добавить("Количество");
    ТЗ.Колонки.Добавить("МатериалИтого");
    ТЗ.Колонки.Добавить("ИзделиеСсылка");
    ТЗ.Колонки.Добавить("ИзделиеНазвание");
    ТЗ.Колонки.Добавить("ИзделиеОперацияСсылка");
    ТЗ.Колонки.Добавить("ИзделиеОперацияКоличество");
    ТЗ.Колонки.Добавить("СпецификацияСсылка");
    ТЗ.Колонки.Добавить("СпецификацияКомментарий");            // Нужно удалить
    ТЗ.Колонки.Добавить("МатериалКатегорияНоменклатуры");
    ТЗ.Колонки.Добавить("МатериалСсылка");
    ТЗ.Колонки.Добавить("МатериалНазвание");
    ТЗ.Колонки.Добавить("АртикулНоменклатуры");
    
    Массив = Новый Массив(6);
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");                    
    
    ДанныеПечати = Новый Структура;
    
    Для каждого ТекущийДокумент Из МассивОбъектов Цикл
        
        
        Запрос = Новый Запрос();
        Запрос.УстановитьПараметр("Организация",     УправлениеНебольшойФирмойСервер.ПолучитьОрганизацию(ТекущийДокумент.Организация));
        Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент);
        
        Запрос.Текст =
        "ВЫБРАТЬ
        |    СдельныйНаряд.Ссылка КАК Ссылка,
        |    СдельныйНаряд.Проведен КАК Проведен,
        |    СдельныйНаряд.Организация КАК Организация,
        |    СдельныйНаряд.Номер КАК СдельныйНарядНомер,
        |    СдельныйНаряд.Дата КАК СдельныйНарядДата,
        |    СдельныйНаряд.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
        |    СдельныйНаряд.Исполнитель КАК СдельныйНарядИсполнитель,
        |    СдельныйНаряд.СуммаДокумента КАК СуммаДокумента,
        |    СдельныйНаряд.Автор КАК СдельныйНарядАвтор,
        |    СдельныйНаряд.ИсполнительПредставление КАК ИсполнительПредставление,
        |    СдельныйНаряд.ДатаЗакрытия КАК СдельныйНарядДатаЗакрытия,
        |    СдельныйНаряд.Закрыт КАК Закрыт,
        |    СдельныйНаряд.ДокументОснование КАК ДокументОснование,
        |    СдельныйНаряд.ДокументОснование.Номер КАК ПроизводствоНомер,
        |    СдельныйНаряд.ДокументОснование.Дата КАК ПроизводствоДата,
        |    СдельныйНаряд.СтруктурнаяЕдиницаПредставление КАК СтруктурнаяЕдиницаПредставление,
        |    СдельныйНаряд.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
        |    СдельныйНаряд.Операции.(
        |        Ссылка КАК Ссылка,
        |        НомерСтроки КАК НомерСтроки,
        |        Период КАК Период,
        |        ЗаказПокупателя КАК ЗаказПокупателя,
        |        Номенклатура КАК Номенклатура,
        |        Характеристика КАК Характеристика,
        |        Операция КАК Операция,
        |        ЕдиницаИзмерения КАК ЕдиницаИзмерения,
        |        КоличествоПлан КАК КоличествоПлан,
        |        КоличествоФакт КАК Количество,
        |        НормаВремени КАК НормаВремени,
        |        Расценка КАК Расценка,
        |        Нормочасы КАК Нормочасы,
        |        Стоимость КАК Стоимость,
        |        Партия КАК Партия,
        |        Спецификация КАК Спецификация,
        |        СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
        |        Исполнитель КАК Исполнитель,
        |        КлючСвязи КАК КлючСвязи,
        |        ЗаказНаПроизводство КАК ЗаказНаПроизводство,
        |        Этап КАК Этап,
        |        ПодразделениеЗавершающегоЭтапа КАК ПодразделениеЗавершающегоЭтапа
        |    ) КАК Операции,
        |    СдельныйНаряд.СоставБригады.(
        |        Ссылка КАК Ссылка,
        |        НомерСтроки КАК НомерСтроки,
        |        Сотрудник КАК Сотрудник,
        |        КТУ КАК КТУ,
        |        СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
        |        КлючСвязи КАК КлючСвязи
        |    ) КАК СоставБригады,
        |    СдельныйНаряд.ЗаказНаПроизводство.Номер КАК ЗаказНаПроизводствоНомер,
        |    СдельныйНаряд.ЗаказНаПроизводство.Дата КАК ЗаказНаПроизводствоДата,
        |    СдельныйНаряд.ЗаказНаПроизводство.Финиш КАК ЗаказНаПроизводствоДатаФиниш,
        |    СдельныйНаряд.ЗаказНаПроизводство.ДокументОснование.Номер КАК ЗаказПокупателяНомер6,
        |    СдельныйНаряд.ЗаказНаПроизводство.ДокументОснование.Дата КАК ЗаказПокупателяДата6,
        |    СдельныйНаряд.ЗаказНаПроизводство.ДокументОснование.ДатаОтгрузки КАК ЗаказПокупателяДатаОтгрузки6,
        |    СдельныйНаряд.ЗаказНаПроизводство.ДокументОснование.Контрагент КАК ЗаказПокупателяКонтрагент6
        |ИЗ
        |    Документ.СдельныйНаряд КАК СдельныйНаряд
        |ГДЕ
        |    СдельныйНаряд.Ссылка = &ТекущийДокумент
        |
        |УПОРЯДОЧИТЬ ПО
        |    Ссылка,
        |    НомерСтроки";
        
        Продукция = Запрос.Выполнить().Выбрать();
        
        
        
    КонецЦикла; //    
        
    Пока Продукция.Следующий() Цикл
        
        ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        ОбластьМакетаШапкаПродукция = Макет.ПолучитьОбласть("ШапкаПродукция");
        
        Автор = Продукция.СдельныйНарядАвтор;
        
        ТаблицаПродукция = Продукция.Операции.Выгрузить();//ВЫГРУЖАЕМ ТАБЛИЧНУЮ ЧАСТЬ
        ПараметрыНоменклатуры = Новый Структура;
        
        НомерДокумента = Продукция.СдельныйНарядНомер;
        СдельныйНарядНомер=Продукция.СдельныйНарядНомер;
        СдельныйНарядДата=Продукция.СдельныйНарядДата;            
        
        ДатаДокумента = Формат(Продукция.СдельныйНарядДата, "ДЛФ=DD");
        ДанныеПечати.Вставить("СдельныйНарядНомерИДата", СтрШаблон(НСтр("ru ='№ %1 от %2'"), Продукция.СдельныйНарядНомер, ДатаДокумента));
        
        ДатаИНомерДокументаДляРаспечатки = "Сдельный наряд по пошиву №" + Продукция.СдельныйНарядНомер + " от "+ ДатаДокумента;
        
        ПроизводствоНомер = Продукция.ПроизводствоНомер;
        ПроизводствоДата = Формат(Продукция.ПроизводствоДата, "ДЛФ=DD");
        ДанныеПечати.Вставить("ИзПроизводстваНомерИДата", СтрШаблон(НСтр("ru ='№ %1 от %2'"), ПроизводствоНомер, ПроизводствоДата));
        
        ЗаказНаПроизводствоНомер=Продукция.ЗаказНаПроизводствоНомер;
        ЗаказНаПроизводствоДата=Формат(Продукция.ЗаказНаПроизводствоДата, "ДЛФ=DD");
        ЗаказНаПроизводствоДатаФиниш= Формат(Продукция.ЗаказНаПроизводствоДатаФиниш, "ДЛФ=DD");
        
        ДанныеПечати.Вставить("ЗаказПроизводстваНомерИДата", СтрШаблон(НСтр("ru ='№ %1 от %2, дата финиша: %3'"), ЗаказНаПроизводствоНомер, ЗаказНаПроизводствоДата, ЗаказНаПроизводствоДатаФиниш));            
        
        ЗаказПокупателяНомер = Продукция.ЗаказПокупателяНомер6;
        ЗаказПокупателяДата = Формат(Продукция.ЗаказПокупателяДата6, "ДЛФ=DD");
        ЗаказПокупателяДатаОтгрузки = Формат(Продукция.ЗаказПокупателяДатаОтгрузки6, "ДЛФ=DD");
        ДанныеПечати.Вставить("ЗаказПокупателяНомерИДата", СтрШаблон(НСтр("ru ='№ %1 от %2, дата отгрузки: %3'"), ЗаказПокупателяНомер, ЗаказПокупателяДата, ЗаказПокупателяДатаОтгрузки));
        
        НаименованиеПокупателя = Продукция.ЗаказПокупателяКонтрагент6;
        ДанныеПечати.Вставить("НаименованиеПокупателя", НаименованиеПокупателя);                                                                                                            
        
        Подразделение = Продукция.СтруктурнаяЕдиница;
        ДанныеПечати.Вставить("Подразделение", Подразделение);
        
        СдельныйНарядИсполнитель = Продукция.СдельныйНарядИсполнитель;
        ДанныеПечати.Вставить("Смена", СдельныйНарядИсполнитель);
        
        СдельныйНарядДатаЗакрытия=Продукция.СдельныйНарядДатаЗакрытия;
        ДатаЗакрытия=Формат(СдельныйНарядДатаЗакрытия,"ДЛФ=DD");
        ДанныеПечати.Вставить("ДатаЗакрытие", ДатаЗакрытия);
        
        ЕстьГалочкаНаЗакрытие=Продукция.Закрыт;
        Если ЕстьГалочкаНаЗакрытие = Истина Тогда
        ЕстьГалочкаНаЗакрытие = "ЗАКРЫТО" Иначе ЕстьГалочкаНаЗакрытие = "НЕ ЗАКРЫТО"
        КонецЕсли;
        
        ДанныеПечати.Вставить("ЗакрытДаИлиНет", ЕстьГалочкаНаЗакрытие);
        
        ОбластьМакетаЗаголовок.Параметры.Заполнить(ДанныеПечати);
        
        СтрокаПродукция = Макет.ПолучитьОбласть("СтрокаПродукция");
        ОбластьПодвала = Макет.ПолучитьОбласть("Подвал");
        ОбластьМакетаЛинияЗакрытие = Макет.ПолучитьОбласть("ЛинияЗакрытие");
        ОбластьМакетаИтого = Макет.ПолучитьОбласть("ИтогСтраницы");
                
        //------------------------------------------
        СтрокаСПодвалом = Новый Массив; // создадим массив для проверки вывода
        СтрокаСПодвалом.Добавить(ОбластьМакетаШапкаПродукция);
        СтрокаСПодвалом.Добавить(СтрокаПродукция);
        //СтрокаСПодвалом.Добавить(ОбластьПодвала);
        
        ИтогПоСтранице = 0;
        //------------------------------------------
        
        
        ТабличныйДокумент.Вывести(ОбластьМакетаЗаголовок);
        
        ТабличныйДокумент.Вывести(ОбластьМакетаШапкаПродукция);
        
        
        //ДанныеПечати.Вставить("ИтогоФактическаяСтоимость", Продукция.СуммаДокумента);//
        
        ИтогоПланИтогоДенег = 0;
        ИтогоФактИтогоДенег = 0;
        Для каждого СтрокаТабличнойЧастиПродукция Из ТаблицаПродукция Цикл
            
            ДанныеПечати.Очистить();
            //СтрокаПродукция = Макет.ПолучитьОбласть("СтрокаПродукция");    
            ДанныеПечати.Вставить("НомерСтроки", СтрокаТабличнойЧастиПродукция.НомерСтроки);
            ДанныеПечати.Вставить("ОперацияНазвание", СтрокаТабличнойЧастиПродукция.Операция);
            ДанныеПечати.Вставить("ИзделиеПредставлениеНоменклатуры", СтрокаТабличнойЧастиПродукция.Номенклатура);
            ДанныеПечати.Вставить("СпецификацияНазвание", СтрокаТабличнойЧастиПродукция.Спецификация);
            ДанныеПечати.Вставить("РасценкаРаботы", (СтрокаТабличнойЧастиПродукция.Расценка)); // +"₽"
            ДанныеПечати.Вставить("ОперацийКоличествоПлан", СтрокаТабличнойЧастиПродукция.КоличествоПлан);
            ПланИтогоДенег = (СтрокаТабличнойЧастиПродукция.КоличествоПлан*СтрокаТабличнойЧастиПродукция.Расценка);
            ИтогоПланИтогоДенег = ИтогоПланИтогоДенег + ПланИтогоДенег;
            
            ДанныеПечати.Вставить("ПлановаяСтоимость", ПланИтогоДенег);
            ДанныеПечати.Вставить("ОперацийКоличествоФакт", СтрокаТабличнойЧастиПродукция.Количество);
            
            ПодгибкаНиз = ПолучитьЗначенияИзСпецификации(СтрокаТабличнойЧастиПродукция.Спецификация);
            ПодгибкаБок = ПолучитьЗначенияИзСпецификацииПодгибка(СтрокаТабличнойЧастиПродукция.Спецификация);
            ОписаниеПошива = ПолучитьЗначенияИзСпецификацииОписание(СтрокаТабличнойЧастиПродукция.Спецификация);
            ОписаниеКроя = ПолучитьЗначенияИзСпецификацииОписания(СтрокаТабличнойЧастиПродукция.Спецификация);
            
            //Если ЗначениеЗаполнено(ПодгибкаНиз) Тогда ПослеПроверкиПодгибкаНиз = ПодгибкаНиз Иначе ПослеПроверкиПодгибкаНиз = "  "; КонецЕсли;
            //Если ЗначениеЗаполнено(ПодгибкаБок) Тогда ПослеПроверкиПодгибкаБок = ПодгибкаБок Иначе ПослеПроверкиПодгибкаБок = "  "; КонецЕсли;    
            Если ЗначениеЗаполнено(ОписаниеПошива) Тогда ПослеПроверкиОписаниеПошива = ОписаниеПошива Иначе ПослеПроверкиОписаниеПошива = "  "; КонецЕсли;    
            //Если ЗначениеЗаполнено(ОписаниеКроя) Тогда ПослеПроверкиОписаниеКроя = ОписаниеКроя Иначе ПослеПроверкиОписаниеКроя = "  "; КонецЕсли;
            
            //Ответ = ЗначениеЗаполнено(ПодгибкаНиз);
            //Сообщить("Ответ " +ПослеПроверкиПодгибкаНиз);
            //Сообщить("ПодгибкаНиз "+ТипЗнч(ПослеПроверкиПодгибкаНиз));
            //Сообщить("ПодгибкаБок "+ТипЗнч(ПодгибкаБок));
            //Сообщить("ОписаниеПошива  "+ТипЗнч(ОписаниеПошива ));
            //Сообщить("ОписаниеКроя  "+ТипЗнч(ОписаниеКроя ));
            //ВОписаниеПошива = ПослеПроверкиПодгибкаНиз +" "+ ПослеПроверкиПодгибкаБок +" "+ ПослеПроверкиОписаниеПошива +" "+ ПослеПроверкиОписаниеКроя;
            ВОписаниеПошива = ПослеПроверкиОписаниеПошива;
            ДанныеПечати.Вставить("ОписаниеПошива", ВОписаниеПошива);
            
            ИтогоФактИтогоДенег = ИтогоФактИтогоДенег + СтрокаТабличнойЧастиПродукция.Стоимость;
            ДанныеПечати.Вставить("ФактическаяСтоимость", СтрокаТабличнойЧастиПродукция.Стоимость);
            СтрокаПродукция.Параметры.Заполнить(ДанныеПечати);
            
            //ТабличныйДокумент.Вывести(СтрокаПродукция);                    
            
            
            ЗапросСпецификация = Новый Запрос;
            ЗапросСпецификация .УстановитьПараметр("Спецификация", СтрокаТабличнойЧастиПродукция.Спецификация);
            ЗапросСпецификация.Текст=
            "ВЫБРАТЬ
            |    СпецификацииСостав.Ссылка КАК Ссылка,
            |    СпецификацииСостав.НомерСтроки КАК НомерСтроки,
            |    СпецификацииСостав.ТипСтрокиСостава КАК ТипСтрокиСостава,
            |    СпецификацииСостав.Номенклатура КАК Номенклатура,
            |    СпецификацииСостав.Характеристика КАК Характеристика,
            |    СпецификацииСостав.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
            |    СпецификацииСостав.Спецификация КАК Спецификация,
            |    СпецификацииСостав.Количество КАК Количество,
            |    СпецификацииСостав.КоличествоПродукции КАК КоличествоПродукции,
            |    СпецификацииСостав.ДоляСтоимости КАК ДоляСтоимости,
            |    СпецификацииСостав.Этап КАК Этап,
            |    СпецификацииСостав.Номенклатура.Наименование КАК ПредставлениеНоменклатуры,
            |    СпецификацииСостав.Номенклатура.Артикул КАК Артикул,
            |    СпецификацииСостав.Номенклатура.КатегорияНоменклатуры КАК НоменклатураКатегорияНоменклатуры
            |ИЗ
            |    Справочник.Спецификации.Состав КАК СпецификацииСостав
            |ГДЕ
            |    СпецификацииСостав.Ссылка = &Спецификация";
            
            Спецификация = ЗапросСпецификация.Выполнить().Выбрать();
            
            ТЗ.Очистить();
            
            Пока Спецификация.Следующий() Цикл
                
                НоваяСтрока = ТЗ.Добавить();
                
                НоваяСтрока.НомерСтроки = Спецификация.НомерСтроки;
                НоваяСтрока.ИзделиеОперацияНазвание = СтрокаТабличнойЧастиПродукция.Операция;
                НоваяСтрока.ИзделиеНоменклатура = СтрокаТабличнойЧастиПродукция.Номенклатура;
                НоваяСтрока.СпецификацияНазвание = СтрокаТабличнойЧастиПродукция.Спецификация;
                
                МатериалКоличествоНаОдноИзделие = Спецификация.КоличествоПродукции*Спецификация.Количество;
                НоваяСтрока.МатериалКоличествоНаОдноИзделие = МатериалКоличествоНаОдноИзделие;
                НоваяСтрока.МатериалЕдиницаИзмерения = Спецификация.ЕдиницаИзмерения;
                НоваяСтрока.МатериалНоменклатура = Спецификация.Номенклатура;
                НоваяСтрока.МатериалКоличествоНаПланИзделий = СтрокаТабличнойЧастиПродукция.КоличествоПлан*МатериалКоличествоНаОдноИзделие;
                НоваяСтрока.Стоимость = СтрокаТабличнойЧастиПродукция.Стоимость ;
                
                НоваяСтрока.МатериалИтого = 1;
                НоваяСтрока.ИзделиеСсылка = "";
                НоваяСтрока.ИзделиеНазвание = "";
                НоваяСтрока.ИзделиеОперацияСсылка = "-/-/-";
                НоваяСтрока.ИзделиеОперацияКоличество = СтрокаТабличнойЧастиПродукция.КоличествоПлан ;
                НоваяСтрока.СпецификацияСсылка = Спецификация.Ссылка;
                НоваяСтрока.СпецификацияКомментарий = СтрокаТабличнойЧастиПродукция.Спецификация.Комментарий;
                НоваяСтрока.МатериалКатегорияНоменклатуры=Спецификация.НоменклатураКатегорияНоменклатуры;
                НоваяСтрока.МатериалСсылка = "------------";
                НоваяСтрока.МатериалНазвание = Спецификация.ПредставлениеНоменклатуры;
                НоваяСтрока.АртикулНоменклатуры = Спецификация.Артикул;
                
            КонецЦикла;
            
            ДанныеПечати.Вставить("ИмяКтоПечатал", "Админ");
            ОбластьМакетаИтого.Параметры.Заполнить(ДанныеПечати);
            //-----------------------------
            
            Если Не ТабличныйДокумент.ПроверитьВывод(СтрокаСПодвалом) Тогда
                
                ТабличныйДокумент.Вывести(ОбластьМакетаЛинияЗакрытие); // выведем итог по странице         //В Ы В О Д
                ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); // начнем новую страницу   //В Ы В О Д
                ТабличныйДокумент.Вывести(ОбластьМакетаШапкаПродукция); // выведем шапку страницы       //В Ы В О Д
                ИтогПоСтранице = 0; // сбросим текущую сумму по странице
                
            КонецЕсли;
            
            ТабличныйДокумент.Вывести(СтрокаПродукция);                                //В Ы В О Д    
            
            //-----------------------------
            
            // 1. объеденить нужно все материалы
            ТЗМатериалы = Новый ТаблицаЗначений;
            ТЗМатериалы = ТЗ.Скопировать();
            //ТЗМатериалы.Свернуть("МатериалНоменклатура, АртикулНоменклатуры", "МатериалКоличествоНаПланИзделий"); //МатериалКоличествоНаОдноИзделие
            ТЗМатериалы.Свернуть("МатериалНоменклатура, МатериалКоличествоНаОдноИзделие, МатериалЕдиницаИзмерения", "МатериалКоличествоНаПланИзделий"); //МатериалКоличествоНаОдноИзделие
            
            Если Не ТЗМатериалы.Количество() = 0 Тогда
                
                Для Каждого Колонка из ТЗМатериалы цикл
                    
                    ДанныеПечати.Очистить();
                    
                    //ДанныеПечати.Вставить("НомерСтрокиВСпецификации", Спецификация.НомерСтроки);
                    ДанныеПечати.Вставить("МатериалВСпецификацииПредставлениеНоменклатуры", Колонка.МатериалНоменклатура);
                    ДанныеПечати.Вставить("КоличествоМатериаловНаОдноИзделие", Колонка.МатериалКоличествоНаОдноИзделие);
                    ДанныеПечати.Вставить("ЕдиницаИзмеренияМатириалов", Колонка.МатериалЕдиницаИзмерения);
                    ДанныеПечати.Вставить("КоличествоМатериалов", Колонка.МатериалКоличествоНаПланИзделий);
                    
                    КоличествоМатериаловСУчетомКоличестваОпераций=(Спецификация.КоличествоПродукции*Спецификация.Количество)*СтрокаТабличнойЧастиПродукция.КоличествоПлан;//Спецификация.ИзделиеОперацияКоличество;// Здесь!!!
                    
                    ОбластьПодвала.Параметры.Заполнить(ДанныеПечати);
                    
                    Если
                        НЕ Лев(Колонка.МатериалНоменклатура,3)<>"104" тогда
                        
                        Продолжить; //Прервать;
                        
                    КонецЕсли;
                    
                    ТабличныйДокумент.Вывести(ОбластьПодвала);                            //В Ы В О Д                    
                
                КонецЦикла;
                
            КонецЕсли;    
                //    //-----------------------------
            //
            //Если Не ТабличныйДокумент.ПроверитьВывод(СтрокаСПодвалом) Тогда
            //    
            //    ТабличныйДокумент.Вывести(ОбластьМакетаЛинияЗакрытие); // выведем итог по странице         //В Ы В О Д
            //    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); // начнем новую страницу   //В Ы В О Д
            //    ТабличныйДокумент.Вывести(ОбластьМакетаШапкаПродукция); // выведем шапку страницы       //В Ы В О Д
            //    ИтогПоСтранице = 0; // сбросим текущую сумму по странице
            //    
            //КонецЕсли;
            //
            //ТабличныйДокумент.Вывести(СтрокаПродукция);                                //В Ы В О Д    
            //
            ////-----------------------------
            
                
                
            
            ////-----------------------------
            //Если Не ТабличныйДокумент.ПроверитьВывод(СтрокаСПодвалом) Тогда
            //    
            //    ТабличныйДокумент.Вывести(ОбластьМакетаЛинияЗакрытие); // выведем итог по странице         //В Ы В О Д
            //    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); // начнем новую страницу   //В Ы В О Д
            //    ТабличныйДокумент.Вывести(ОбластьМакетаШапкаПродукция); // выведем шапку страницы       //В Ы В О Д
            //    ИтогПоСтранице = 0; // сбросим текущую сумму по странице
            //    
            //КонецЕсли;
            //
            //ТабличныйДокумент.Вывести(СтрокаПродукция);                                //В Ы В О Д    
            ////-----------------------------
            
            
            ИтогПоСтранице = ИтогПоСтранице
            
        КонецЦикла;
        
        ИтогПоСтранице = ИтогПоСтранице ;
        ТабличныйДокумент.Вывести(ОбластьМакетаЛинияЗакрытие);
        
    КонецЦикла;
    
    ДанныеПечати.Вставить("ИтогоПлановаяСтоимость", ИтогоПланИтогоДенег);
    ДанныеПечати.Вставить("ИтогоФактическаяСтоимость", ИтогоФактИтогоДенег);
    НДФЛ13 = Окр((ИтогоФактИтогоДенег * 13/100),2);
    ДанныеПечати.Вставить("НДФЛ13", НДФЛ13);
    НДФЛ30 = Окр((ИтогоФактИтогоДенег * 30/100),2);
    ДанныеПечати.Вставить("НДФЛ30", НДФЛ30);
    ПФР = Окр((ИтогоФактИтогоДенег * 22/100),2);
    ДанныеПечати.Вставить("ПФР", ПФР);
    ФСС = Окр((ИтогоФактИтогоДенег * 2.9/100),2);
    ДанныеПечати.Вставить("ФСС", ФСС);
    ФОМС = Окр((ИтогоФактИтогоДенег * 5.1/100),2);
    ДанныеПечати.Вставить("ФОМС", ФОМС);
    
    ОбластьМакетаИтого.Параметры.Заполнить(ДанныеПечати);
    ТабличныйДокумент.Вывести(ОбластьМакетаИтого);//                                 //В Ы В О Д

    
    Пользователь = ПараметрыСеанса.ТекущийПользователь;
    //ТабличныйДокумент.Вывести(ОбластьМакетаПодписи);
    ТабличныйДокумент.АвтоМасштаб = Истина;
    //Таб.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    //ТабличныйДокумент.АвтоМасштаб = Истина;  //КлючПараметровПечати
    //ТабличныйДокумент.МасштабПечати = 100;
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СДЕЛЬНЫЙ_НАРЯД_ПО_ПОШИВУ";
    //ТабличныйДокумент.КлючПараметровПечати = "МойУникальныйКлюч";
    
    НастроитьКолонтитулы(ТабличныйДокумент);    
    
    Возврат ТабличныйДокумент;
    
КонецФункции

Процедура НастроитьКолонтитулы(ПечатнаяФорма)
    
    // Верхний колонтитул.
    ПечатнаяФорма.ВерхнийКолонтитул.Выводить = Истина;
    ПечатнаяФорма.ВерхнийКолонтитул.НачальнаяСтраница = 1;
    
    //ПечатнаяФорма.ВерхнийКолонтитул.ТекстВЦентре = "Распечатано [&Дата][&Время]";//"Этот отчёт сделан нами для тестов";
    ПечатнаяФорма.ВерхнийКолонтитул.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
    
    ПечатнаяФорма.ВерхнийКолонтитул.ТекстСлева = ДатаИНомерДокументаДляРаспечатки+" "+Автор;//"Этот отчёт сделан нами для тестов";
    ПечатнаяФорма.ВерхнийКолонтитул.ТекстСправа = " Страница [&НомерСтраницы] из [&СтраницВсего]";        
    //ПечатнаяФорма.ВерхнийКолонтитул.ВертикальноеПоложение = ВертикальноеПоложение.Справа;
    
    //ПечатнаяФорма.НижнийКолонтитул.ТекстВЦентре = "[&Дата][&Время]";
    
    
    // Нижний колонтитул.
    ПечатнаяФорма.НижнийКолонтитул.Выводить = Истина;//Ложь;
    //ПечатнаяФорма.НижнийКолонтитул.ТекстСправа = ДокументДляПечати;//"[&НомерСтраницы] из [&СтраницВсего]";        
    ПечатнаяФорма.НижнийКолонтитул.ТекстСлева = Пользователь;//"[&НомерСтраницы] из [&СтраницВсего]";        
    //ПечатнаяФорма.НижнийКолонтитул.ТекстВЦентре = "[&Дата][&Время]";
    ПечатнаяФорма.НижнийКолонтитул.ТекстВЦентре = "Время распечатки [&Дата] "+"[&Время]";//"Этот отчёт сделан нами для тестов";
    // Использованные выше конструкции [&НомерСтраницы] и т.п. предопределены
    // платформой.

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

Функция ПолучитьЗначенияИзСпецификации(Обращение)
    
    Для каждого СтрДР из Обращение.ДополнительныеРеквизиты Цикл
        
        Если стрДР.Свойство.Имя = "ПодгибкаНиз_ead77bdb53194b5db451d696e10c21c6" Тогда
            Реквизит = СтрДР.Значение;
        КонецЕсли;

    КонецЦикла;
    
    Возврат Реквизит;
    
КонецФункции

Функция ПолучитьЗначенияИзСпецификацииПодгибка(Бок)
    
    Для каждого СтрДР из Бок.ДополнительныеРеквизиты Цикл
        
        Если стрДР.Свойство.Имя = "ПодгибкаБок_7f2bafc0e9b9469db4497cc0d050abe3" Тогда
            Реквизит = СтрДР.Значение;
        КонецЕсли;

    КонецЦикла;
    
    Возврат Реквизит;
    
КонецФункции

Функция ПолучитьЗначенияИзСпецификацииОписание(Пошива)
    
    Для каждого СтрДР из Пошива.ДополнительныеРеквизиты Цикл
        
        Если стрДР.Свойство.Имя = "ОписаниеПошива_eb5863024b2d4accadce9d66b7fc5c96" Тогда
            Реквизит = СтрДР.Значение;
        КонецЕсли;

    КонецЦикла;
    
    Возврат Реквизит;
    
КонецФункции

Функция ПолучитьЗначенияИзСпецификацииОписания(Кроя)
    
    Для каждого СтрДР из Кроя.ДополнительныеРеквизиты Цикл
        
        Если стрДР.Свойство.Имя = "ОписаниеКроя_75ae7670755c4ab18fdd715312cff837" Тогда
            Реквизит = СтрДР.Значение;
        КонецЕсли;

    КонецЦикла;
    
    Возврат Реквизит;
    
КонецФункции

#КонецОбласти
 
 
   dka80
 
1 - 22.07.19 - 17:53
Много букв. Не осилил
   Ёпрст
 
2 - 22.07.19 - 17:55
(0) И ?
у вас же закоменчена проверка на то, что влезает на страницу через проверить вывод
   alexodel
 
3 - 22.07.19 - 18:03
(2) а где заканчивается может подскажите, как быть... просто другие ВПФ ки выводят правильно... этот почему то не работает или я не ту деталь показываю... ???
   mikecool
 
4 - 22.07.19 - 18:05
(0) открыть макет, найти справа вертикальный пунктир, удалить все пустое от правого края макета до пунктира
профит

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.