Как соединить два макета (Титульник и таблицу)

1. polsovatel_1 16.07.24 11:59 Сейчас в теме
При соединении двух макетов (Титульник и таблица), столбцы таблицы станоятся очень узкими, как отменить форматирование или расширить столбцы? Пробовал через авторасчет ширины колонок, но код либо влияет на оба макета сразу (а мне надо только на таблицу), либо вообще не работает. В данном примере не работает.

Функция ОбщийМакет()  
	ТабДокументИтог = Новый ТабличныйДокумент;
    
ТабДок = Новый ТабличныйДокумент;  
ТабДокОсновной = Новый ТабличныйДокумент;

ТабДок = СформироватьНаСервере();
    
ТабДокументИтог.Вывести(ТабДок);

ТабДокОсновной = СформироватьНаСервере2();
   
ТабДокументИтог.Вывести(ТабДокОсновной);  

Для Кол = 1 По ТабДокОсновной.ШиринаТаблицы Цикл
	    ШиринаКолонки = 0;
		Для Стр = 1 По ТабДокОсновной.ВысотаТаблицы Цикл 
	        Область = ТабДокОсновной.Область("R"+Формат(Стр,"ЧГ=0")+"C"+Формат(Кол,"ЧГ=0"));
	        ШиринаОбласти = Область.Отступ+СтрДлина(СокрЛП(Область.Текст));
	        ШиринаКолонки = Макс(ШиринаКолонки, ШиринаОбласти + 3);
	        Если ШиринаКолонки > 40 Тогда
	            Область.ШиринаКолонки = 40;
	        Иначе
	            Область.ШиринаКолонки = ШиринаКолонки;
	        КонецЕсли;
	    КонецЦикла;
	КонецЦикла;      
	
Возврат (ТабДокументИтог);
	КонецФункции
Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 16.07.24 13:04 Сейчас в теме
(1) в СП даже пример есть.
Процедура ДобавитьОтчет(ТДПриемник, Отчет)

    НачалоНовогоФорматаСтрок = ТДПриемник.ВысотаТаблицы + 1;
    ОбластьПрямоугольная = Отчет.Область(1, , Отчет.ВысотаТаблицы, );
    ТДПриемник.ВставитьОбласть(ОбластьПрямоугольная, ТДПриемник.Область(НачалоНовогоФорматаСтрок, 1));
    ТДПриемник.Область(НачалоНовогоФорматаСтрок, , 
        НачалоНовогоФорматаСтрок + Отчет.ВысотаТаблицы - 1, ).СоздатьФорматСтрок();
    // назначим ширину колонок у новой области формата строк

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

КонецПроцедуры // ДобавитьОтчет
Показать
3. starik-2005 3070 16.07.24 16:42 Сейчас в теме
(1)
Титульник и таблица
Если это нужно для того, чтобы потом это все красиво напечатать, то юзайте пакет отображаемых документов. Вставляете туда титульник, потом отчет, потом записываете в PDF - красота! PDF можно отобразить в 1С-ах, кстати, а можно и в браузераз.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот