image Добрый день.

Мы опубликовали систему управления предприятием Papyrus в исходных кодах под именем OpenPapyrus. Проект так же опубликован на сервере sourceforge.

Технические аспекты я распишу в отдельной статье, а здесь кратко расскажу о том, что такое OpenPapyrus и почему эта система стоит того, чтобы с ней ознакомиться и начать ее использовать.
OpenPapyrus — инфраструктурная система для управления бизнесом, над которой мы работаем более 20 лет (с 1996 года), развив в ней обширный функционал для управления бизнесом в широком наборе сегментов.

До текущего момента мы продавали систему Papyrus только как проприетарный продукт. В дальнейшем мы будем развивать одновременно оба продукта — проприетарный и открытый (тем более, что это — почти одно и то же).

Мы считаем (Open)Papyrus одной из лучших систем такого класса на российском рынке. Утверждение, конечно, сильное и субъективное, но теперь, когда все карты на столе все исходные коды в github'е, оно может быть проверено кем угодно.

Вот, возможно не полный, список сегментов бизнеса, в которых OpenPapyrus превосходно работает:

  • Розничная торговля
  • Аптеки
  • Оптовая торговля
  • Кафе и рестораны
  • Салоны красоты
  • Фитнес клубы и спортивные центры
  • Небольшое производство

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

Очень тезисная колонка функциональных блоков такова:

  • Бухгалтерский учет
  • Управление закупками
  • Управление продажами
  • Управление расчетами с контрагентами
  • Управление розничными продажами
  • Point-of-sale
  • Управление производством
  • Управление персональными событиями
  • Управление проектами и задачами
  • Инфраструктурный функционал

Будет, вероятно, уместным обратить внимание, что у нас есть решение для мобильных торговых агентов (StyloAgent), мобильный официант для ресторанов (StyloWaiter) и модуль для терминалов сбора данных (BHT). Эти продукты мы пока в открытый доступ не выкладываем, но не потому, что жалко, а из-за технических препятствий.

Система разрабатывается и развивается в соответствии с несколькими не сложными принципами, которые, в основном, и определяют ее облик:

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

  • Максимальная унификация. Жаль, что термин «принцип Оккама» измотали применением к месту и не к месту, а то бы он здесь подошел. Но в общем, идея та же: если некая сущность может быть отражена в системе одни раз и затем повторно использоваться, то незачем ее и множить.
    Простой пример: персоналии, как субъекты гражданского права, представлены одноименным объектом данных, а не набором «покупатели», «поставщики», «физики», «юрики» и т.д. Вопрос классификации при использовании — техническая проблема.

    Аналогично, понятия «склад», «адрес», «складская ячейка» и «подразделение организации» все представляются через единый функциональный объект «локация».

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

  • Примат снижения себестоимости поддержки. Выражаясь русским языком: если два и более клиента обратились по одному поводу, то дешевле что-то поменять в системе, чем отвечать на такие же обращения в будущем.

  • Устранение дефектов имеет максимальный приоритет перед всеми остальными проблемами и выполняется без каких либо условий. С этим все более или менее понятно. Очевидно, этот принцип туго связан с предыдущим.

Учитывая возраст системы и то, что некоторые компании используют ее по 10-20 лет, можно предположить, что эти принципы работают. У них есть и побочный эффект: система в конце концов оказалась весьма не очевидной в настройке, что, однако, перекрывается простотой использования для конечных пользователей.

Функциональных отличий между Papyrus и OpenPapyrus нет. Мы, правда, пока не до конца понимаем как будут уживаться оба этих варианта с маркетинговой точки зрения.
Поддержка остается платной, но мы очень рассчитываем на то, что будет достаточно людей и компаний, которые сами смогут разобраться что и как, и, того паче, смогут продавать свои консультационные услуги другим компаниям.

Инструкции по установке есть и на github'е и на sourceforge. Инсталляция для ознакомления очень простая. Инструкций по сборке из исходных кодов пока нет, но клон исходных кодов точно собирается — мы это тщательно проверили.
Документация (большая, но все равно, не полная) есть там же.

Перед тем, как закруглиться, приведу пару любопытных фактов:

  • Papyrus умеет управлять web-контентом. Мы эту feature не позиционируем как тиражируемую, но содержанием сайта компании Петроглиф и сайтом Universe-HTT (там, например, есть один из лучших справочников штрихкодов в сети) управляет сервер Papyrus, накрытый обвязками из Java из т.д.

  • Протокол версий Papyrus ведется с самого его рождения. В удобоваримом виде он доступен на сайте компании Петроглиф. Конвертация в html осуществляется автоматически тем же самым Papyrus'ом. В релизах на github мы даем соответствующую ссылку.

Ну и напоследок. Ради чего? Основная причина — экзистенциальная: стоит поделиться тем, что делали 20 с лишним лет, с остальным миром, тем более, что мы сами пользуемся результатами работы open source-сообщества. Остальные причины мелкие и скучные — вы и сами о них знаете.
Поделиться с друзьями
-->

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


  1. cry_san
    27.02.2017 09:41
    +1

    Ребята конечно молодцы!

    P.S.
    Наймите дизайнера.


  1. caballero
    27.02.2017 12:49

    Охотно верю что система хорошая. Но лично я не стал бы сопровождать и развивать такого размера проект на Си, код которого начал писаться 20 лет назад.
    Впрочем как автор наколенной поделки учетной системы, написанной на PHP, могу быть необъективен.


  1. Emelian
    27.02.2017 15:11

    Я уже закачиваю вашу систему, буду разбираться. В слепую, пока несколько вопросов:

    1. Вы ни разу ни упомянули 1С. Как ваша система с ней соотносится, или вообще не пересекается никаким боком?

    2. Какой движок БД используется? Думаю, что что-то из sql-серверов только. Это так?

    3. Еще не видел вашей системы, но почему-то уверен, что в ее справочниках (в терминах 1С) нет поддержки групп на уровне интерфейса, разве что непосредственный sql отбор / фильтрация и т.п. Это так?


    1. antonsobolev
      27.02.2017 15:19

      Здравствуйте.
      1. OpenPapyrus с 1С никак не соотносится. На уровне маркетинга — почти чистая конкуренция с решениями на платформе 1С. Исключение составляют случаи, когда предприятия используют 1с только для бухучета — в этом случае OpenPapyrus обеспечивает хорошие инструменты для экспорта и импорта данных.
      2. Движок БД nosql: Pervasive SQL (только низкоуровневый доступ, ранее называвшийся btrieve)
      3. Насчет «групп на уровне интерфейса» не понял (я не разбираюсь в 1С).


      1. Emelian
        27.02.2017 15:36

        1. Народ привык к 1С, хотя часто критикует его. Поэтому какая-то логическая совместимость должна быть. Сильные вещи в 1С – конфигуратор (позволяющий разрабатывать пользовательские бизнес-решения) и поддержка иерархической группировки (грубо говоря, деревья с таблицами вместо листьев) в таблицах (справочниках). Откровенно говоря, если бы вы реализовали «семерку» (1С77) один в один и выложили бы ее код, до она сразу бы обрела популярность и стала бы конкурентом «восьмерки» (1С8х), по словам ее отца-основателя – Бориса Нуралиева.

        2. А почему файл-серверные СУБД вам не нравятся?

        3. Это похоже на поддержку файловой системы в Total Commander либо Windows-Explorer.


        1. antonsobolev
          27.02.2017 16:00

          1. У OpenPapyrus идеология иная — это готовый продукт. Мы понимаем, что многим нравится иметь возможность самостоятельно заточить готовое решение по примеру конфигураций в 1С. Собственно, одна из причин публикации opensource-варианта — дать возможность специалистам почувствовать независимость от оригинальных разработчиков. С другой стороны, такие решения очень сложны, и мы отдаем себе отчет в том, что дорога будет долгой.
          2. Скорость работы в многопользовательской среде сильно снижается. В зависимости от того, как пойдет с open-вариантом papyrus'а, мы планируем организовать поддержку других СУБД.
          3. Понял. Товарные группы, склады и многие иные объекты иерархические.


          1. Emelian
            27.02.2017 18:28

            1. Да, готовый продукт в исходниках на 400 МБ это очень сложно. Тем более, что судя по позиционированию бизнес решений в области: «Розничная торговля», «Аптеки», «Кафе и рестораны», «Салоны красоты», «Фитнес клубы и спортивные центры», «Небольшое производство», речь идет о, в терминах 1С77, «малых и средних предприятиях». Если, скажем, воспользоваться Qt, то аналогичные исходники будут, наверняка, в несколько десятков раз меньше. Что, теоретически, уже будет под силу наваять одному человеку. Главное правильно выбрать концепцию разработки.

            2. А вот с этим можно поспорить. Та же «семерка» в бинарниках весит всего 10-15 МБ. Это позволяет на стареньком сервере с двумя гектарами памяти спокойно держать в терминалке на гигабитной сети 25-30 человек, а с ОЗУ 4Гб – до 50 человек одновременно. В этом смысле распределенные приложения на «семерке» часто выигрывают по производительности и особенно в стоимости с аналогичными решениями на «восьмерке», которая, позволяет одновременно обслуживать до 500 пользователей и выше, вопрос только какой ценой.

            «Семерка» реализована на примитивнейшей СУБД на базе DBase-IV и позволяет, благодаря всяким разным пользовательским внешним компонентам, достигать приемлемой производительности. Уверен, что она еще просуществует минимум 20-30 лет, хотя ее поддержка официально прекращена в 2006 году.

            Я уверен, что файл-серверные СУБД вполне могут конкурировать с клиент-серверными по соотношению цена – производительность, их просто искусственно принуждают забыть, новое поколение программистов знакомо с файловыми СУБД только на уровне мифов. Вот технология Rushmore в Visual FoxPro, до сих пор никем не превзойдена, но VFP благополучно сливается самим M$, потому, что это слишком дешевая и эффективная система. Не зря в мире широко используются опен-сорсные аналоги вроде xHarbour и др., хотя им до VFP, как Киеву до безвиза.

            А «скоростью работы в многопользовательской среде» вполне можно управлять концептуально правильно написанным кодом.

            3. Группы в справочниках (по аналогии с каталогами, папками и файлами) это реально круто. Это сильно упрощает бизнес-логику. Также очень удобен в «семерке» быстрый поиск (перемещение по первым символом набора), вполне хорош также отбор в справочниках. И много чего хорошего и удобного по мелочам, а все ляпы фирмы 1С легко лечатся поддержкой внешних компонент, которые способны залезать (недокументированная возможность!) в самое нутро 1С.

            В итоге, в 1С можно делать чудеса, при прямых руках, даже при отсутствии их исходников :).


            1. Dementor
              28.02.2017 21:43

              С FoxPro все не совсем так было. Технологию Rushmore изобрели еще во времена FoxSoftware и до покупки данной СУБД мелкомягкими, которые переименовали данный продукт в VFP.

              Зачем купили, если у них уже был Access для мелочей и MsSQL для крупных проектов? Вероятно исключительно для того, что бы вытянуть все ноу-хау и убить конкурента. В 2007 они заявили, что закрывают этот проект. Но еще в 2005, когда я писал диплом и мне нужно было знать стоимости фокспрошной лицензий для экономического обоснования моей программы, то в микрософтовском офисе мне не смогли дать ответа — сказали, что они ее уже не продают.


              1. Emelian
                01.03.2017 07:18

                Да, я знаю, что Rushmore изобрели не в M$, но по факту она актуальна только для VFP. Что самое смешное, никто наверняка не знает, что это за зверь. Некоторые предполагают, что она как-то очень эффективно использует матрицу индексов. Известно, что эта технология демонстрирует очень высокую производительность в запросах VFP. Думаю, что не сильно ошибусь, предположив, что целью мелкософта была именно Rushmore. Выкупив эту технологию, они в итоге убрали ее подальше, как дешевую альтернативу их sql-монстрам. Даже Access не покрывает всех возможностей и удобств VFP. Достаточно сравнить их популярность.

                Относительно лицензии на Visual FoxPro, недавно эта тема подымалась на тематическом форуме sql.ru. И вроде удалось найти удовлетворительное решение.

                Сейчас актуально использование runtime-библиотек VFP в c++ проектах. Причем можно даже обойтись без OLE и COM, подключившись к его dll-кам напрямую. Далее уже возможны варианты. Либо использовать VFP как DDE-сервер, либо как псевдо-COM контейнер (без регистрации в реестре).


    1. 4dmonster
      27.02.2017 15:21

      Я прочитал только то, что по ссылкам из статьи:
      1. Вероятно возможен экспорт через XML
      2. Pervasive SQL
      3. Группы товаров — «иерархические с произвольной вложенностью»


      1. antonsobolev
        27.02.2017 15:24

        Да. Все верно. Экспорт/импорт в разных форматах (dbf, text, xml, excel). Для сложных случаев есть COM-интерфейсы.


  1. bormotov
    27.02.2017 15:25

    но почему SourceForge?!


    1. antonsobolev
      27.02.2017 15:27
      +1

      Популярный ресурс, умеющий автоматом импортировать релизы с github. Почему бы и нет?


      1. bormotov
        27.02.2017 15:45
        +1

        По крайней мере в моём мире и мире вокруг меня, популярность sf закончилась где-то в начале 2000-ых.
        С появлением github так практически совсем завершилась. По после недавних (года два уже или три?) скандалов вокруг неадекватных решений его владельцев, так вообще очень странно его хотя-бы для чего-то использовать. Вторым ресурсом в комплект к github, кажется логичнее использовать bitbucket.


        1. antonsobolev
          27.02.2017 15:47

          Спасибо. Я, к своему стыду, про bitbucket впервые слышу — теперь буду знать.


          1. Areso
            28.02.2017 08:37

            Посмотрите еще GitLab, как вариант.


  1. se80
    27.02.2017 15:27

    хотел-бы я глянуть на консультанта, готового инвестировать свое время в изучение папируса :)


    1. antonsobolev
      27.02.2017 15:28

      Такие уже есть и давно. Другое дело, что их не много.


  1. RusMikle
    27.02.2017 15:33

    гдето реально можно посмотреть как это всё работает? (видео может какое итп).
    Ещё интересно насколько такая система подходит для реселлера находящегося между поставщиками и оптовыми покупателями. Причём работающего по двум схемам: оптовики напрямую работают с поставщиками а реселлер только менеджит организует и менеджит заказы и рынок и второй когда оптовики полностью завязаны на реселлера т.е. реселлер организует выставки и продажу на них оптовых партий товара далее выставляет счета оптовикам и имеет с этого процент с покупок. Своего склада нет, но поставки со складов производителей управляются и мониторятся через различные логистические фирмы. В редки случаях склад может появиться если товар сначала закупает реселлер а потом продаёт клиентам. Есть отслеживание тована на складах у логистиков. Итп. в настоящий момент всё это крутится на довольно монстериозном софте писанном несколькими поколениями спецов и самоучек со всеми вытекающими. Не срочно но рассматриваются возможности соскочить на что то более менее подходявое с открытым кодом. Спасибо.


    1. antonsobolev
      27.02.2017 15:45

      Видео-ролики на сайте есть (правда с некоторыми какие-то проблемы были). Иной вопрос, можно ли там увидеть то, что непосредственно требуется. По прямым запросам мы обычно удаленные презентации устраиваем.
      Что касается вопроса про реселлера: на первый взгляд OpenPapyrus здесь хорошо подходит: работа с заказами, платежами, расчетом комиссионных и т.д. хорошо отлажена, но наверняка конкретно у вас есть множество собственных нюансов, потому буду осторожен.


  1. egordeev
    27.02.2017 16:28

    а можете добавить файл лицензии LICENSE в корень github-репозитория? Под какой лицензией распространяете этот проект?


    1. antonsobolev
      27.02.2017 16:34

      Спасибо за напоминание — мы знаем, что не проработали этот вопрос, в ближайшее время решим.
      Пока считаем, что лицензия GPL.


      1. egordeev
        27.02.2017 16:36

        спасибо, а не планируете переносить этот проект на Qt?


        1. antonsobolev
          27.02.2017 16:39

          На Qt — нет. Такой большой проект очень тяжело перенести на что-то вроде Qt.
          Портироваться на linux — да, планируем.


  1. se80
    27.02.2017 16:42
    +1

    у меня впечатление что вы 20 лет назад начали копировать что-то уже тогда устаревшее. какой смысл писать standalone erp систему под windows!!! на плюсах в 2017 году?
    бизнес процессы меняются, входные/выходные формы меняются. честно говоря сложно сказать что не меняется, и это было понятно еще 20 лет назад — вы предлагаете пересобирать систему при каждом апдейте?

    я так понимаю ваша ниша — это малый бизнес, но его уводят в облака — ибо денег на свои сервера и своих консультантов/программистов нет, суть малого бизнеса — экономить на всем, даже 1с туда движется, особенно сильна это тенденция в связи с нововведениями в фз-54.

    ps это имхо человека, последние 10 лет внедряющего sap.


    1. Dementor
      28.02.2017 22:00

      суть малого бизнеса — экономить на всем, даже 1с туда движется

      Это вы верно подметили. Не знаю ситуацию в России, но в Украине для ФОПов компания 1С раздает учетную систему «1С: Управление небольшой фирмой для Украины. Микро» абсолютно бесплатно и при этом там есть возможности и интеграции с веб-сайтами (в первую очередь с родным пулом 1C-UMI), с торговым оборудованием, с мобильным приложением, сервисом сдачи бухгалтерской отчетности и так далее.

      Продукты 1С — не идеальны, так как иначе не было бы ни этого Папируса, ни Галактики, ни прочих вариантов. Но думаю, что в конце-концов 1С всех задавит демпингом и количеством специалистов. К примеру, в Киеве еще с середины нулевых 1С-Бухгалтерию преподавали в некоторых ВУЗах бухгалтерам и экономистам, а сейчас вероятно это стало обязательным для всех техникумов страны. А в каких ВУЗах СНГ учат работе в Папирусе, Галактике или в том же SAP R/3?


  1. DmitrySokolov
    27.02.2017 18:49

    Название не особо удачное вы выбрали, будут путать с этим — https://eclipse.org/papyrus/.