Прочитал недавно статью про альтернативу 1С, про то, что она немодульная и вообще не торт.

А причина, мне кажется, таких статей, заключается в том, что авторы либо уже давно не следят за развитием платформы 1С, либо ими движет юношеский максимализм, либо есть неудачный опят внедрения. В этой статье я попробую объяснить свою точку зрения о том, что 1С это круто и очень жизнеспособно.

Заранее извиняюсь за сумбурность, просто пишу по горячим следам.

1. Давайте сначала разделим деятельность фирмы на три большие составляющие: отчетность для руководителя, отчетность для государства и бизнес-логику


Начну с отчетности для государства. Тут я подразумеваю различные декларации типа НДС, прибыль, отчетность в ФСС и ПФР и прочее. В нашей стране законодательство достаточно часто любит менять либо форму отчета, либо формат сдачи отчетности. Тут я считаю, что 1С впереди всех. Да, бывают и косяки, но их в последнее время достаточно мало. Победа над опенсорсом заключается в том, что не каждый опенрсорсный продукт будет готов предоставлять отчетность точно в срок.

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

Бизнес-логика. Как показала практика, все зависит от того, насколько поздно пришла 1С в компанию. Честно. В далеком детстве, когда программистов 1С было мало, организация, купившая коробку с торговлей 7.7, была вынуждена работать по бизнес-логике программы, чтобы получать правильную отчетность. Это несколько дезориентировало пользователей на начальном этапе, зато переход на следующие версии прошел легко и задорно.

А вот когда дело доходит до специализированных (отраслевых) решений, то тут у 1Сников беда и печаль. Сейчас поясню причину. Фирма 1С в принципе не следит за качеством продуктов 1С-совместимо и получается, что какой то франч, придя на проект, начинает кастомизировать типовое решение под нужды проекта и потом выдает его за «отраслевое решение». Само собой, что за этим скрывается четкая бизнес-модель постановщика задачи, франчайзи никакой гибкости, присущей типовым решениям от фирмы 1С, не предоставляют. И, при попытке внедрить это решение в другом предприятии с аналогичной сферой деятельности, мы получаем поезд, который надо с помощью напильника превратить в самолет. В большинстве своем программный код ужасен и не может легко и просто быть прочитан и осознан франчами. Считаю, что именно этот момент и распугал многих потенциальных покупателей.

Уф, вроде с первым пунктом разобрались.

2. Модульность опенрсорса против 1С


Платформа 8, в отличии от платформы 7.7, позволяет создавать общие модули с разделением функционала, например модуль с функциями и процедурами для обработки расчета заработной платы и модуль для работы с документами. Обновление этих модулей идет раздельно и неудобств не составляет. Основной косяк у 1С — это командный режим работы с помощью хранилища. Захваты, откаты и прочие неудобства гарантированы. Опенсорс, лежащий в разных файлах тут побеждает. Единственное, что не стоит забывать, такой метод вполне себе работал на платформе 7.7, где в модуль можно было вставить ссылку на файл и динамически его менять( никаких перезагрузок не требовалось)

3. Кастомизация


Тут начинается смертный бой тех, кто кричит, что при любом изменении конфигурации устанешь платить деньги за обновление, и тех, кто считает эти расходы не стоящими внимания. В основном все ругаются на сложность интерфейса 1С, мол в нем много кнопок и метаний по менюшкам, а ведь создание нового интерфейса есть снятие конфы с полной поддержки и деньги за обновление. Тут, считаю, у 1Сников нет проблем, от слова СОВСЕМ. Ведь можно создать свой вариант рабочего стола в обработке и в запуске 1С указывать на эту обработку. Пользователь щекнул на ярлык 1С и при запуске получил свои документы и отчеты прямо в одном окне. Второй вариант доступен на свежих релизах 8.3 и представляет собой надстройку к конфигурации, которая хранится на компе пользователя и стартует вместе с основной конфой. Всё на поддержке, все довольны.

4. Остальное


Не стоит забывать, что 1С предоставляет именно ориентированный на бизнес-логику язык программирования и для программистов того же С выглядит дико странно. Хотя чего тут говорить, до сих пор подавляющее большинство программистов не 1Сников не понимает, как можно писать программы на русском языке. Да, местами он перегружен и без поллитра непонятен, но разработчики не зря едят свой хлеб и многие методы просто избавляют программиста 1С от рутины (срезы первых и последних, вытесненные расчеты по зарплате и так далее).

Движок 1С при работе с данными достаточно шустрый, местами страдает и требует оптимизации, но сейчас даже при больших объемах данных, пользователи не жалуются.

Выводы:

1. Если у предприятия своя логика работы, отличная от представления методистов фирмы 1С, и она не связана со сдачей регламентированной отчетности государству, то тут возможны любые решения как на базе 1С ( в силу наличия большого количества программистов), как и на любых других языках и платформах. Главное, чтобы было кому поддерживать это решение.
2. Многие критики типовых продуктов 1С сами не видели это решение и просто верят мнению старшего товарища или прочитанному в интернете.
3. Отраслевые решения и контроль за качеством кода — основная беда фирмы 1С, которая дает много негативных отзывов.

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


  1. rixaman
    08.11.2015 15:20
    +1

    Сфера бизнеса инертна.

    Негатив связан в основном от тяги к перфекционизму. В данном случае, даже если для разработчика 1С является далеко не идеальным инструментом, то для бизнесмена же это проверенный и раскрученный продукт на который можно всегда найти кадры.
    Альтернативу искать дороже.


    1. reallord
      09.11.2015 09:31
      +2

      В том то и дело. Когда вопрос заходит о том, чтобы для компании написать свою информационную систему с 0 или взять 1С и немного допилить, в большинстве случаев все решается в пользу последнего.
      Кроме того, в нормальных компаниях ИТ директор хотя бы прикидывает стоимость обсдлуживаний/сопровождения кода.
      Даже в глубинке, найти 1Сника который разберестся в коде предшественника при его уходе на порядок проще, чем найти JAVA программиста.
      А это один из ключевых факторов. Я знаю что МНОГИЕ компании только из-за того что 1Сников много, а SAPовцев мало, принимали решение о внедрении 1С.


  1. thelongrunsmoke
    08.11.2015 15:55
    +4

    Что-то, ни слова о внутреннем языке 1С. До сих пор встречаются компании сидящие на 7.5, только потому, что в прошлом веке им написали логику. Для перехода на свежие версии придется искать программиста, а на периферии 1с-программистов 1,5 человека на город.


    1. Haikson
      11.11.2015 10:10

      Проработал я в одной компании почти 10 лет. Держали там «приходящего» программиста 1C. V7.5. Над каждой задачкой он плотно анан работал неделями. И решал на 70% максимум. «Держалась» компания за него по причине, что уже не соскочить.

      Еще 3 года назад решили перенести все на 8-ку. Я уже больше года там не работаю, но когда уходил так все на 7-ке и крутилось. А все по причине быдлокода, состряпанного 1С программистами ( не путать с разработчиками 1С, хотя тут не мне судить ) по заказу бухгалтерии.


  1. solver
    08.11.2015 16:52
    +23

    Какой же бред…
    Сравнивать 1С и Опенсорс… т.е. на полном серьезе сравнивать готовую платформу и подход к разработке и дистрибьюции ПО.
    Сразу видно упоротого одинесника, который ничего кроме этой платформы не видел и считает все, что там реализовано, каким-то чудом))

    P.S. «Опенсорс, лежащий в разных файлах» и другие перлы — Это вообще пять.
    Вот такие яркие представители и создают «шикарный» имидж платформе 1С.


    1. kuld
      09.11.2015 17:13

      Не такой уж и бред, если не придираться к терминологии.
      Сравнивать конечно же надо проприетарное со свободным. Разработка на платформе 1С (если не брать в расчет всякие хитрые компоненты закрытые на ключ) с открытым исходным кодом. Открытое, но не свободное сравнивается со свободным и открытым.


      1. solver
        09.11.2015 20:03
        +4

        Бред тут не в терминологии.
        Человек просто не понимает о чем пишет. Это хорошо видно по таким перлам.
        Все в 1С есть, но оно все в кавычках.
        Например открытость. Да, бизнеслогика открыта, но платформа закрыта, а это значит что открытость условная. С таким же успехом можно говорить, что Microsoft Excel открытое ПО, т.к. формулы в нем и скрипты открыты для изменения.
        Это все маркетинговые уловки и откровенный обман.
        Или модульность. Якобы там можно делать логику в общих модулях. Ну да, для маркетинга подойдет, можно писать в брошюрах громкие слова. Но все нормальные разработчики понимают, что такое нормальная модульность. И не ведутся на эти рассказы.
        И так по всем пунктам. Кроме как бредом эти потуги назвать никак не получается. Они совершенно оторваны от реальности.


        1. DrPass
          10.11.2015 17:36
          -1

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


    1. Haikson
      11.11.2015 10:01

      Вы еще и дочитали это? Я остановился на словах:

      В этой статье я попробую объяснить свою точку зрения о том, что 1С это круто и очень жизнеспособно.
      Они мне сказали, что «ВСЁ КУПЛЕНО!» )))


  1. caballero
    08.11.2015 16:55
    +6

    Внутренний язык 1С не содержит никакой особой специфики кроме того что он на русском (хотя там по моему можно и привычные if else использовать)). Как на странно это даже не DSL. Это просто язык плюс встроенные высокоуровневые объекты (документы, справочники и пр). Причем сделанные исключительно извращенным способом, поскольку изначально хранилище было на DBF файлах, соответственно и методы этих объектов затачивались на то, что это не объект в понимании ООП а скорее псевдообьект, как результат выборки того или иного запроса.
    Русский язык там потому что наивные разрабы думали что код будут писать бухгалтера.
    Потому то любой скриптовый язык (как в упомянутой статье) плюс нормально сделанные высокоуровневые бизнес объекты ничем не хуже языка 1С, но зато программист и на периферии найдется.


    .


    1. iliabvf
      08.11.2015 17:05
      +4

      Разработчики как раз не наивные, и я знал много бухглатеров писавших в 1С, некоторые даже открыли свой бизнес.


    1. EvilBeaver
      09.11.2015 16:01

      Как на странно это даже не DSL. Это просто язык плюс встроенные высокоуровневые объекты

      Как ни странно, именно это и есть DSL. Высокоуровневые объекты, плюс операторы манипулирования терминами (объектами) DSL.


    1. kuld
      09.11.2015 17:07
      -2

      Язык может и не содержит специфики. А вот платформа и объектная модель еще как содержит. Главная специфика это быстрая разработка бизнес-приложений и избавление разработчика от низкоуровневой логики работы с СУБД, визуализацией и т.п.

      Потому то любой скриптовый язык (как в упомянутой статье) плюс нормально сделанные высокоуровневые бизнес объекты ничем не хуже языка 1С, но зато программист и на периферии найдется

      С этим частично согласен. Кстати, а есть какой-то готовый рецепт фреймворк + скриптовый язык, сравнимый по скорости разработки, по масштабируемости и по количеству готовых специалистов на рынке труда с 1С? Или это в теории?


      1. caballero
        09.11.2015 17:45

        ну предполагается что для PHP полно специалистов. Часть из них знают предметную область — например работая с тем же 1C.

        что касается остального — не совсем в теории не совсем в реальности потому как в разработке.




        1. kuld
          10.11.2015 12:44

          Вообще-то есть готовый пример в реальности
          www.tryton.org/ru
          Скриптовый, кросс-платформенный, открытый и GPL-свободный.
          Трехуровневая архитектура, модульность. И даже есть готовые модули с готовой бизнес-логикой.
          Что еще для полного счастья не хватает?


          1. caballero
            10.11.2015 14:53

            таких примеров много
            Во первых питон а не более распространенный php — но это не самое критичное.

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


  1. caballero
    08.11.2015 17:09
    +3

    я тоже знал нескольких. Все они писали в версии 2.0. Там програмирование сводилось к написанию формулок.
    Дальше потребовались программисты. Ну не стенет бухгалтер осваивать программирование — это не его работа. Если бы он хотел быть програмистом пошел бы в программисты.
    Так же как пользователи майкрософт офис не начинают изучать VBA


  1. affka
    08.11.2015 18:10
    +1

    Мне кажется, будущее за интеграцией все со всем, и 1С движется в этом плане в верном направлении, выпустив OData. Нужны специфичные отчеты для директора — дай задачу php/js разработчику, который через OData (или SOAP) вытащит нужные данные и сляпает отчет.

    > Движок 1С при работе с данными достаточно шустрый
    Что-то не слышал таких мнений от пользователей, на сервере с 16 гб оперативы, ssd диском 1с-ка (версии 8.2) жутко тормозит… и какие-нить «крутые» ребята из 1с-бит не знают как это исправить (видимо потому что проблема в платформе, а не конфигурации). А переносить базу на MSSQL — весьма затратно.


    1. caballero
      08.11.2015 18:24

      Мне кажется, будущее за интеграцией все со всем,

      да, говорят что это именуется web 3.0

      А переносить базу на MSSQL — весьма затратно.

      и не факт что поможет.
      зависит от того переписали они всю инфраструктуру хранилища или нет.
      В семерке таблицы mssql просто соответствовали таблицам DBF и, соответсвенно, обращение к ним было таким же как к dbf.
      Но в восмерке запросы вроде уже sql подобные.


      1. Haikson
        11.11.2015 10:20
        -1

        да, говорят что это именуется web 3.0

        Ну не хватило мне кармы, чтобы + поставить )


      1. affka
        11.11.2015 12:43

        согласно википедии, веб 3.0 — это другое…


    1. maledog
      09.11.2015 16:10
      +4

      на сервере с 16 гб оперативы, ssd диском 1с-ка

      пфф. 2*Xeon 3GHz 128 Gb DDR3ECC RAID50 MSSQL2008 40гиговая база 1с все равно тормозит. Говорят надо сервер мощнее, а то годовой отчет не сдадим.


  1. guai
    08.11.2015 19:36

    Дык и какие альтернативы-то, с чем сравниваем?


    1. lair
      08.11.2015 20:01

      Да вот


      1. guai
        08.11.2015 21:04
        +2

        сходил по ссылке — это анекдот :)
        всего не осилил, но успел вашему терпению поразиться


        1. skiedr
          08.11.2015 22:07

          Как я понимаю — цель оригинальной статьи создать продукт сходный с QuickBooks, который очень популярен у малого бизнеса на западе. В последних версиях имеется богатое API позволяющее строить собственные проекты. Конечно же для запада проще в области «отчетность для государства».


  1. palmich
    08.11.2015 21:37
    +1

    В нашей стране законодательство достаточно часто любит менять либо форму отчета, либо формат сдачи отчетности

    не добрые люди намекают на явную заинтересованность в этом в первую очередь компании 1С.


  1. 9ikopb
    09.11.2015 07:36
    +3

    но сейчас даже при больших объемах данных, пользователи не жалуются.

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

    Вся платформа 1С — история вечного перекидывания ответственности между системными администраторами и «программистами» 1С. Ответственности за то, почему 1С тормозит. Тормозит? Программисты говорят, что нужно добавить больше памяти. Всё равно тормозит? Админы просят программистов оптимизировать код. Всё равно тормозит? Круг замыкается.

    Серьёзно, какие проблемы в наше время могут быть с обработкой миллиона записей на современном сервере? А вот, оказывается, могут. Ведь предоставляемый язык ориентирован на бизнес-логику, как и предоставляемые программисты.


  1. leemuar
    09.11.2015 10:04

    Спасибо за статью.

    В пункте 2 вы смешиваете вместе два разных понятия: модульность как конструкции языка/платформы (например, namespace в других языках) и возможность хранения конфигурации/исходный код в наборе текстовых файлов. С версии платформы 8.3.6 реализована выгрузка всей конфигурации в файлы — это открывает новые возможности разработки, в том числе избавление от неудобств хранилища и использования современных VCS — Git, Mercurial, Bazaar и т.д.

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

    У платформы 1С есть недостатки, как у любого ПО. И самой фирме 1С о них хорошо известно. И они работают над их решением, насколько я знаю.

    Но такие люди как caballero нужны. Большинство лучших программных продуктов были созданы энтузиастами в попытке решить конкретные существующие проблемы. Git не появился бы, если Линус слушал аргументы «ты просто не умеешь использовать VCS». Его энтузиазм и желание над этим трудиться заслуживает как минимум уважения.


    1. develop7
      09.11.2015 16:20
      +1

      Git не появился бы, если Линус слушал аргументы «ты просто не умеешь использовать VCS»
      Git (и Mercurial) появился из-за отзыва разрешения разработчикам Linux бесплатно пользоваться BitKeeper


      1. leemuar
        09.11.2015 16:40
        -1

        В том числе, да.

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


        1. develop7
          09.11.2015 18:36

          допустим, и каких именно возможностей? и лучше всего было бы ответить ссылками на LKML.


  1. kuld
    09.11.2015 17:32
    +2

    То, что является сильной стороной — практически неограниченные возможности кастомизации + огромная армия обученных специалистов часто является проблемой.
    Пример. Есть некая организация ООО «Ручеек». Внедрили в ней в далеком 2001 году 7.7, удовлетворили все извращенные потребности генерального, его любовницы, коммерческого, главбуха и даже кладовщика Ивана Ивановича на складе в районе Рябиновой улицы. Так они и работали, дописывали что надо, допиливали. Наступил 2015 год и решили учредители вместе с руководством внедрить новейшую разработку 1С:ERP. А задачу ставят, так, что бы портировать всю извращенную логику нажитую за 14 лет в 7.7. Это ведь ценнейший интеллектуальный актив, нельзя его бросать же.
    И что удивительно, специалистов, готовых это сделать, выстроится в очередь 100500 штук, и официальных франчайзи и неофициальных фрилансеров. И специалистам этим будет на порядки проще написать в 1С:ERP все, что хочет заказчик, чем объяснить почему так делать нельзя.
    Угадайте, как оно все заработает, когда специалисты настроят и допишут все, что у них попросят заказчики.
    Но это уже совсем другая история…


  1. kanikeev
    10.11.2015 12:48

    Поправьте «неудачный опят внедрения»