Версия для печати темы (https://pro1c.org.ua/index.php?s=a910c79aa4c1d097bd885217a6b5dc68&showtopic=67411)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.1 (8.0) _ Как при выводе нестандартного отчета через макет задать параметры печати

Автор: Svetas_2024 26.12.23, 21:52

Добрый день, уважаемые форумчани. Прошу помощи
1С:Предприятие 8.3 (8.3.15.1869), "Управление производственным предприятием для Украины", редакция 1.3 (1.3.66.1) , формы обычные (не управляемые)

вопрос Как при выводе нестандартного отчета через макет,
задать:
1. разрывы листов - чтобы при достяжении границы- переходил на следующий лист, а не делился рисунок по палам (1 часть на 1 странице -2 часть на 2 страницы)
2. отступы страницы печати
3. повторение шапки на каждом листе при печати
4. возможность из кода изменять размер области секции
5. нумерацию листов;
6. двустороннею печать
7. отступ для переплёта


 ! 

https://pro1c.org.ua/index.php?act=announce&id=2: 8
 


ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();

Макет = ЭтотОбъект.ПолучитьМакет("МакетКаталог");

ОбластьШапка1= Макет.ПолучитьОбласть("ШапкаСтока|Шапка");
ОбластьШапка2= Макет.ПолучитьОбласть("ШапкаСтока|Параметры1");
ОбластьШапка3= Макет.ПолучитьОбласть("ШапкаСтока|Шапка2");
ОбластьШапка4= Макет.ПолучитьОбласть("ШапкаСтока|Параметры2");


ОбластьКартинка1= Макет.ПолучитьОбласть("СписокКартинка|Шапка");
ОбластьПараметры1= Макет.ПолучитьОбласть("СписокКартинка|Параметры1");
ОбластьКартинка2= Макет.ПолучитьОбласть("СписокКартинка|Шапка2");
ОбластьПараметры2= Макет.ПолучитьОбласть("СписокКартинка|Параметры2");

ОбластьШапка4.Параметры.Дата = ТекущаяДата();
ТабДок.Вывести(ОбластьШапка1);
ТабДок.Присоединить(ОбластьШапка2);
ТабДок.Присоединить(ОбластьШапка3);
ТабДок.Присоединить(ОбластьШапка4);


Для каждого строка из аа Цикл
ТабДок.Присоединить(ОбластьПараметры2);

конеццикла;
    
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Истина;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Вывести(ТабДок);
ТабДок.Показать();

Автор: AnryMc 27.12.23, 8:52

1) Для разрыва страниц можно создать область (1 строка) и в неё в макете вставить разрыв и когда надо её выводить
2) ТабДок.ПолеСверху = ...
3) ТабДок.ПовторятьПриПечатиСтроки
4) Недоперепонял
5) ТабДок.НижнийКолонтитул.Выводить = Истина;
В макете настроить колонититул с маской (Таблица - Настройка печати - Колонтитулы - сверху кнопочка номер (номера) страницы
или программно
ТабДок.НижнийКолонтитул.ТекстСлева = МойСчетчик;
6) ТабДок.ДвусторонняяПечать
7) ТабДок.ЧередованиеРасположенияСтраниц = ЧередованиеРасположенияСтраниц .ЗеркальноСлева

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua