|
Создание excel файла со вкладками в 1С на линуксе | ☑ | ||
---|---|---|---|---|
0
Double_Medved
27.08.18
✎
11:00
|
Добрый день!
Ковырял гугл, яндекс, и все что ковыряется, не выходит каменный цветок, прошу помощи. Есть обработка, которая формирует файл xlsx, а в нем ВКЛАДОЧКИ, листы, каждый со своими данными. Винда, COM-объект, WorkBooks, копирование листов. В винде вообщем все работает. Подскажите пожалуйста, как это можно сделать в линуксе? COM-объектов там нет, екселя нет. Как сохранить просто отчет в xls-понятно. А как в файлике добавить вкладочки-листы? |
|||
1
Dmitry1c
27.08.18
✎
11:04
|
секс :)
|
|||
2
Double_Medved
27.08.18
✎
11:04
|
(1)С чем?
|
|||
3
Timon1405
27.08.18
✎
11:15
|
(0) переходите на 8.3.12 там есть
ПакетОтображаемыхДокументов |
|||
4
Cyberhawk
27.08.18
✎
11:17
|
Делай xlsx-файл как xml-файл в zip-архиве и получишь полный контроль
|
|||
5
Вафель
27.08.18
✎
11:17
|
вроде 1с сама сейчас умеет так
|
|||
6
Double_Medved
27.08.18
✎
11:20
|
(4)Можно поподробнее? Там же ячейки, цвета, шрифты, закрепляемые области. Как это все запихать в xml?
|
|||
7
Garikk
27.08.18
✎
11:20
|
(6) есть описание формата от майкрософт на 100500 страницах
|
|||
8
Cyberhawk
27.08.18
✎
11:21
|
Открываешь xlsx-файл как zip-архив и смотришь. Либо читаешь на MSDN описание этого формата.
|
|||
9
Вафель
27.08.18
✎
11:23
|
может проще через вайн?
|
|||
10
Флориан
27.08.18
✎
11:23
|
(0) Автору рекомендовал бы смотреть в сторону OpenOffice
|
|||
11
Garikk
27.08.18
✎
11:24
|
(10) а как к нему коннектится, куда автору смотреть?
|
|||
12
Кирпич
27.08.18
✎
11:26
|
(0) Написать внешнюю прогу на языке, где есть поддержка Excel. Python, Ruby, FreePascal.
|
|||
13
yzimin
27.08.18
✎
11:27
|
а чем всех советующих решение из (3) не устроило?
|
|||
14
Флориан
27.08.18
✎
11:29
|
||||
15
Garikk
27.08.18
✎
11:32
|
(14) вас не смущает что разговор о линуксе, а в скрипте
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language="vbscript"; ? |
|||
16
Флориан
27.08.18
✎
11:41
|
||||
17
Double_Medved
27.08.18
✎
11:47
|
(3)ПакетОтображаемыхДокументов (RepresentableDocumentBatch)
ЗаписатьФайлДляПечати (WriteFileForPrinting) Синтаксис: ЗаписатьФайлДляПечати(<ИмяФайла>) Параметры: <ИмяФайла> (обязательный) Тип: Строка. Содержит полное имя файла, в который нужно записать документы. Описание: Записывает файл, который в дальнейшем можно использовать для печати пакета. Доступность: Тонкий клиент, веб-клиент, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Я так понял на сервере не смогу это сделать? Сервер на линуксе, смысл в том чтобы сделать регламентное задание короче, то есть нужно сохранять файл на сервере |
|||
18
Garikk
27.08.18
✎
11:53
|
(16) ну там нет однозначного решения. это полюбому костылестроение
|
|||
19
Флориан
27.08.18
✎
11:53
|
||||
20
spiller26
27.08.18
✎
12:00
|
Может поможет тебе http://v8.1c.ru/overview/release_8_3_12/
|
|||
21
Timon1405
27.08.18
✎
12:02
|
(17) там же есть
Пакет.Записать("\\Путь\1.xls", ТипФайлаПакетаОтображаемыхДокументов.XLS); честно говоря в чем отличие Записать от ЗаписатьФайлДляПечати я не понял. |
|||
22
Флориан
27.08.18
✎
12:06
|
к (19) это "Чтение/Запись документа Excel 2007 без офиса, без внешних компонент. (с примером для 7.7, 8.1 и 8.2 на управляемых формах)" как писали в (4)
|
|||
23
arsik
гуру
27.08.18
✎
12:26
|
Может развернуть вебсервис на виндовом 1С. Туда несколько mxl, обратно xls.
|
|||
24
Кирпич
27.08.18
✎
12:54
|
(23) я бы не стал городить. накарябал скрипт на питоне и все дела.
https://habr.com/post/232291/#lib |
|||
25
Double_Medved
27.08.18
✎
14:32
|
Сделал через ПакетОтображаемыхДокументов, теперь вопрос - как можно переименовывать вкладочки? Чтоб был не "Лист" и "Лист2", а типа "Закупки","Продажи", и т.д.?
Пакет = Новый ПакетОтображаемыхДокументов; УИД = Новый УникальныйИдентификатор; ЭлементПакета1 = Пакет.Состав.Добавить(); ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабДокЗакупки ,УИД); ЭлементПакета2 = Пакет.Состав.Добавить(); ЭлементПакета2.Данные = ПоместитьВоВременноеХранилище(ТабДокПродажи ,УИД); Пакет.Записать(ПутьКФайлам+"\"+ИмяФайла,ТипФайлаПакетаОтображаемыхДокументов.XLS); |
|||
26
Timon1405
27.08.18
✎
14:47
|
ЭлементПакета1.Наименование = "Закупки"; //подойдет?
|
|||
27
Флориан
27.08.18
✎
14:54
|
При этом реализована возможность сохранения каждого табличного документа пакета на отдельном листе результирующего документа.
Реализовано свойство ЭлементПакетаОтображаемыхДокументов.Наименование, которое используется для указания имени листа. Источник: http://downloads.v8.1c.ru/content//Platform/8_3_12_1595/1cv8upd_8_3_12_1595.htm#8eb981c1-9877-11e7-a3f7-0050569f678a |
|||
28
Double_Medved
27.08.18
✎
14:55
|
(26) Ого, получилось! Че-то в описании не увидел что есть свойство Наименование. Спасибо
|
|||
29
Флориан
27.08.18
✎
15:38
|
(6) а это автор уже реализовал? стандартное сохранение из 1с не всё форматирование поддерживает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |