Имя: Пароль:
1C
1С v8
Сервер 1С на Linux, требуется работать с COMОбъект("Word.Application")
0 Garykom
 
14.02.24
13:05
Сервер 1С на Linux, требуется работать с COMОбъект("Word.Application")

Какие варианты?

Думал про wine и msoffice в docker, но как туда из 1С стучаться?
1 Волшебник
 
14.02.24
13:07
Сделайте виртуалку с Windows, там создавайте COMОбъект("Word.Application")
а сервер может быть на Linux
2 Garykom
 
14.02.24
13:09
(1) Каким образом из &НаСервере (линукс) добраться до виртуалки и COMОбъект("Word.Application")?
Поднимать там какой то микросервис?
3 shuhard
 
14.02.24
13:10
(2) на виртуалке крутиться клиент 1С, коммуникация с сервером любым доступным образом
4 Звездец
 
14.02.24
13:11
(0) не использовать сом не вариант? что такого специфичного нужно от него, что бы не найти альтернативу?
5 Garykom
 
14.02.24
13:12
(3) Это замечательно что крутится, вопрос кто/что его будет крутить
И какой смысл в нем, если надо чтобы регламентное на сервере 1С (линук) могло обрабатывать файлы doc (не docx) через Word.Application
6 Garykom
 
14.02.24
13:15
(4) Старый формат doc (не новый docx), надо на каждую страницу (в колонтитулы) вставлять "штамп с ШК"
Причем документы Word любые (сложные и с макросами) - LibreOffice не подходит
7 vde69
 
14.02.24
13:16
(6) почему это нельзя делать на клиенте?
8 Garykom
 
14.02.24
13:16
(3) это слегка овер
9 Garykom
 
14.02.24
13:17
(7) 1. клиент может быть любой и где угодно
2. регламентное/фоновое
10 PLUT
 
14.02.24
13:17
(6) микросервис на Go

отправляешь старый формат doc, микросервисом на другой планете/стране обрабатываешь и отправляешь обратно??
11 Волшебник
 
14.02.24
13:18
(2) COMОбъект создавайте на клиенте
12 Звездец
 
14.02.24
13:18
(6) а если doc сконвертировать из командной строки с помощью lible office в docx, с последним умеет работать платформа (правда как там с колонтитулами не знаю), ну и потом конвертация обратно
13 Garykom
 
14.02.24
13:18
(12) пробовал
качество не очень, документы портит
14 arsik
 
14.02.24
13:20
(6) Ну так сначала сконвертируй старые doc в docx. Ну а потом уже стандартными средствами
15 Garykom
 
14.02.24
13:20
(10) загвоздка что код который есть работает из 1С
надо какой то HTTP RPC ваять с простой доработкой в будущем, при передаче в саппорт
16 Garykom
 
14.02.24
13:20
(14) см (13)
17 Garykom
 
14.02.24
13:24
Хочется нечто вроде DCOM, из 1С на linux, когда сам COM/OLE сервер на windows/wine
Возможно реализация через Native API ВК?
18 Garikk
 
14.02.24
13:22
(2) так com он может по сети работать, только это страшное колдунство еще во времена расцвета было этой технологии, но если упоротся то почему и нет
19 Garykom
 
14.02.24
13:24
(18) проблема что сервер 1С на linux
20 vde69
 
14.02.24
13:24
конвертите (через команду системы) doc в docx
21 Garykom
 
14.02.24
13:24
(20) см (13)
22 PLUT
 
14.02.24
13:28
(19) а клиент может быть на форточках, в котором есть COM

в качестве бреда - складывать "задание на вставку колонтитулов в doc" в регистр

на клиенте форточном из регистра брать, вставлять и класть обратно...
23 PLUT
 
14.02.24
13:31
+(22)

Новый СисьтемнаяИнформация;

  СисьтемнаяИнформация.ТипПлатформы
24 Garykom
 
14.02.24
13:38
(22) Можно
И пусть все активные клиенты (windows и установлен ms office) обрабатывают
25 arsik
 
14.02.24
13:39
(16) Ну так ты не через либру конвертируй
26 shuhard
 
14.02.24
13:40
(8) дык используй как временный байпас, пока не найдёшь устойчивое решение, сам по себе клиент под виндой как средство конвертации вполне себе решение
27 arsik
 
14.02.24
13:41
(24) Прикинь у кого то из клиентов марковирус?
28 PLUT
 
14.02.24
13:44
(26) (22) повтор (1) и (3)

всё не читал :)
29 arsik
 
14.02.24
13:59
(24) Тыж гошник. Хттп сервис на го запили. https://products.aspose.cloud/total/go/conversion/doc-to-docx/
30 Garykom
 
14.02.24
14:02
(28) Да повтор по сути
Более раскрыто но решение так себе, костыль

Сам больше склоняюсь поднять на linux (где сервер 1С) docker-контейнер с wine, ms office, win apache и win файловая 1С внутри с публикацией http-сервиса
И тупо отправлять в http-сервис 1С сам doc файл и текст кода 1С для Выполнить()
31 PLUT
 
14.02.24
14:03
(30) и инструкция саппорту из пары строк?

телефон и электропочта автора
32 Garykom
 
14.02.24
14:26
(31) Тут для саппорта проще что конейнер с сервисом или работает или нет
И простой код на ЯП 1С
33 arsik
 
14.02.24
14:08
(30) И для чего в этой схеме файловая 1С нужна?
Кстати одной либрой ты только ограничился. Есть же масса офисных пакетов которые это могут и еще и linux поддерживают.
34 Garykom
 
14.02.24
14:26
(33) файловая 1С чтобы еще лицензию на сервер 1С не надо, достаточно одной клиентской
и выполняло нативный код на ЯП 1С, без onescript/исполнитель
35 Djelf
 
14.02.24
14:34
(30) Тоже костыль, но вроде так должно работать лучше (более предсказуемо совместимо с разработкой изначального кода на win), чем городить гирлянду обработчиков и микросервисов.
Еще более вероятно что лицензия для разработчиков тут сработает...
36 Garykom
 
14.02.24
14:34
(35) Лицензия для разработчиков не очень вариант в проде
Она же продляется через инет, на сервере нет инета
37 Djelf
 
14.02.24
14:37
(36) Если так, то боль/печаль. МикроЭкономия не удалась ;)
38 p-soft
 
14.02.24
17:49
(34) 1. к той же базе из под винды коннектись, забирая лиценцию с сервера.
2. сделать через очередь задач на конвертацию. и пусть избранный клиент эти задачи обрабатывает. а можно и все клиентские подключения обязать..
но лучше отдельный сервис мутить, конечно
39 ДедМорроз
 
14.02.24
19:06
Код общения с ms word можно на VbScript написать - там очень мало изменений будет.
И забирать из того же VbScript задания с сервера через http -сервис.
40 BaZZiL
 
14.02.24
19:17
а через Open Office XML не вариант колонтитулы вставлять?
41 ДедМорроз
 
14.02.24
21:23
Ещё можно разобрать doc,так как это обычный Compound,и вписать колонтитулы туда - это проще,чем работать с DCOM с Linux-а
42 arsik
 
15.02.24
09:35
Можно еще попробовать такой транслятор doc to docx.
Вроде в линуксах работает, только нужен mono.
https://b2xtranslator.sourceforge.net/documentation.html
43 Hmster
 
15.02.24
09:48
(0) делаешь отдельную БД на Win с HTTP сервером и развлекаешься
44 Dzenn
 
15.02.24
15:24
Вот сайт, который тебе поможет — https://github.com/

Наверняка на гитхабе для твоей задачи есть инструменты, не привязанные к COM технологии
45 Garikk
 
15.02.24
15:27
(44) лучше гугл сразу предлагай, вообще 100% вопросов решит
46 mikecool
 
15.02.24
19:03
отказаться от ворда еще не предлагали?
я по максимуму всех отговариваю, все соглашаются
47 Dzenn
 
16.02.24
10:07
(45) Слушай, ну так большинство таких проблем и решаются — гуглением типа "github microsoft word"
48 Dzenn
 
16.02.24
10:08
* "github microsoft word linux"
49 DrZombi
 
16.02.24
12:09
(0) Запускать клиента.
50 DrZombi
 
16.02.24
12:11
(6) Все нормально. Запускаете Виртуалку, из него стартуете Клинте 1С, который будет вам все делать.

Естественно придется переписать все на "Фоновое" преобразование Дока по заданию, возможно не очень быстро :)

Но вы же захотели линукс, но не захотели изменить док на ДокИкс :)
51 DrZombi
 
16.02.24
12:14
(30) Голова, интересный вариант, если есть лишние ключики к серверу 1С :)
52 DrZombi
 
16.02.24
12:16
(34) А файловый вариант поддерживает вэб? Тут у мен пробел :(
53 nejtron
 
16.02.24
14:02
Поддарживает
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший