|
Как склеить несколько табличных документов в 1С evorle145, PLUT, глазковыколупыватель, Fedor-1971, Seriy_Volk, evgeniy_n, Доминошник, Fragster, Sserj, Азат, ildary, Hawk_1c, Crusher, maxar, ОператорПК, lEvGl, dergreche, d4rkmesa, Migens, H A D G E H O G s, Михаил_, nick86, Garykom, Кирпич, Prog_man, stix2010, zippygrill, Bad_Aleks, 2S, paramedic, Gucci76, DemonShinji2, zenik, Волшебник, KJlag, бегинер, takefive, Homer, Krendel, Мультук, Прохожий, arsik, integer, toypaul, kittystark, Гений 1С, fserg84, Джордж1, ndrv, formista2000, GANR
| ☑ | ||
|---|---|---|---|---|
|
0
Гений 1С
гуру
01.10.26
✎
12:13
|
Вывожу в один файл листы КУДИР.
В итоге последующие листы подгонятются под формат первого. Как выводить каждый в своем формате? Пробовал через вывести область, получаю пустой результат ТабДок = v8.NewObject("ТабличныйДокумент"); Для Каждого Лист ИЗ СписокСформированныхЛистов Цикл ТабДок.Вывести(Лист.Значение); //Область = Лист.Значение.Область(); //ТабДок.ВставитьОбласть(Область, ТабДок.Область(ТабДок.ВысотаТаблицы, 1, ТабДок.ВысотаТаблицы + Область.Низ - 1, Область.Право)); КонецЦикла; |
|||
|
1
PLUT
гуру
01.10.26
✎
12:18
|
(0) старость от 2014 года
©пижжено отсюда https://its.1c.ru/db/metod8dev/content/5792/hdoc // Создаем пакет Пакет = Новый ПакетОтображаемыхДокументов; // Документы, находящиеся в этом пакете, печатаются в 5 экземплярах Пакет.КоличествоЭкземпляров = 5; // Добавляем документы в пакет ЭлементПакета1 = Пакет.Состав.Добавить(); ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент1, УникальныйИдентификатор); ЭлементПакета2 = Пакет.Состав.Добавить(); ЭлементПакета2.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент2, УникальныйИдентификатор); // Добавляем вложенный пакет для третьего документа ВложенныйПакет = Новый ПакетОтображаемыхДокументов; ЭлементПакета3 = Пакет.Состав.Добавить(); ЭлементПакета3.Данные = ВложенныйПакет; // Документ во вложенном пакете печатается в 2 экземплярах ВложенныйПакет.КоличествоЭкземпляров = 2; // Добавляем документ во вложенный пакет ЭлементВложенногоПакета1 = ВложенныйПакет.Состав.Добавить(); ЭлементВложенногоПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент3, УникальныйИдентификатор); // Печатаем пакет Пакет.Напечатать(); Для вложенного пакета можно установить те же параметры печати, что и для всего пакета, при этом если какие-то параметры не установлены, то они определяются из параметров родительского пакета. Пакет позволяет также экспортировать табличные документы в один PDF файл. Для этого предназначен метод пакета ЗаписатьФайлДляПечати(), которому передается полное имя файла. |
|||
|
2
Garykom
гуру
01.10.26
✎
12:22
|
(0) ТабДок в 1С это по сути один объект
Или разные объекты использовать как (1) Или в одном использовать мелкую сетку (ширина и высота ячеек минимальная) для подгонки Ориентация разных страниц аналогично извращаться с направлением текста |
|||
|
3
Гений 1С
гуру
01.10.26
✎
12:26
|
(1) мне нужно не в пакет, а сразу в файл
|
|||
|
4
Гений 1С
гуру
01.10.26
✎
12:26
|
(2) по сути надо формат строк новый задать. Вроде была такая команда, не?
|
|||
|
5
Garykom
гуру
01.10.26
✎
12:28
|
(4) Тебе СП продать?
|
|||
|
6
Fedor-1971
01.10.26
✎
12:32
|
(4) СоздатьФорматСтрок в СП, т.е. фиксируем ширины колонок для каждого выводимого листа
|
|||
|
7
Прохожий
01.10.26
✎
12:38
|
(3) На одном листе или на разных? Ладно, долой интриги. В конце этой ветки придут умные и скажут "делай PDF и склеивай листы в одну книжку" потом хоть на печать, хоть в почту, хоть на экран.
|
|||
|
8
Fragster
гуру
01.10.26
✎
12:44
|
нужно в исходном документе не выводить область, а копировать. перед этим у того места, куда вставляешь область нужно сделать ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange)
СоздатьФорматСтрок (CreateFormatOfRows) Синтаксис: СоздатьФорматСтрок() Описание: Создает у области новый формат строк. В новом формате строк размеры колонок будут соответствовать размерам колонок, которые были установлены в области. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер. Пример: // ТДПриемник - табличный документ, в кот. устанавливается новый формат // Отчет - табличный документ, на основании кот. будет установлен новый формат Процедура ДобавитьОтчет(ТДПриемник, Отчет) НачалоНовогоФорматаСтрок = ТДПриемник.ВысотаТаблицы + 1; ОбластьПрямоугольная = Отчет.Область(1, , Отчет.ВысотаТаблицы, ); ТДПриемник.ВставитьОбласть(ОбластьПрямоугольная, ТДПриемник.Область(НачалоНовогоФорматаСтрок, 1)); ТДПриемник.Область(НачалоНовогоФорматаСтрок, , НачалоНовогоФорматаСтрок + Отчет.ВысотаТаблицы - 1, ).СоздатьФорматСтрок(); // назначим ширину колонок у новой области формата строк Для Счетчик = 1 По Отчет.ШиринаТаблицы Цикл ТДПриемник.Область(НачалоНовогоФорматаСтрок, Счетчик).ШиринаКолонки = Отчет.Область(1, Счетчик).ШиринаКолонки; КонецЦикла; ТДПриемник.ВывестиГоризонтальныйРазделительСтраниц(); КонецПроцедуры // ДобавитьОтчет Использование в версии: Доступен, начиная с версии 8.2. Методическая информация |
|||
|
9
PLUT
гуру
01.10.26
✎
12:45
|
(3)
> мне нужно не в пакет, а сразу в файл я х.з. что тебе нужно ТипФайлаПакетаОтображаемыхДокументов (RepresentableDocumentBatchFileType) Значения DOCX (DOCX) HTML4 (HTML4) HTML5 (HTML5) ODS (ODS) PDF (PDF) TXT (TXT) XLS (XLS) XLSX (XLSX) Описание: Типы файла для сохранения пакета отображаемых документов. |
|||
|
10
Fragster
гуру
01.10.26
✎
12:45
|
вон, в СП даже почти готовый код для (0)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |