|   |   | 
| 
 | COMОбъект и Linux? | ☑ | ||
|---|---|---|---|---|
| 0
    
        nsergn 14.03.25✎ 16:00 | 
        Вопрос по COMОбъект (база локальная):
 Возможно ли сформировать печатную форму с заполнением полей в формате docx на локальной машине с Linux (Astra Linux)? На Windows это работает: Объект = ПолучитьCOMОбъект(Каталог+"\ШаблонДоговора\"+ВыбраннаяСтрока.Имя); Перенесли базу на Linux и не работает. Как получить желаемое с минимальными затратами? | |||
| 1
    
        Волшебник 14.03.25✎ 16:01 | 
        веб-сервис     | |||
| 2
    
        arsik гуру 14.03.25✎ 16:10 | 
        (0) Посмотреть как это делается в БСП. Там давно уже com выпилили из печатных форм. Сейчас распаковка, корректировка XML, запаковка. Все делается методами БСП.
 https://infostart.ru/1c/articles/2071187/ https://infostart.ru/1c/articles/2155772/ | |||
| 3
    
        nsergn 14.03.25✎ 16:36 | 
        Есть самописная база на основе УТ10, в которой на Windows формирование файла работает.
 Как (одной волшебной кнопкой))) сделать заполнение того же файла из такой же базы 1С на Linux? Или "волшебно" не получится? (1) статьи, особенно первая, интересные, глянул по диагонали, но придется потратить время, чтобы разобраться. Сейчас шаблон вордовского файла заполняется по принципу Заменить = Объект.Content.Find; 
Попытка  
    Заменить.Execute("[ФИО]", Ложь, Истина, Ложь, , , Истина, , Ложь, ФИО,2); 
Исключение 
    Сообщить("В документе не найдет тег [дата договора], либо у контрагента отсутствует данная информация"); 
КонецПопытки;(2) можно поподробнее, как это сделать "волшебно" и просто? | |||
| 4
    
        PLUT гуру 14.03.25✎ 16:37 | ||||
| 5
    
        arsik гуру 14.03.25✎ 16:41 | 
        (3) Подтяни в свою чудо конфигурацию модули из бсп для печати и пользуйся.     | |||
| 6
    
        nsergn 14.03.25✎ 17:03 | 
        (4) по каким-то убеждениям там используется версия 8.3.8...     | |||
| 7
    
        nsergn 14.03.25✎ 17:04 | 
        чувствую, что самый простой вариант - обычная печатная форма внутри 1С     | |||
| 8
    
        PLUT гуру 14.03.25✎ 17:12 | 
        (6) для 2018 года норм убеждение. в будущее могут смотреть не только лишь все. мало кто может это делать
 там минимальная платформа для примера из статьи, т.к. начиная с 8.3.8 появились заклинания для работы с потоками в памяти (заклинания используются для распакоуки и запакоуки) | |||
| 9
    
        Djelf 14.03.25✎ 17:26 | 
        (3) Если ты хочешь извращений, то ставь 8ку на wine, туда же ставь офис, запускай там служебный сеанс и в нем пытайся работать через OLE.
 Так работать возможно будет, но по факту ты потратишь значительно больше времени и возможно с нулевым результатом, чем найти альтернативную технологию заполнения, без ОЛЕ. | |||
| 10
    
        novichok79 14.03.25✎ 19:12 | 
        проще поднять http-сервис на golang и туда стучаться.
 скомпилировать можно сразу на кучу архитектур. вот либа на чистом Go (без CGo приседаний). примерчик даже есть. https://github.com/unidoc/unioffice-examples/blob/master/document/edit-document/main.go OLE - он был еще в моем детстве, хз, вы б еще на коболе написали свой велосипед. | |||
| 11
    
        Garykom гуру 14.03.25✎ 19:58 | 
        (0) можно
 наилучший способ это wine + ms office + микросервис на Go который внутри wine пашет, имея полный доступ к объектной модели офиса с микросервисом через http из 1С общаться можно реализовать полноценный RPC в обертке http-сервиса | |||
| 12
    
        Garykom гуру 14.03.25✎ 20:03 | 
        (10) пфф
 https://github.com/Garykom/gotenberg_msoffice/blob/main/convert.go ЗЫ unidoc/unioffice - она платная | |||
| 13
    
        Garykom гуру 14.03.25✎ 20:09 | 
        (11)+ если Golang слишком сложна
 можно внутрь Wine кроме MS Office поставить PowerShell и далее тупо из 1С создавать скрипты ps по типу https://github.com/Garykom/office2pdf/blob/main/doc2pdf.ps1 запуская их из линуксовой 1С чтобы исполнялись через wine внутри | |||
| 14
    
        Кирпич 14.03.25✎ 20:51 | 
        Про питон забыли. Там есть навороченная библиотека для генерации docx по шаблонам. Примерчик:
 
Шаблон: Уважаемый {{name}}, зайдите в бухгалтерию! Выход: Уважаемый Иванов Иван Иваныч, зайдите в бухгалтерию! | |||
| 15
    
        Garykom гуру 14.03.25✎ 22:11 | 
        (14) к сожалению у всех независимых от мс офиса библиотек есть один фатальный недостаток: не весь функционал поддерживается
 например макросы или формулы? когда от значения в шаблоне зависят другие значения, как их обновить? | |||
| 16
    
        Кирпич 14.03.25✎ 22:45 | 
        (15) Да пожалуйста. Напихай в шаблон макросы и формулы. Нахрен они там кому нужны.     | |||
| 17
    
        Кирпич 14.03.25✎ 22:48 | 
        (15) Шаблоны в docx обычно для договоров используют. Ну и тому подобное. Просто текст. Ну пара таблиц и пара рисунков. Я лет 20 макросов в ворде не видел. Ты с какой планеты?     | |||
| 18
    
        Кирпич 15.03.25✎ 11:44 | 
        сервис примитивный нацарапал вот
 
//================================================ 
 | |||
| 19
    
        Garykom гуру 15.03.25✎ 14:45 | 
        (18) "ой у нас еще шаблоны в .rtf (.html, .xls, .ppt, ...)"
 и допустим надо еще в pdf после заполнения конвертировать-сохранить и только в MS Office оно правильно делается, во всех прочих обрезает/кривит | |||
| 20
    
        Кирпич 15.03.25✎ 16:29 | 
        (19) В (0) же написано, что docx
 не выдумывай проблемы, где их нет | |||
| 21
    
        mikecool 16.03.25✎ 14:57 | 
        (5) прочитал как "для печали", прослезился....     | |||
| 22
    
        mikecool 16.03.25✎ 14:59 | 
        делаю все печатные формы в mxl, и вам советую - никаких проблем.     | |||
| 23
    
        novichok79 16.03.25✎ 16:27 | 
        (12) чет не заметил шо оно платное.
 в https://github.com/Garykom/gotenberg_msoffice/blob/main/convert.go все равно OLE. | |||
| 24
    
        novichok79 16.03.25✎ 20:13 | 
        (13) изврат.
 Go - сложное? 25 keywords???!!! | |||
| 25
    
        Волшебник 17.03.25✎ 10:10 | 
        (24)+ С одной стороны, это правда.       С другой стороны, язык Go является полным по Тьюрингу со всеми вытекающими. То есть на нём можно реализовать любую вычислимую функцию, а сложность программы может превысить возможности одного человеческого мозга. https://go.dev/ref/spec | |||
| 26
    
        novichok79 17.03.25✎ 10:11 | 
        (25) Что ж, такова жизнь.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |