|
1С 8.3.12 сохранение нескольких табличных документов в Экселе на разных листах | ☑ | ||
---|---|---|---|---|
0
slasher
08.10.18
✎
17:57
|
Добрый вечер!
Говорят, что в новой версии можно сохранять табличные документы на нескольких листах в Экселе. Кто-нибудь знает синтаксис, может кто-работал уже, поделитесь? В СП нет ничего. |
|||
1
shuhard
08.10.18
✎
18:51
|
(0) ПРОЧЕЕ
Экспорт пакета отображаемых документов. Несколько табличных документов "1С:Предприятия" можно сохранить на разных листах результирующего документа, имеющего формат табличного процессора (XLS, XLSX, ODT). Эта возможность позволит, например, сохранять отчет, содержащий несколько разделов, в формате Microsoft Excel. |
|||
2
shuhard
08.10.18
✎
18:53
|
(1) +1
Реализована возможность экспорта пакета отображаемых документов в форматы XLS (Microsoft Excel 97-2003), Microsoft Office OpenXML (Microsoft Excel 2007 и старше) и ODT (OpenDocument). При этом реализована возможность сохранения каждого табличного документа пакета на отдельном листе результирующего документа. Реализовано свойство ЭлементПакетаОтображаемыхДокументов.Наименование, которое используется для указания имени листа. Для объекта ПакетОтображаемыхДокументов реализованы методы Записать() и НачатьЗапись(). |
|||
3
shuhard
08.10.18
✎
18:58
|
(2)+1
https://its.1c.ru/db/metod8dev#content:5792:hdoc:_top:пакетотображаемыхдокументов Особенности пакетной печати табличных документов Режим пакетной печати предназначен для печати нескольких табличных документов. Для печати используются объекты встроенного языка: ПакетОтображаемыхДокументов, ЭлементыПакетаОтображаемыхДокументов, ЭлементПакетаОтображаемыхДокументов. ПакетОтображаемыхДокументов – это собственно сам пакет, который содержит документы и настройки печати. У него есть свойство Состав, представляющее собой объект ЭлементыПакетаОтображаемыхДокументов – коллекцию объектов ЭлементПакетаОтображаемыхДокументов. ЭлементПакетаОтображаемыхДокументов – объект, который содержит либо адрес временного хранилища, в котором расположен табличный документ, либо объект ПакетОтображаемыхДокументов, обозначающий вложенный пакет документов. Настройки печати устанавливаются для всего пакета, индивидуальные настройки печати документов игнорируются. Доступны настройки КоличествоЭкземпляров, РазборПоКопиям, ИмяПринтера, ДвусторонняяПечать, ТочностьПечати, Вывод. Чтобы установить индивидуальные параметры печати для конкретного документа, следует добавить вложенный пакет, поместить документ в него и установить параметры печати для этого вложенного пакета. Например, необходимо распечатать 3 табличных документа, причем два из них по 5 экземпляров каждый, а третий - в 2 экземплярах: Копировать в буфер обмена // Создаем пакет Пакет = Новый ПакетОтображаемыхДокументов; // Документы, находящиеся в этом пакете, печатаются в 5 экземплярах Пакет.КоличествоЭкземпляров = 5; // Добавляем документы в пакет ЭлементПакета1 = Пакет.Состав.Добавить(); ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент1, УникальныйИдентификатор); ЭлементПакета2 = Пакет.Состав.Добавить(); ЭлементПакета2.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент2, УникальныйИдентификатор); // Добавляем вложенный пакет для третьего документа ВложенныйПакет = Новый ПакетОтображаемыхДокументов; ЭлементПакета3 = Пакет.Состав.Добавить(); ЭлементПакета3.Данные = ВложенныйПакет; // Документ во вложенном пакете печатается в 2 экземплярах ВложенныйПакет.КоличествоЭкземпляров = 2; // Добавляем документ во вложенный пакет ЭлементВложенногоПакета1 = ВложенныйПакет.Состав.Добавить(); ЭлементВложенногоПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент3, УникальныйИдентификатор); // Печатаем пакет Пакет.Напечатать(); Для вложенного пакета можно установить те же параметры печати, что и для всего пакета, при этом если какие-то параметры не установлены, то они определяются из параметров родительского пакета. Пакет позволяет также экспортировать табличные документы в один PDF файл. Для этого предназначен метод пакета ЗаписатьФайлДляПечати(), которому передается полное имя файла. |
|||
4
slasher
08.10.18
✎
19:28
|
shuhard, спасибо огромное, выручил!!!
кому надо вот рабочий кусок кода, для сохранения в эксель Пакет = Новый ПакетОтображаемыхДокументов; Пакет.КоличествоЭкземпляров = 2; ЭлементПакета1 = Пакет.Состав.Добавить(); ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабДокРеестр); ЭлементПакета2 = Пакет.Состав.Добавить(); ЭлементПакета2.Данные = ПоместитьВоВременноеХранилище(ТабДок); Пакет.Записать(СокрЛП(ИмяФайла)+".xls",ТипФайлаПакетаОтображаемыхДокументов.XLS); |
|||
5
shuhard
08.10.18
✎
19:32
|
(4) не вижу в твоем коде имен листов
|
|||
6
Cyberhawk
08.10.18
✎
20:09
|
Еще и в xls пишешь - кому оно нужно?
|
|||
7
slasher
08.10.18
✎
20:29
|
(5) они без имен, просто "Лист1" и "Лист2"
|
|||
8
slasher
08.10.18
✎
20:29
|
(6) ну вдруг кому пригодится
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |