|
Как склеить несколько табличных документов в 1С PR, Шурик71, Доминошник, H A D G E H O G s, PLUT, Михаил Козлов, Кирпич, Kongo2019, tulke, Злопчинский, trk415e76, Caesar, Lama12, Fragster, Bigbro, Frya, bolder, Волшебник, Garykom, laeg, Timon1405, 1cVandal, kittystark, Гений 1С, ЯнСмит, Philix, Greeen, ndrv, Климов Сергей
| ☑ | ||
|---|---|---|---|---|
|
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)
|
|||
|
11
Гений 1С
гуру
01.10.26
✎
14:57
|
(8) неплохо, спасибо. Клиент переиграл, хочет в отдельные файлы XLS сохранять. Можно и в листы, но 1С вроде не умеет в листы?
|
|||
|
12
Волшебник
01.10.26
✎
15:03
|
(11) см. ПакетОтображаемыхДокументов
|
|||
|
13
Гений 1С
гуру
01.10.26
✎
15:08
|
(12) интересно. они в платформу сие добавили... надо ж.
|
|||
|
14
Волшебник
01.10.26
✎
15:10
|
(13) уже лет 10 или 12
|
|||
|
15
H A D G E H O G s
01.10.26
✎
15:12
|
Нас еще нейросетками пугают. Сначала они лет 10 будут поджирать вот таких вот специалистов.
|
|||
|
16
Fish
гуру
01.10.26
✎
15:50
|
Судя по
ТабДок = v8.NewObject("ТабличныйДокумент");
Это всё ещё и по КОМу делается. 🤦 |
|||
|
17
PR
01.10.26
✎
17:10
|
О, очередная сложнейшая задача тысячелетия от генитального
|
|||
|
18
Гений 1С
гуру
01.10.26
✎
20:12
|
(15) не будут, ИИ сильно преувеличена. Поисковик не заменит программиста
|
|||
|
19
Гений 1С
гуру
01.10.26
✎
20:13
|
(16) в обновляторе
|
|||
|
20
Garykom
гуру
01.10.26
✎
20:31
|
(18) Вероятно ты еще не видел реально умные LLM типа Claude Opus/Sonnet 5 и сравнимые аналоги
Особенно в правильном окружении для 1С |
|||
|
21
Garykom
гуру
01.10.26
✎
20:32
|
(19) Еще раз для гениев
Напиши цуко внешнюю обработку И вызывай ее через обновлятор внутри нужной базы 1С Хорош уже того стюардессу |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |