Из-за известных всем причин сейчас очень важным стал вопрос импортозамещения западного ПО во всех сферах деятельности, включая деятельность бизнеса. Не в последнюю очередь это касается и программного обеспечения, которым пользуются в наше время практически все - от школьников до пенсионеров, включая, конечно, и сотрудников госструктур и бизнеса, от малого до крупного.

Сегодня речь пойдет об офисных программах. Мы настолько привыкли за много лет работать в известных всем офисных программах фирмы Microsoft, что теперь, когда с лицензионными закупками их ПО, особенно для государства и бизнеса, стало, мягко говоря, «всё плохо», с привычным комфортом офисной работы на привычных «инструментах», можно, казалось бы, попрощаться.

Не всё так печально, если речь идёт о «простом» использовании офисных пакетов, таком как заполнение вручную «стандартных» документов и табличек. Тут отечественное ПО, призванное заместить собой творение «Монстра из Рэдмонда», вполне себе справляется, и даже почти без проблем открывает документы, созданные ранее в MS Office.

А вот в вопросах, касаемых автоматизации ручных процессов, всё не так уж хорошо. Поскольку, чего тут скрывать, большинство нашего офисного ПО — это просто локализованные ответвления зарубежных проектов свободного ПО, и автоматизация в них обычно достаётся по наследству.

Степень доступной автоматизации сильно рознится, но данная статья не о сравнительном анализе возможностей нашего отечественно офисного ПО, а о нашем исследовании возможности повторения функционала из нашей разработки  —  расширения (addon) для «MS Excel» in2sql, в офисном пакете «Р7-Офис» от фирмы «АО «Р7».

Не откроем тайну, если скажем, что данный пакет является ответвлением от довольно популярного свободного решения “ONLYOFFICE” с хорошими возможностями офисного пакета, в который входят решения для персонального компьютера на разных операционных системах, а также мобильные, и облачные решения.

К тому же есть ещё и серверное решение, которое позволяет работать централизовано и коллективно над документами, хранящимися на локальной или облачной серверной платформе. К большим плюсам именно данной платформы «Р7» можно отнести хороший перевод документации, в том числе и по API - для удалённого доступа к приложениям и для автоматизации внутри самих приложений.

Решение для последнего, было создано на базе, к которой в итоге перешли даже в самой Microsoft, а именно – на JavaScript. В принципе, степень проработки API хороша, и позволяет делать с документом почти всё, что можно сделать в нём вручную. Есть, разумеется, и нюансы, которые хотелось бы иметь при решении вопросов автоматизации, таких как доступ в область меню основной программы для упрощения и комфорта работы пользователя со сторонними решениями (плагинами, так как addon-ов, просто не предусмотрено ни в Р7, ни в ONLYOFFICE).

Но, в остальном, возможностей открывается достаточно, чтобы попробовать реализовать некоторый функционал из упомянутого выше расширения  in2sql. Для тех, кто ещё не в курсе - данный аддон призван решать интересную и весьма полезную возможность - он интегрирует в «Exсel» инструменты для удалённого доступа к БД и импорту данных из таблиц БД сразу в таблицу Excel путем SQL-запросов. Но этим возможности данного инструмента не ограничиваются, и те, кому он интересен, могут вкратце ознакомиться с ним в цикле статей, посвящённых ему.

Для проверки возможностей «Редактора таблиц Р7-Офис» был выбран пробный вариант из пакета «Для дома». Поскольку проще пробовать в одной среде, скачивался вариант для MS Windows и устанавливался на 10 версию. Для тестирования была взята базовая задача искомой надстройки – получение данных из облачной БД, в качестве которой использовалась развернутая в AWS пробная версия СУБД CLICKHOUSE.

Процесс создания плагинов достаточно прост и весьма подробно описан в руководстве на сайте для разработчиков. Опять же, стоит отметить , что если хочется получить более внятную инструкцию, то проще идти на  материнскую площадку к ONLYOFFICE. Там всё более грамотно разложено, хотя и большинство информации придётся читать на английском языке. Сами плагины могут быть разного типа, и, что очень обрадовало, с возможностью интеграции окна в окно самого редактора. Это весьма удобно для работы в ряде случаев (таких как наш), в отличие от отдельных окон-форм (не важно, модальных или нет).

Сам плагин представляет собой HTML страничку, в которой интегрируется запрограммированное API для плагинов, есть возможность добавлять множество сторонних скриптов (и целых библиотек), коих на JS написано очень много. С одной стороны, это существенно упрощает разработку, так как можно использовать множество редакторов, например, тот же Microsoft VS Code. С другой стороны, отсутствие интегрированной среды разработки приводит к существенным неудобствам, так как нет ни визуальных средств проектирования форм, ни, что более важно, нет встроенного в среду разработки автодополнения при наборе кода, которое позволяет существенно снизить ошибки при написании. Как следствие, скорость разработки из-за постоянного копания в вэб-справочниках на сайте разработчиков, существенно снижается, особенно на ранних стадиях. И такой проблемой, надо заметить, страдает практически всё свободной офисное ПО, а как следствие – и основанное на нём отечественное.

Для написания простейшего варианта плагина, достаточно 3 файлов:

  1. собственно HTML странички index.html, которая будет отображаться внутри редактора

  2. скрипта на JavaScript, который включает в себя саму алгоритмическую логику плагина

  3. файл настроек в формате JSON  - config.json, по которому офисное приложение понимает: «что за плагин, как он должен быть использован при вызове? И т.д.». Настроек там возможно довольно много и все они определяют функциональные возможности создаваемого плагина.

Кстати, на GitHub ONLYOFFICE, есть большой раздел с готовыми примерами плагинов самых разных направленностей, эти примеры могут существенно помочь в начале своей разработки.

Весь процесс создания и отладки тестового плагина описывать
не будем, так как особого практического смысла он пока не имеет и создан
исключительно для проверки гипотезы о применимости отечественного ПО для
решения описанной выше задачи. Отметим лишь, что создание его было несложным, и
заняло у малоопытного в вопросах JavaScript программиста пару дней. 

Функционал простой. Есть некая облачная база данных, и в ней нам известна таблица,
из которой мы хотим получить определенное число записей, и в случае успеха все
эти записи нужно отобразить в таблице открытой в Р7. Вот как это выглядит на практике:

Сам запрос пока не редактируется, а просто формируется в теле функции запроса. Но можно выбрать тип ответа от ClickHouse (RAW – сырой, без форматирования, CSV – с разделением полей через запятую, и самый полезный и продвинутый – JSON, который позволяет помимо самого ответа с данными, получать и форматы ответа, и даже статистику по запросу). Также можно указывать и число запрашиваемых записей. Ну а внизу собственно кнопка «Запрос», по нажатию на которую, в случае успешного запроса, мы получаем заполненную таблицу:

А в случае ошибки выводится пояснительная запись о ней в поле самого плагина:

Какие выводы можно сделать из данного эксперимента? Прежде всего, что в первом приближении пакет Р7 вполне себе способен использоваться для решения достаточно серьёзных бизнес-задач, так как при тестировании он без проблем заполнял данные на всё количество записей, имевшихся в запрашиваемой таблице (16384 записи):

И занял этот запрос с последующим заполнением около 1 минуты,

В том числе радует, что есть возможность интеграции плагина внутри формы самого окна. Есть возможность за счёт чудес современного JS делать формы с большим числом достаточно удобных элементов оформления (различные tab-вкладки, иерархические меню, встроенные таблицы  и т.д.). Опять же, за счёт использования JS, есть возможность широко использовать современные фреймворки для решения разного рода аналитических задач с получаемыми данными, которые не предусмотрены в рамках самого офисного API, с последующей выдачей уже готовой аналитики в виде таблиц (в том числе и сводных), различных диаграмм и т.п, что вполне себе неплохо представлено в рамках самого пакета Р7.

Естественно, есть и минусы. Или, скорее, недочёты, которые вполне могут при желании исправить разработчики. Часть из них мы уже описали выше. К ним можно добавить ещё много предложений, но пока речь не о том. Главное – система Р7 вполне себе живая, а значит на ней можно решать достаточно серьезные бизнес задачи И для нас это означает, что фронт задач нашей команды расширяется и на отечественное офисное ПО.

Комментарии (17)


  1. gpaw
    15.08.2023 23:30
    +2

    нет, простите, но нет. это какой-то нелепый тест, который показывает непонятно что.
    поясню. для 99% пользователей - нужен просто редактор текста, где то что видишь = то что печатаешь. wysiwyg с печатью. эксель - то же самое, только в сторону простой бд.
    по факту - лучшее программное обеспечение тут - то, которое обеспечивая совместимость банально удобно и не жрет ресурсы. всё.


    1. Hardcoin
      15.08.2023 23:30

      А при чем тут 99% пользователей? Решается весьма специфичный кейс - использование clickhouse из экселя.

      Сам текст, конечно, написан нелепо, но задача явно не для "обычного пользователя".


      1. gpaw
        15.08.2023 23:30
        -1

        тогда это - максимальное несоответствие заголовка и содержания. clickhouse тут за уши притянут.


        1. starfair
          15.08.2023 23:30
          +1

          Вы внимательно почитайте, о целях данного исследования:

          Степень доступной автоматизации сильно рознится, но данная статья не о сравнительном анализе возможностей нашего отечественно офисного ПО, а о нашем исследовании возможности повторения функционала из нашей разработки  —  расширения (addon) для «MS Excel» in2sql, в офисном пакете «Р7-Офис» от фирмы «АО «Р7».

          Clickhouse просто разворачивается в облаке, и ничем не лучше и не хуже любой другой облачной СУБД. Если бы было использовано Postgrees, он тоже бы "за уши" был притянут?! Надо было проверить, тянет ли другой офисный пакет данные из облачно СУБД - проверили, тянет. Вот и смысл данного исследования - проверить отечественное ПО на пригодность для возможностей серьёзной бизнес-аналитики, а не только как печатной машинки.
          В добавок ко всему, возможности отечественных офисных пакетов в области именно автоматизации освещены очень мало. В том числе и на Хабре. Проведите своё исследование и дайте его народу. Все будут только "за", и я вас первый проплюсую за такое исследование


    1. EvgeniyRasyuk Автор
      15.08.2023 23:30

      Уверен , что для 99 % пользователей вы правы, но для оставшегося 1% , а с несколькоих миллиардов это несколько десятков миллионов , нужно чуть больше


      1. iig
        15.08.2023 23:30

        с несколькоих миллиардов

        Вы записали все население планеты, включая младенцев, в офисные работники? Думаю, 3 нуля можно спокойно отбросить ;)


  1. apevzner
    15.08.2023 23:30
    +1

    Я вот, например - инвалид умственного труда. Для меня Word непостижим. Это что-то из области управление звездолётом (но трудно понять, почему изготовление бумажки должно по сложности напоминать управление звездолётом).

    Изобретение Markdown было для меня, можно сказать, прорывом в сторону изготовления красивых бумажек

    Интересно, а можно ли в области электронных таблиц изобрести что-то, по простоте, очевидности и удобству напоминающее Markdown?


    1. starfair
      15.08.2023 23:30
      +2

      Это вопрос просто вашей личной мотивации. Я в своё время, когда был ещё молод и зелен, так же не понимал зачем такой сложный "Word" сделали? Пока не прочёл книгу-учебник, где сами разработчики ворда описывали логику , которую они закладывали в свою программу. И оказалоcь, что режим WYSIWYG (What You See Is What You Get, «что видишь, то и получишь»), это вовсе не основной для текстового редактора (хотя правильно он текстовый процессор)! Для набора есть режим структуры или вообще - черновой, когда форматирование на листе не показывается, а идёт просто набор текста. А форматирование стоит делать, когда текст набран и вычитан, и только потом стоит начинать делать именно вёрстку документа в тот вид, как он будет распечатан. Когда я своим "тёткам" в министерстве показал как это работает, то даже в глубоком предпенсионном возрасте "мадамы" (а дело было в конце 90-х ещё), вполне себе поняли о чем речь, хотя до этого ни в какую не желали перебираться в Word из полюбившегося им Lexicon(если конечно понимаете, о чем я). Такая же история была и с Excel. Это вы видимо с SuperCalc не сталкивались! Вот уж где действительно всё не так, как в жизни!
      Просто любой инструмент, даже ложку с вилкой, надо осваивать. А значит потратить время и немного усидчивости проявить, чтобы понять как он работает правильно! И тогда будет как в том советском ещё мультике: "Лучше один день потратить и научиться, чтобы потом за 5 минут долететь!"


    1. economist75
      15.08.2023 23:30

      Для электронных таблиц OpenOffice|LibreOffice Calc маркдаун существует больше 20 лет:
      Сервис - Параметры автозамены - Параметры - Флаг

      Применять *жирный*, /курсив/, ~зачеркивание~, _подчеркивание_


    1. Kanut
      15.08.2023 23:30

      csv? :)


  1. economist75
    15.08.2023 23:30

    Искать замену MS Excel (самому популярному бизнес-ПО в мире) нужно везде и с большим усердием.

    МСБ (малый и средний бизнес) в РФ с 2008 г. достаточно дружно и массово стал переходить на свободные OpenOffice|LibreOffice, а сейчас импортозамещается на сабж и МойОфис и в целом этот процесс, если его не сильно торопить, пройдет гладко. Не будет никакого массового "распила", сопоставимого с прошлым, будут лишь мелкие локальные перерасходы и косвенно оплаченные ангажементы/агрименты, а значит в целом мир станет все-таки лучше.

    Сам таблично-текстовый функционал всех "офисов", включая web-версии, +/- одинаков. Основные различия - это автоматизация офисных документов, интеграция с другими ИС и "груз старого кода", которого, при всем уважении к новичкам (сабж и МойОфис) - у них просто нет, а с первым и вторым процесс идет трудно, но идет.

    На 1 тыс. работников МСБ приходится в среднем 10 тыс. нормальных (на макро-рекорденных) строк VBA-макросов, и они обслуживают довольно чувствительные участки: управленческий учет и бюджетирование, секретные надбавки и модели ценообразования, непубличные внутрифирменные зачеты итд. На VBA держится большой пласт экономики, аналитики, бизнес-логики, есичо. И говорить что MSO вреден,что его CVS и АНБ виноваты в эпических фейлах типа 40 уголовных дел по космодрому "В" - смешно.

    Если смотреть объективно, то в деле автоматизации, интеграции и поддержки старого VBA-кода лидером из не-MSO-офисов является OpenOffice|LibreOffice. Именно с ним идет сейчас конкуренция у новых "офисов" и есть надежда что она их все улучшит. Главное чтобы пользователи не были лишены возможности использовать свободный софт наряду с платным, особенно в тех техоперациях, где он сильнее.

    Например, в OpenOffice|LibreOffice получение данных их любых современных БД по почти всем основным технологиям ODBC/JDBC/ADO/SQL/ClickHouse/Spark/Arrow/Pandas итд - реализовано проще, чем где бы то ни было, по нажатию Ctrl+Shift+F4. Вы просто открываете браузер данных (витрину, если хотите) и перетаскиваете таблицу, запрос, view, запись/строку, ячейку в вашу служебку, таблицу, презентацию, рисунок - и всё: готов документы или "рассылка" по набору строк (если вы тянули поле - можно выбрать что именно вы вставите - связь или значение). Ничего подобного по простоте ни MSO, ни сабж и Мой Офис пока не предоставляют.

    Большинство IT-специалистов упорно замалчивают (не знают, не используют, не дают использовать) столь простую и глубокую интеграции любых промышленных данных с OpenOffice|LibreOffice. Причину этого загадочного явления угадайте сами (подсказка: она дурно пахнет).


    1. starfair
      15.08.2023 23:30

      Сам плотно OpenOffice|LibreOffice пока не занимался (именно в вопросах автоматизации), но в свое время, пока я работал на госслужбе сталкивался с онными пакетами по вопросам ещё тогда начинавшегося перехода с дорогих офисов от MS на "бесплатные". А поскольку тогда особых альтернатив не было, ставили именно OpenOffice. Основная проблема тогда была даже не в отсутствии поддержки макросов от Exсel, и не в странной логике расположения инструментов, мало чем напоминавшую привычную по MS Office (наследие логики пришедшей из Linux), а постоянно разъезжавшаяся разметка в документах и падения таблиц по любому чиху. Что естественно мало кому нравилось.
      Надеюсь, что сейчас всё намного в более приличном состоянии, но как вы верно подметили, там есть моменты, которые просто сведут плюсы на нет. А именно туда надо кому то впиливать поддержку тех же отечественных криптопротоколов и т.п. "мелочи". А как только кто то берётся за такие доработки, то свободное ПО сразу становится и несвободным (причем куда дороже порой), да ещё и с тех.поддержкой проблема, так как почему то начинает срабатывать принцип: " и так сойдёт!". Но, как есть, так есть. Работаем с тем что нам предлагают, а не с тем, на чём нам хотелось бы.


      1. economist75
        15.08.2023 23:30

        "Ручное" форматирование, сделанное пробелами 5-ти разных типов, табуляцией и ручными отступами/выступами/заступами на уровне каждого абзаца, с добавлением оголтелой форматированной копипасты с HTML-тегами и из всевозможных Гарант/Консультант с кастомными шрифтами, при открытии такого файла в другом офисном пакете (и в том же MSO, но другой версии), конечно же, 100% неизбежно "поедет", что не должно удивлять IT-шников и опытных пользователей ПК. В остальном OpenOffice|LibreOffice почти так же стабильны и так же функциональны с эталонным MSO. Если копать глубже (PowerQuery итд) - то и тут паритет: Python+Pandas+JupyterLab работают на встроенном в LibreOffice языке Python, после небольшого квеста с копированием пакетов и возвратом pip.

        Это же касается и использования "протухших" форматов типа RTF именно на таких файлах и форматах IT-шники госкомпаний из Top-100, судя по конкурсной документации, намеренно и демонстративно тестируют свободные офисы OpenOffice|LibreOffice перед уже принятым решением купить MSO, и это, повторюсь, плохо пахнет.

        Базовая поддержка отечественных криптопротоколов типа Кузнечика в свободных офисах имеется, если не на уровне родного формата, то в формате PDF, если не прямая, то (свободным) расширением. Ее отсутствие не стало проблемой для нескольких федеральных служб, но чаще всего звучит как стоп-фактор от госкомпаний и новых игроков. И айтишники опять в деле (точнее не при делах, они обоснуют любое решение их CIO).

        Причем все они (и айтишники, и их CIO) понимают: те самые "великие доработки по добавлению отечественной ЭП" легко решаются за 160 чел-часов, т.е. за 0,12 млн. руб., что для 60 тыс. госкомпаний даст средний чек расходов 2 (два) рубля 00 коп. Это "не куда дороже порой", это просто даром.

        Живых пользователей, получивших техподдержку от MS по Office я не встречал, возможно мало ездил по стране. А вот поддержку по свободным офисам, иногда за скромный донат, от разработчиков получал и не единожды.

        Например в виде привычных "русских" формул в LO Calc =СУММ/ВПР/СУММЕСЛИ итд, таких же как в русской версии MS Excel. Да, это следствие просьбы и смешного доната, доработка, занявшая у одного человека ~40 чел-часов (наверно) и которой сейчас свободно пользуются миллионы русскоязычных пользователей (~25 млн.)


        1. starfair
          15.08.2023 23:30

          "Ручное" форматирование, сделанное пробелами 5-ти разных типов, табуляцией и ручными отступами/выступами/заступами на уровне каждого абзаца, с добавлением оголтелой форматированной копипасты с HTML-тегами и из всевозможных Гарант/Консультант с кастомными шрифтами, при открытии такого файла в другом офисном пакете (и в том же MSO, но другой версии), конечно же, 100% неизбежно "поедет", что не должно удивлять IT-шников и опытных пользователей ПК. 

          В том то и суть, что для большинства пользователей MS Office, это зачастую и есть привычный стиль работы. Поэтому да, тестируют и на таком хламе. Более того, решение принимается всё равно не на счёт таких плюшек, а на счёт последующей техподдержки от вендора или разработчика. А с этим у нас было и будет плохо, ибо это всё равно через тендеры, а на следующий год выиграет разъезжий ООО"ВасяПупкин", который просто запорит в итоге эту поддержку. Поэтому бардак есть , был и будет, ибо уровень компетенции специалистовв стране крайне низкий. И увы, в лучшую сторону вряд ли изменится.

          Базовая поддержка отечественных криптопротоколов типа Кузнечика в свободных офисах имеется, если не на уровне родного формата, то в формате PDF, если не прямая, то (свободным) расширением. 

          Угу, это попробуйте доказать какому нибудь проверяющему из ФСТЭК или того хуже - ФСБ. Видимо опыта общения с такими персонажами у вас не было.

          Живых пользователей, получивших техподдержку от MS по Office я не встречал, возможно мало ездил по стране. А вот поддержку по свободным офисам, иногда за скромный донат, от разработчиков получал и не единожды.

          Считатйте что он перед вами. И от самих мелкомягких, и от вендеров - проблем не было. Кроме того лично им тикеты по ошибкам делал и вполне себе их исправляли в течении следующего пака обновления.

          Например в виде привычных "русских" формул в LO Calc =СУММ/ВПР/СУММЕСЛИ итд, таких же как в русской версии MS Excel. Да, это следствие просьбы и смешного доната, доработка, занявшая у одного человека ~40 чел-часов (наверно) и которой сейчас свободно пользуются миллионы русскоязычных пользователей (~25 млн.)

          Очень хорошо! Вот и почему бы не поделиться своим опытом?


      1. EvgeniyRasyuk Автор
        15.08.2023 23:30

        обратите внимание

        OnlyOffice


    1. EvgeniyRasyuk Автор
      15.08.2023 23:30

      OnlyOffice


  1. JerzyEx
    15.08.2023 23:30

    Помню пытался прикрутить к Seafile интеграцию OnlyOffice. Так и не завелось. Даже просто один контейнер по инструкции с офсайта не работал. Welcome открывался, а example документы создавал, но не мог их открыть. Плюнул я на это дело, редактирую файлы локально