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

Специфика узкого рынка

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

  • агентские системы для компаний, чьи торговые представители бегают по территории и собирают заказы;

  • складские системы – когда у вас огромный склад, и вам неудобно, чтобы сотрудник на погрузчике ехал из одного конца в другой, чтобы занести что-то в компьютер; 

  • экспедиторские системы, в которых нужно составить маршрут для водителей, и в каждой точке этого маршрута решить определенную бизнес-задачу; 

  • системы для руководителей, которым важно быстро видеть отчеты и иметь возможность сделать это в машине, на отдыхе, где угодно.  

В поисках этих решений начинается такой бизнес-трип. Вы заходите на Play Market, а там, пожалуйста – “Мобильная торговля” бесплатно. Качайте и ставьте. Вы качаете, получаете мобильное приложение, но оно не взаимодействует с вашей центральной базой, нужна интеграция. В рекламном буклете написано: интегрировано с “Управлением торговлей”. Но ваше “Управление торговлей” локализовано для вашего рынка. Интеграция в чистом виде не работает, нужно переделывать. Окей, переделали, заплатили денег за модификацию обмена с центральной базой, поставили это чудо на десяток телефонов сотрудников, изменили под это бизнес-процессы. И тут возникает главный вопрос – как изменить функционал приложения. 

И вот, условный клиент из страны X звонит в Россию, в офис условного “Агент XXX” и слезно просит: ребята, у меня в мобильном приложении есть 10 отчетов, но позарез нужен 11-й. В ответ, естественно, слышит дружное ржание. Он кидается к местному поставщику 1С-решений. Но исходных кодов у него нет, и ему остается только тоже звонить в Москву.  В ответ то же ржание: “Ты кто, франчайзи? Сколько у тебя копий в год? Десять? Иди лесом”. В результате наш клиент не получает ничего.

Приложения с Play Market – это модель “ешь, что дают”. Вы не в том положении, чтобы позвонить кому-то и сказать: добавьте мне модель учета скидки. Так не работает. 

Альтернатива такова: приходит на рынок борзый разработчик, предлагает написать мобильное приложение по вашим требованиям и просит за это от 5000 евро. У вас от такой суммы инфаркт, вы же привыкли к 1С, который стоит копейки. Поэтому вы ставите приложение с Play Market, собираете все кочки на этом пути и в итоге приходите к кастомному решению. 

Ценность открытого кода и защита от дураков

Первый фундаментальный момент – 1С-ные конфигурации поставляются в исходных кодах. Заказчик получает не просто программу, он получает исходный текст программы и, значит, может его модифицировать. Главное, что можно пригласить специалиста, и тот сделает необходимые модификации. 

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

Так вот, единственная защита от дураков – не подпускать этих дураков к коду, а заказывать грамотное сопровождение. Только так продукт будет доведен до ума, и вы получите именно то, что хотели. 

Почему 1С

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

В 1С точно найдена точка баланса: где закончилась основная архитектура и начинается кастомная доработка. Второй важный момент – распространение. Если 90% бизнеса ведет учет на 1С, ну что я ему противопоставлю? Я дорабатываю то, что у вас установлено. 

Инсайты заказчиков 

При работе с учетными системами у заказчика возникает два инсайта. Первый – процесс важнее системы. Маркетинговые стратегии построены так: есть чудесный продавец с чудесной программой, и как только вы ее купите, жизнь наладится. Это брехня. Автоматизация начинается с процесса, который нужно создать: первый сотрудник красит, второй пакует, третий возит. Причем первый красит строго в белый цвет, а третий возит из левого угла в правый. Вот когда вы создали и отладили процесс, можете искать в нем место для программных инструментов. 

Второй инсайт состоит в том, что качество важнее количества. Обычная боль типового заказчика учетной системы – это желание увидеть на мобильном устройстве большое количество реквизитов покупателей. И вот он приходит: в одной руке у него опыт использования простых и понятных Google Tasks, а в другой – желание уместить в заказ покупателя 250 реквизитов. Это каждый раз интересный опыт: убедить человека, что скорость важнее попытки показать на мобильном экране все 250 реквизитов заказа, что нужно фокусировать внимание пользователя на важном, а неважное засовывать под капот. Так что выбираем пять основных показателей, а не вываливаем на маленький экран всю эту бороду и судорожно пытаемся в ней разобраться. 

Коробки vs кастомная доработка

Еще один важный момент состоит в том, что 1С-ных изготовителей можно разделить на три категории. Первая – коробейники. Это конторки, которые занимаются перепродажей чужих конфигураций. В штате у них из технических специалистов – максимум установщик. Вы устанавливаете и подписываете договор сопровождения, скажем, на 350 долларов в год. Вам дают телефон консультанта и сажают на него девочку с улицы. Дальше конторка занимается тем, что раздражает клиентов. Если девочка достаточно глупая, клиент быстро устанет и отстанет. Цель конторки достигнута. 

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

Ну и третья категория - кастомные разработки под конкретного клиента. То есть когда разработчику звонят и говорят: знаете, два года назад мы купили у этих плохих людей конфигурацию, что-то работает, что-то нет, помогите. Этим, собственно, и занимаюсь я.

Михаил Шмундяк

Технический директор компании “Meta-Sistem” SRL

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


  1. BrennendeHerz
    14.02.2022 13:53
    +4

    Первый фундаментальный момент – 1С-ные конфигурации поставляются в исходных кодах. Заказчик получает не просто программу, он получает исходный текст программы и, значит, может его модифицировать.

    Тут есть тонкость. В исходных кодах поставляется только ваш труд, что сделано для того чтобы ваш труд он был более дешевым и заменимым, а труд разработчиков платформы незаменимым. То есть открытость 50% на 50%. И если фирме 1С взбредет в голову изменить систему лицензирования или какой-то из компонентов, то заменить ставший неудобным компонент на свой не удастся. Можно будет заменить только результат вашего труда на результат труда описываемых далее "специалистов".

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

    Увы, стратегия по низкому порогу входа и открытости вашего кода при закрытости кода платформы создана специально для того, чтобы не просто была возможность подпускать "этих дураков" к коду, но и чтобы это регулярно делать. Стабильность обеспечивается платформой и методикой заложенной в решения самой 1С. Доработки при этом 1) могут, 2) должны и 3) будут выполняться низкоквалифицированным персоналом. Это хлеб фирмы 1С, программисты являются комплиментарным продуктом к платформе и стратегия в том, чтобы он был простым и дешевым.

    Почему 1С. В 1С точно найдена точка баланса: где закончилась основная архитектура и начинается кастомная доработка. Второй важный момент – распространение. Если 90% бизнеса ведет учет на 1С, ну что я ему противопоставлю? Я дорабатываю то, что у вас установлено.

    Звучит слишком "маркетингово". Здесь точно нет лукавства? Обычно 1С для мобильной разработки выбирается тогда, когда сам исполнитель не может предложить иного решения. То есть является программистом или продавцом решений на платформе 1С и пытается заколачивать гвозди пилой. Ведь "при разработке пилы найдена точка баланса".

    Мысль из разряда "наш монолит написан на 1С, поэтому давайте все сервисы тоже писать на 1С".

    Если разработать решение на Kotlin или Java свободы его кастомизации будет несоизмеримо больше, риск пострадать от непредсказуемой лицензионной политики 1С будет отсутствовать, а обмен с серверной стороной 1С можно выполнять точно также как и в случае мобильной разработки на 1С. Проблема только в том, что Kotlin или Java для этого нужно уметь готовить.


    1. Neikist
      14.02.2022 15:30
      +1

      Обычно 1С для мобильной разработки выбирается тогда, когда сам исполнитель не может предложить иного решения. То есть является программистом или продавцом решений на платформе 1С и пытается заколачивать гвозди пилой. Ведь «при разработке пилы найдена точка баланса».

      Угу. До перехода на натив работал во франче, и 1с для мобилки для крупного заказчика выбрали по единственной причине. Мы ему нашу коробку допиливали и внедряли, и мобилку к ней писали с нуля. Ну а раз мы франч — то только 1с. Хотя 1с там вообще плохо подходила мобильная. В итоге конечно написали, но все равно в дополнении к приложению на 1с рядом еще добавилась пара нативных для андроида java приложений которые с 1сным интегрировались. Причем местами через дикие костыли.


    1. Meta-Sistem Автор
      15.02.2022 19:05

      -


    1. Meta-Sistem Автор
      15.02.2022 19:09

      - То, о чем Вы говорите, верно, но вторично.

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

      Что же касается "заменимости результата моего труда". Я писал об этом: мы занимаемся кастомными доработками и не очень фокусируемся на повторной продаже уже написанного кода. Поэтому я просто не вижу проблемы. Наш основной актив - не кодовая база, которая много раз перепродается (и, соответственно, следует беспокоиться о том, чтобы ее кто-нибудь не спер и не начал продавать от своего имени), а люди, наработавшие опыт и способные компетентно и быстро решать очередную проблему очередного клиента.

      - Вот Вам аналогия: съемное жилье и собственное. В съемном у Вас нет прав на капитальные переделки, и вся семья выстраивается за Вами в очередь в единственный сортир. В собсвенном - есть. При этом, однако, со свободой приходит ответственность: никто не может запретить Вам нанять для переделок бригаду гастарбайтеров из Средней Азии, но и обвинять в их косяках Вам будет некого, кроме себя.

      Поймите, программисты бывают разные. Постановщики задач бывают разные. Качество суппорта бывает разное. То, что рынок привык нанимать пионэров за копейки - правда, но этот же рынок и стонет потом от продуктов их жизнедеятельности. Дайте людям экспертизу постановщиков и пристойное качество исполнения - и можете ставить нормальный ценник и не бояться демпинга. А скупой, как обычно, заплатит дважды, и второй раз - как раз мне, в том числе и за то, чтобы я для начала разгреб кучу, оставленную пионэрами.

      - Что значит "обычно"? Вся моя статья, в сущности, есть список аргументов в пользу этого решения. Давайте я повторю их:

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

      2. время, в течение которого средняя бизнес-задача может быть решена на 1С, в среднем сильно меньше времени, которое потребуется потратить на нее на любой другой платформе. Модификации тоже делаются на порядок быстрее. На это есть много причин, вот одна, далеко не самая важная, но очень простая: единство терминологии и облигатный доступ к исходникам. Вам звонят и просят внести изменения в документ "Расходная накладная". Постановщик через AnyDesk запускает конфигуратор на сервере заказчика, отыскивает объект под названием РасходнаяНакладная и сходу дает коммерческую оценку. Да-да, работаем, нет-нет, спасибо, до свидания. Ну-ка, расскажите мне, как это будет выглядить на любой другой платформе? Недостатки же есть продолжение достоинств: платформа нишевая. Она предназначена для решения бизнес-задач: не более и не менее. Не нужно писать на ней систем реального времени, не нужно делать веб-сайтов, не нужно рисовать нестандартные интерфейсы. Ну так и не пишите, не делайте и не рисуйте - для этого есть другие инструменты, со своими достоинствами и недостатками.

      3. лицензионная политика здесь вообще не при чем - я уже писал об этом. Вы купили платформу, клиентские лицензии, больше никто не вправе заставить Вас платить, пока Вы не захотите купить что-то еще. Ну так и не покупайте: исходники у Вас есть - нанимайте сторонних подрядчиков и вперед.


  1. oWeRQ
    14.02.2022 14:03
    +1

    Так и не понял, что Вы подразумеваете под "1С", всегда счтал, что это название компании, у которой есть множество приложений. Для тех кто не в теме, про какие вообще "мобильные приложения на 1С" идет речь? В статье мелькает упоминание "открытого кода", если он открытый, где его посмотреть?


    1. efcadu
      15.02.2022 10:19
      +1

      У 1с есть "платформа" - он закрытая. Есть под Windows, Linux и мобильные системы (https://v8.1c.ru/tekhnologii/mobilnye-tekhnologii-1s/)

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

      "Мобильное приложение 1с", в общем случае - это мобильная платформа с запущенной в нее конфигурацией


    1. Meta-Sistem Автор
      15.02.2022 19:08

      Под "1С" я подразумеваю платформу "1С:Предприятие", на которой, действительно, написано множество приложений, которые в терминах компании 1С назваются "конфигурациями", и которые поставляются в исходных текстах. Аналогия: Microsoft Access - платформа, конкретная структура базы данных (включающая структуру таблиц, формы, отчеты, мкросы и модули) - конфигурация, экземпляр этой базы с конкретным набором данных - база, установленная у заказчика.
      Платфома "1С:Предприятие" может быть установлена на Windows, может - на Android. Конфигурация, предназначенная для эксплуатации на мобильных устройствах может быть запущена там, может - здесь.
      Открытый код конфигурации - зайдите в бухгалтерию, запустите 1С, нажмите кнопку "Конфигуратор", и, если у Вас есть пароль, вы получите доступ к исходным текстам той конфигурации, которую использует база данных, установленная в бухгалтерии. Открытый код мобильного приложения - в общем, то же самое.


  1. Ulrih
    15.02.2022 13:23

    Как будто на полуслове закончил, и где же эти самые преимущества?

    и еще вопрос - много "коробок" в мобильных приложения вы знаете которые реально продаются как готовые решения ?