8.х как разместить 2 макета на разных страницах

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем wertklop, 4 дек 2008.

  1. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    создаю внешнюю печатную форму с отчётом.

    Функция Печать(ДокументОбъект,ТабДокумент) Экспорт
    Макет = ЭтотОбъект.ПолучитьМакет("Заказ_наряд");
    заказнаряд=макет.ПолучитьОбласть("заказнаряд");
    ............................................................................................
    ТабДокумент.Вывести(заказнаряд);

    Макет = ЭтотОбъект.ПолучитьМакет("ДефектнаяВедомость");
    ДефектнаяДоверенность=Макет.ПолучитьОбласть("ДефектнаяВедомость");
    .........................................................................................
    ТабДокумент.Вывести(ДефектнаяДоверенность);
    Возврат ТабДокумент;



    при выводе на печать эти 2 макета печатаются на одном и том же листе. как сделать так, чтобы ДефектнаяВедомость автоматически выводилась на новой странице?
  2. DmitryS
    Offline

    DmitryS Опытный в 1С

    Регистрация:
    20 июл 2007
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    26
    Вставить разделитель страниц: ТабДокумент.ВывестиВертикальныйРазделительСтраниц()
  3. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    не помогает
    а где конкретно его надо вставлять, в каком месте?
  4. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Вставлять нужно
    Код:
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    
    
    
    вообще-то, в любое место между ТабДокумент.Вывести... , но логичнее поставить перед выводом той секции, которая должна быть на следующей странице
  5. DmitryS
    Offline

    DmitryS Опытный в 1С

    Регистрация:
    20 июл 2007
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    26
    Точно, насчет метода обшибся, а выглядеть должно приблизительно так:

    Код:
    Функция Печать(ДокументОбъект,ТабДокумент) Экспорт
    Макет = ЭтотОбъект.ПолучитьМакет("Заказ_наряд");
    заказнаряд=макет.ПолучитьОбласть("заказнаряд");
    ............................................................................................
    ТабДокумент.Вывести(заказнаряд);
    
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
    
    Макет = ЭтотОбъект.ПолучитьМакет("ДефектнаяВедомость");
    ДефектнаяДоверенность=Макет.ПолучитьОбласть("ДефектнаяВедомость");
    .........................................................................................
    ТабДокумент.Вывести(ДефектнаяДоверенность);
    Возврат ТабДокумент;
    
    
  6. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    я так и делаю, но всё равно не получается((((((((
  7. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Странно, код покажите
  8. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    Код:
    Функция Печать(ДокументОбъект,ТабДокумент) Экспорт
    Макет = ЭтотОбъект.ПолучитьМакет("Заказ_наряд");
    заказнаряд=макет.ПолучитьОбласть("заказнаряд");
    
    заказнаряд.Параметры.ПредставлениеПоставщика=ДокументОбъект.Организация.НаименованиеПолное;
    заказнаряд.Параметры.РеквизитыОрганизации=киПолучитьПредставлениеКИ(ДокументОбъект.Организация, Справочники.ВидыКонтактнойИнформации.АдресЮридический)+" "+киПолучитьПредставлениеКИ(ДокументОбъект.Организация, Справочники.ВидыКонтактнойИнформации.ТелефонКонтактный)+" факс "+киПолучитьПредставлениеКИ(ДокументОбъект.Организация, Справочники.ВидыКонтактнойИнформации.Факс);
    заказнаряд.Параметры.НомДок=ДокументОбъект.Номер;
    заказнаряд.Параметры.Дата=Формат(ДокументОбъект.Дата,"ДФ=dd.MM.yyyy");
    заказнаряд.Параметры.КтоПринял=ДокументОбъект.Мастер.Наименование; 
    заказнаряд.Параметры.ДатаОкончания=Формат(ДокументОбъект.ДатаОкончания,"ДФ=dd.MM.yyyy");
    
    заказнаряд.Параметры.ТипАвто=ДокументОбъект.Автомобиль.Модель.КлассАвтомобиля.Наименование;
    заказнаряд.Параметры.Модель=ДокументОбъект.Автомобиль.Модель.НаименованиеПолное;
    заказнаряд.Параметры.НомДвигателя=ДокументОбъект.Автомобиль.НомерДвигателя;
    заказнаряд.Параметры.ГодВыпуска=Формат(ДокументОбъект.Автомобиль.ГодВыпуска,"ДФ=yyyy");
    заказнаряд.Параметры.НомШасси=ДокументОбъект.Автомобиль.НомерШасси;
    авто=Справочники.Автомобили.НайтиПоНаименованию(ДокументОбъект.Автомобиль.Наименование);
    автом=авто.ПолучитьФорму("формаэлемента");
    автом.Открыть();
    заказнаряд.Параметры.госномер=автом.ГосНомер;
    заказнаряд.Параметры.пробег=Автом.Пробег;
    автом.Закрыть();
    заказнаряд.Параметры.ТипРемонта=ДокументОбъект.ВидРемонта.наименование;
    заказнаряд.Параметры.Причина=ДокументОбъект.ПричинаОбращения;
    заказнаряд.Параметры.ПричинаОбращения=ДокументОбъект.ПричинаОбращения;
    ТабДокумент.Вывести(заказнаряд);
    
    ТаблицаРабот=макет.ПолучитьОбласть("Работы");
    работы=ДокументОбъект.Работы.Выгрузить();
    номертабл=0;
    для каждого текстрока из работы цикл
    номертабл=номертабл+1;
    ТаблицаРабот.Параметры.НомерСтроки=номертабл;
    ТаблицаРабот.Параметры.Работа=текстрока.работа;
    ТаблицаРабот.Параметры.Ед=текстрока.Количество;
    ТаблицаРабот.Параметры.Механик=ДокументОбъект.Мастер.Наименование;
    ТабДокумент.Вывести(ТаблицаРабот);
    КонецЦикла;
    подвал=макет.ПолучитьОбласть("подвал");
    подвал.Параметры.Договор=ДокументОбъект.ДоговорВзаиморасчетов.НомерДоговора+" от "+Формат(ДокументОбъект.ДоговорВзаиморасчетов.ДатаНачала,"ДФ=dd.MM.yyyy");
    ТабДокумент.Вывести(подвал);
    ТабДокумент.ВывестиВертикальныйРазделительСтраниц();
    
    Макет = ЭтотОбъект.ПолучитьМакет("ДефектнаяВедомость");
    
    ДефектнаяДоверенность=Макет.ПолучитьОбласть("ДефектнаяВедомость");
    ДефектнаяДоверенность.МасштабПечати=100;
    ДефектнаяДоверенность.Параметры.Договор=ДокументОбъект.ДоговорВзаиморасчетов.НомерДоговора+" от "+Формат(ДокументОбъект.ДоговорВзаиморасчетов.ДатаНачала,"ДФ=dd.MM.yyyy");
    ТабДокумент.Вывести(ДефектнаяДоверенность);
    
    Возврат ТабДокумент;
    
    КонецФункции
    
    
  9. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();

    Не тот метод используете
  10. TopicStarter Overlay
    wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    точно!
    спасибо за ответ

Поделиться этой страницей